Releases for this repo are managed by release-please. Configurations for release-please can be found in the release-please.yml file.
Note: You may notice that the configuration is specific to the anthos-bm-gcp-terraform sample. This is because that is the only sample we continuosuly run tests on, update Anthos versions and validate against new versions of Terraform.
Releases are automatically triggered by the release-please bot based on commit messages and pull-request titles. Read the information on the release-please github repository for details on how the type of release is decided by the bot. A release for this repository basically means that we tag the latest state of the main branch with the release version.
Whenever it is time for a release, release-please will trigger a release pull-request. See this example pull-request. Few things to check before merging a release pull-request:
-
Make sure that all the CI tests pass.
-
Release please will automatically update the Terraform version in the versions.tf with the release version. This is an issue with the Terraform releaser plugin of the release-please bot. So we should edit the pull-request (we can do this directly in Github) to revert this change. (See example revert)
-
Check if a latest version of the NFS CSI Driver is available. You can find the releases versions here. If available update the references for the NFS CSI driver to the latest version.
- outputs.tf
- install_abm.sh
- nfs.md (Line 30)
Once you have verified the above, you can go ahead and merge the release pull-request 🚀
We use the GoogleCloudPlatform/cloud-foundation-toolkit (CFT) for out integration tests. Thus, the versions of tools used during our integration tests are reliant on the versions installed inside the docker image of the cloud-foundation-toolkit we reference in our test suite.
Thus, we update tools we rely on (e.g. Terraform) based on the latest supported versions in the GoogleCloudPlatform/cloud-foundation-toolkit. We can check what are the versions supported by the CFT by looking at the infra/build/Makefile in the CFT repository under the release version tag of interest.
For example v0.4.4 of the CFT uses Terraform version 1.1.7. If we want our samples to use this version of the CFT then we have to update references to the CFT docker image in our repository to point to the version set for DOCKER_TAG_VERSION_DEVELOPER_TOOLS; which is 1.4.13 in this example. The places where you will have to update this version are: