First off, thank you for considering contributing to this project! It's people like you that make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
-
Fork the repository on GitHub.
-
Clone your fork locally:
git clone https://github.com/your-username/python-unit-testing.git cd python-unit-testing -
Create a new branch for your feature or fix:
git checkout -b feature/amazing-new-feature
We want to keep the codebase clean and consistent. Before submitting your code, please ensure it passes the same quality checks that this Action enforces:
You can run these tools locally to verify your changes:
# Example local checks
yamllint .
pytest .Crucial Step: All substantive changes (features, fixes, breaking changes) must be documented.
- Open
CHANGELOG.md. - Add a bullet point describing your change under the
[Unreleased]section. - Follow the format:
* Description of change (@your-username)
-
Push your branch to GitHub:
git push origin feature/amazing-new-feature
-
Open a Pull Request against the
mainbranch. -
Fill out the PR Template: Describe your changes clearly and link to any relevant issues (e.g.,
Fixes #123). -
Wait for CI: Ensure all GitHub Actions workflows (Tests, Linting, Changelog Check) pass.
This repository uses a specific workflow to handle semantic versioning and "floating tags"
(e.g., keeping v1 pointing to the latest v1.x.x release).
When a PR is merged to main with a valid CHANGELOG.md entry:
- The system automatically detects the version bump.
- A new release is created with notes from the changelog.
- The major version tag (e.g.,
v1) is automatically moved to the new release.
If you need to manually retarget the major version tag (e.g., v1) to a specific release (e.g., v1.0.1),
use the following commands locally:
# 1. Delete the old major version tag locally and remotely
git tag -d v1
git push origin --delete v1
# 2. Create the tag pointing to the specific commit/release
git tag v1 v1.0.1
git push origin v1