💚 Add CI workflow for automated testing and code coverage reporting #33
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This pull request introduces a Continuous Integration (CI) workflow using GitHub Actions to automate the testing process and report code coverage for every push and pull request. The CI workflow ensures that the codebase remains stable and well-tested throughout the development process.
Key Features of the CI Workflow:
Triggered by Push and Pull Requests:
Setup of the Python Environment:
actions/setup-python@v2
action to set up a Python environment with the specified version (3.x
).Dependency Installation:
pip
to the latest version.coverage
,codecov
, andpytest
for running tests and generating coverage reports.packages/requirements-dev.txt
file.Automated Testing:
pytest
with coverage tracking enabled. This ensures that every code change is validated by the existing tests.Code Coverage Reporting:
codecov
tool, which integrates with GitHub to display coverage metrics directly in the pull request.Security:
CODECOV_TOKEN
) stored in the repository’s secrets, ensuring secure communication with the Codecov service.Benefits:
After merging this pull request, the CI workflow will be automatically triggered for all subsequent pushes and pull requests, helping to maintain a high standard of code quality and reliability in the project.