dpouris / goster

🐹 Goster is a Go package to help you make micro-services and API's
MIT License
13 stars 0 forks source link

Implement GitHub Workflows for CI, Unit Tests, and Merging to Master #15

Open dpouris opened 3 months ago

dpouris commented 3 months ago

We need to add GitHub workflows for continuous integration (CI), running unit tests, and automating the merging process to master. This will streamline the development workflow, maintain code quality, and ensure that all changes are properly tested before being merged.

Goals:

  1. Continuous Integration (CI):

    • Set up a CI workflow to automatically build and test the code on every push and pull requesr.
    • Ensure compatibility with different Go versions and operating systems.
  2. Automated Merging to Master:

    • Ensure that all checks (build, tests, code quality) pass before allowing a merge.
    • Optionally, require code reviews before merging.

Tasks:

  1. Set Up CI Workflow:

    • Create a .github/workflows/ci.yml file to define the CI workflow.
    • Configure the workflow to run only when pushing to Master.
    • Include steps for checking out the code and running build.
  2. Configure Unit Test Workflow:

    • Create a .github/workflows/tests.yml file to define the unit test workflow.
    • Configure the workflow to run on every push and pull request.
    • Include steps for checking out the code, setting up Go, and running the tests.
    • Ensure that test results are reported and any failures are highlighted.
  3. Documentation:

    • Update the repository documentation to include instructions on the new GitHub workflows.
    • Provide guidelines for contributing to the project and ensuring that all checks pass before submitting a pull request.

Optionally, require code reviews before allowing a merge.

Impact: Implementing GitHub workflows for CI, unit tests, and merging to master will ensure that the project maintains high code quality. It will automate the testing and merging process, making it easier for contributors to collaborate and ensuring that all changes are properly vetted before being merged into the main codebase.

Priority: High

Estimated Effort: Small-Medium

Dependencies:

Next Steps:

  1. Set up the CI workflow in .github/workflows/ci.yml.
  2. Configure the unit test workflow in .github/workflows/tests.yml.
  3. Update the repository documentation with the new workflow details.
  4. Test the workflows to ensure they function as expected.