Project Workflow

✨ Start an Iteration

Each iteration on this repository will be tracked by a GitHub Milestone. The completion of the milestone will queue a GitHub Release. Issues will be added to the milestones to indicate work needed. After completion, this milestone can then act as a list of work contained within a release.

🔀 Pull Request

Attach Issue

Each pull request MUST be attached to an issue. On the surface, this ensures that closing a pull request will close an issue. This also ensures the issue can be included in the milestone. For this repository, the use of issues assists the team to use the project board to track the progress towards a milestone.


Each pull request is validated by the Pull Request Validation GitHub Action. This action can be viewed from the PR or from the actions to inspect the details.


All pull requests require a review from a Contributor but any reviewers are welcome.

🏁 Create a Release

At the end of an iteration aka when a milestone is complete, a release can be created.


  1. Raise version number in
  2. Close Milestone
  3. Edit Release details (optional)

Release Workflow

Closing the milestone queues the Release Build GitHub Action. This action is designed to reduce the effort by maintainers and give the community an open view of the package flow.

  • Build package
  • Create dependency graph
  • Upload package to PyPi
  • Validate PyPi package
  • Upload package and graph to GitHub Workflow
  • Create Release
  • Upload zipped package and graph to Release
  • Update GitHub Pages Documentation