Release Process
2 minute read
Releases are coordinated by the United Manufacturing Hub team. All the features and bug fixes due for a release are tracked in the internal project board.
Once all the features and bug fixes for a release are ready and merged into the
main
branch, the release process can start.
Prerelease
The prerelease process is used to test the release before it is published. If bugs are found during the prerelease, they can be fixed and the release process can be restarted. Once the prerelease is finished, the release can be published.
Create a prerelease branch from
main
:git checkout main git pull git checkout -b <next-version>-prerelease1
Update the
version
andappVersion
fields in theChart.yaml
file to the next version:version: <next-version>-prerelease1 appVersion: <next-version>-prerelease1
Navigate to the
deployment/helm-repo
directory and run the following commands:helm package ../united-manufacturing-hub helm repo index --url https://v<next-version>-prerelease1.united-manufacturing-hub.pages.dev --merge index.yaml .
Pay attantion to use
-
instead of.
as a separator in<next-version>
.Commit and push the changes:
git add . git commit -m "build: <next-version>-prerelease1" git push origin <next-version>-prerelease1
Test
All the new releases must be thoroughly tested before they can be published. This includes specific tests for the new features and bug fixes, as well as general tests for the whole stack.
General tests include, but are not limited to:
- Deploy the stack with flatcar
- Upgrade the stack from the previous version
- Deploy the stack on Karbon 300 and test with real sensors
If any bugs are found during the testing phase, they must be fixed and pushed to the prerelease branch. Multiple prerelease versions can be created if necessary.
Release
Once all the tests have passed, the release can be published. Merge the
prerelease branch into main
and create a new release branch.
Create a release branch from
main
:git checkout main git pull git checkout -b <next-version>
Update the
version
andappVersion
fields in theChart.yaml
file to the next version:version: <next-version> appVersion: <next-version>
Navigate to the
deployment/helm-repo
directory and run the following commands:helm package ../united-manufacturing-hub helm repo index --url https://repo.umh.app --merge index.yaml .
Commit and push the changes, tagging the release:
git add . git commit -m "build: <next-version>" git tag <next-version> git push origin <next-version> --tags
Merge the release branch into
main
and create a new release from the tag on GitHub.