On every new tag matching v*
pushed to the repository a Github Action Release
Workflow is executed.
The Github Actions release workflow
uses goreleaser
(configuration
file) and automatically creates/pushes:
- Release artifacts for
govc
andvcsim
to the release page, includingLICENSE.txt
,README
andCHANGELOG
- Docker images for
vmware/govc
andvmware/vcsim
to Docker Hub - Source code
git checkout master
git fetch -avp
git diff master origin/master
# if your local and remote branches diverge run
git pull origin/master
origin
to point to the remote
https://github.com/vmware/govmomi
, respectively
[email protected]:vmware/govmomi
.
make doc
./scripts/contributors.sh
if [ -z "$(git status --porcelain)" ]; then
echo "working directory clean: proceed with release"
else
echo "working directory dirty: please commit changes"
fi
This variable is used and referenced in the subsequent commands. Set it to the upcoming release version, adhering to the semantic versioning scheme:
export RELEASE_VERSION=v0.27.0
git tag -a ${RELEASE_VERSION} -m "Release ${RELEASE_VERSION}"
# Will trigger Github Actions Release Workflow
git push origin refs/tags/${RELEASE_VERSION}
After pushing a new release tag, the status of the workflow can be inspected here.
After a successful release, a pull request is automatically created by the
Github Actions bot to update the CHANGELOG. This CHANGELOG.md
is also generated with git-chglog
but uses a slightly different template
(.chglog/CHANGELOG.tpl.md
) for rendering (issue/PR refs are excluded).