Default community health files for ProseGrinder.
Workflows are designed based on Conventional Commits.
In general, workflows should follow this pattern:
- Default (typically main) is protected and only updated via PRs.
- Every PR should pass linting and tests, found in the language’s CI workflow
- On merge, the release workflow should
The following are reusable workflows per language.
Conventional commits will drive versioning via the Python implementation of commitizen.
- Poetry Lint: Runs
pylint
andblack
. - Poetry Test: Runs
pytest
tests. - Poetry CI:
- Invoke on
push
to PR branch. - MUST pass in order to merge PR.
- Combines Lint and Test into a single workflow.
- Invoke on
- Poetry Release
- Invoke on
push
tomain
, typically via PR merge. - Bumps the project version and generates a changelog via Commitizen, based on Conventional Commits.
- Tags the project and pushes changes to main.
- Creates a GitHub release based on the tag and the changelog created by Commitizen.
- Invoke on
- Poetry Publish
- Invoke on
tag
, typically via Poetry Release. - Builds the project.
- Optionally publishes to PyPi test. See workflow for details.
- Publish to PyPi.
- Invoke on