-
Notifications
You must be signed in to change notification settings - Fork 3
Contributing to Companion
Interaction with this repository should follow the usual guidelines such as:
- work in personal forks
- commit into feature branches
- issue pull requests, merge if tests pass
Please do not push to master
directly, unless issuing a hotfix.
We use GitHub Actions for automating testing and release process.
-
Any PR to master branch will trigger the test-on-pr.yml workflow, which runs the test suite as well as a short pipeline run with default parameters.
-
When something is pushed to master (whether by PR merge or stand-alone hotfix push), the release-on-merge.yml workflow is triggered. This will analyse the commit message to determine whether the change constitutes a major, minor or patch (see Angular's commit message guidelines), create the appropriate tag, bump the version number in .version with an automated commit, and finally create a draft release (for major or minor changes only). E.g. if the following commit message is detected as part of the push to v1.0.1
feature: this is a minor change
a tag would be created and a release would be drafted for v1.1.0. If an emergency hotfix is then pushed directly to master with commit message
fix: this is a hotfix
a tag would be created for v1.1.1, but there would be no draft release (this would have to be created manually by the developer) (for major change, we recommend using the breaking type).
-
When a release is published (e.g. a draft release is converted to a full release manually by the developer), the docker-push-on-release.yml workflow is triggered. This will build a new Docker image and push to the uofgiii/companion repo on Docker Hub (tagged with its version number and also latest).