-
Notifications
You must be signed in to change notification settings - Fork 9
Release Workflow
Sara Lambert edited this page Apr 21, 2023
·
6 revisions
This document describes the process of releasing a new stable image tag/version for V2 Workbench.
- Roll versions forward, synchronize Swagger specs (copy server -> client + regen)
- workbench-apiserver-python
-
openapi/swagger-v1.yml
: Read by /api/v1/version endpoint and github actions
-
- workbench-webui
-
public/swagger.yml
: This should match the version from API server -
package.json
: Read by /api/v1/version endpoint and github actions
-
- workbench-apiserver-python
- (Optional) create release branch, test until ready to merge
-
git checkout main && git pull origin release-x.x.x && git push origin main
- Pushes to
main
will trigger new Docker images to be built and pushed automatically - MAKE SURE that versions are rolled before pushing to main, or you will overwrite the existing version tags
- Pushes to
Repeat the same procedure for workbench-helm-chart
:
- Wait for newly-tagged resources above to automatically finish pushing the new Docker images
- Roll versions forward to use the new Docker image tags
- workbench-helm-chart
-
values.yaml
: NDS Labs API Server + UI Docker image version tags
-
- workbench-helm-chart
- (Optional) create release branch and test
- Run a quick smoke test with newly-tagged resources
- Checkout
main
, pull in release branch (ordevelop
), push tomain
git checkout main && git pull origin release-x.x.x && git push origin main
- Update documentation
- Create a new tag from
main
with the new version number (freshly tested and stable)- Add CHANGELOG / patch notes here for full release that contains a description of the changes
- Pin to new version/tag/branch/commit in subrepos of top-level
ndslabs
repo
Backport any missing changes from main
into develop
- This should include, at the very least, a commit from the release branch that rolls forward to new version numbers
git checkout develop && git pull origin main && git push origin develop
- Aside: Why does this not work with a PR?
- ndslabs v1.x
-
: NDS Labs swagger API spec version numbergui/swagger.yaml
-
: NDS Labs CLI version number / build dateapiserver/cmd/clientVersion.go
-
: NDS Labs UI / webserver NPM package version numbergui/package.json
-
: NDS Labs UI Angular app build version numbergui/ConfigModule.js
-
- kubeadm-bootstrap v1.x
-
: Kubernetes / Docker version numbersinstall-kubeadm.bash
-
: Helm version numbersinit-master.bash
-
- kubeadm-terraform v1.x
-
: git release/tag/version numberassets/bootstrap.sh
-