-
Notifications
You must be signed in to change notification settings - Fork 3
GitHub Workflows
All workflows are stored in .github/workflows/
.
A release branch is any branch whose name matches the following regex:
[0-9]\.[0-9]\.[0-9]
When a branch with this naming convention is created, the
update-version-files.yaml
workflow is triggered. This workflow updates three
version references in three separate files to match the name of the new release
branch, then commits the changes to the new branch:
readme.md
src/lib/version
src/cli/setup.py
Developers must run git pull
after this workflow completes to ensure the local
branch remains in sync with the remote branch.
git checkout -B 3.0.0
git push --set-upstream origin 3.0.0
# Wait a few seconds for the workflow to run
git pull
When a PR is created from a release branch and targets master
, the following
workflows are triggered:
lib-tests.yaml
cli-tests.yaml
test-release.yaml
The first two workflows automate the tests described in testing
overview.
The test-release.yaml
workflow creates a draft release and tag (0.0.0
) with
the release branch as its target. This allows for the testing suite to have
access to an updated Minitrino library reflective of the current state of the
release branch.
Upon completion of the code tests and the merging of a feature branch PR into
master
, the release.yaml
workflow is triggered. This workflow:
- Creates a release whose name matches the name of the PR branch (e.g.
3.0.0
) - Publishes the release and marks it as
latest
- Builds the CLI package and publishes it to PyPi