Release Instructions - adesutherland/vm-370 GitHub Wiki
Branches
- master - Main Branch - only the release manager should merge into it after checking quality
- develop - Main development branch. Trivial changes done here, or squash commits from a feature branch
- feature/fnnnn - Feature Branches - where development happens
Release Types and Tags
- Full e.g. v1.4.5 (also docker tagged latest - current release)
- Test e.g. v1.4.5.test (also docker tagged test - current test release)
- Builder e.g. v1.4.5.builder (also docker tagged builder - current build release). For using GCCLIB for downstream builds.
History
Release history should be added to file changelog.txt as well as to the Release History Wiki Page
Pull Requests (GitHub)
TBC - Currently we do not use pull requests (but we should)
Dev Workflow
0. Prelude
git fetch
git status
1. Create a feature branch
git checkout develop
git checkout -b feature/f000n
2. Changes / debugging
git fetch
git status
git add *
git commit -m "blah blah"
REPEAT :-)
3. Tested and ready to get it into develop as one simple commit
git checkout develop
git merge --squash feature/f00xx
git commit -m "f00xx"
git push
4. Delete Unwanted feature branch (i.e. AFTER merge to develop)
git branch -d feature/f00xx
git push origin --delete feature/f00xx
5. Tag a pre-release (will cause a release build draft in github)
git tag f000n
git push origin f000n
6. Delete Tag
git tag -d f00xx
git push --delete origin f00xx
7. Merge into master
git checkout master
git merge develop
git push
8. Tag to create a release (this also creates an image in DockerHub)
git tag v1.x.y
git push origin v1.x.y
Publish the created draft release in the GitHub web console, and tag image in DockerHub (see next).
9. Docker Tagging (builder, test and latest)
docker pull adriansutherland/vm370:1.x.y
docker tag adriansutherland/vm370:1.x.y adriansutherland/vm370:builder
docker push adriansutherland/vm370:builder
10. Upload Image to Google Cloud
GCLOUD SDK needs to be installed, then linked to Docker Desktop:
gcloud auth configure-docker
Then you can push image to Google
docker tag adriansutherland/vm370:test gcr.io/utility-ridge-243715/vm370:test
docker push gcr.io/utility-ridge-243715/vm370:test