Skip to content

Patch Release 1.52.2 #4292

@igooch

Description

@igooch

Patch Release 1.52.2

Modified release steps for creating a release patch version.

Includes the 1.52.1 patch release (the fix for the Bitnami image #4270), and the cherry picked commit fix for the hard coded main build in the release automation #4291.

Note: "If needed" means if this step only needs to be done if it was modified as part of the patch release or otherwise should be updated.

Prerequisites

  • Editor-level access to the agones-images project.
  • Permission to publish new versions of the App Engine application.
  • Write access to the Agones GitHub repository.
  • git remote -v should show:
    • An origin remote pointing to your personal Agones fork (e.g., git@github.com:yourname/agones.git).
    • An upstream remote pointing to git@github.com:googleforgames/agones.git.
  • A gcloud config configurations configuration named agones-images pointing to the same project.
  • Edit access to the Agones Release Calendar.
  • Approval for any modifications to the Release Title and Description

Steps

  • Run make shell and run gcloud config configurations activate agones-images.
  • Create a new branch for the patch release, and base it off of the previous patch release. Note: In future releases this should be done with make create-patch-release-branch PREVIOUS_VERSION=1.52.1 PATCH_VERSION=1.52.2.
    • Run git remote update -p
    • Run git fetch upstream --tags
    • Run git checkout -b release-1.52.2 v1.52.1
    • Run git status to confirm you are on the expected branch name.
    • Run git log to confirm the most recent commits are what you expect. (They should be the same as the release tagged v1.52.1.)
    • Run git push -u upstream release-1.52.2
  • Ensure all example images exist on agones-images/examples repository and to deploy the 1.52.0-1 service on GCP/App Engine/Services. Note: in future releases this should be done with make pre-build-release.
    • Run cd build/release.
    • From within the agones/build/release directory run gcloud builds submit . --config=./pre_cloudbuild.yaml --substitutions=_BRANCH_NAME=release-1.52.0.
  • Run git cherry-pick 641286c8477e6443c83ac02b24f5d30857c293b6 to pick up the changes in Updates the build scripts to allow for a patch release #4291.
  • From within the agones/build directory run make sdk-update-version release_stage=patch version=1.52.1 to increment the previous version by 1 to 1.52.2 in the build/Makefile as well as the SDK files.
  • Update _BASE_VERSION in cloudbuild.yaml to 1.52.2.
  • Create a draft release with the release template.
    • Run make release-example-image-markdown to populate example images and append the output in Images available with this release section
    • Draft a new release with release draft. Update the Tag version and Release title with the release version and click on Generate release notes to generate the release notes with Full Changelog info for 1.52.2. Make sure to add the description. Include the Images available with this release section from the previous step that will be present after the Full Changelog and save the draft.
    • Copy the 1.52.2 release details from the Full Changelog and paste it on top of the CHANGELOG.md file
  • Site updated
    • Create a new file named 1.52.2.md in /site/content/en/blog/releases. Copy the draft release content in this file (this will be what you send via email)[refer the previous release file].
    • Run make site-server frequently to make sure everything looks fine for the release in your localhost
    • If needed: In site/content/en/docs/Installation/_index.md #agones-and-kubernetes-supported-versions, for the current version, replace {{% k8s-version %}} with hardcoded Kubernetes versions supported by the current version. And add a row for the Agones release version with {{% k8s-version %}} as its supported Kubernetes versions.
    • Run make del-data-proofer-ignore FILENAME=1.52.2-1.md to remove the data-proofer-ignore attribute from the previous release blog. Review all occurrences of the link_test and data-proofer-ignore attributes globally. Exclude html and release files.
    • If needed: Add a link to previous version's documentation to nav dropdown in site/layouts/partials/navbar.html on top and Run make update-navbar-version FILENAME=site/layouts/partials/navbar.html to remove the older version from the dropdown list.
    • config.toml updates:
      • Run make make site-config-update-version release_stage=patch to update the release version and sync data between dev and prod.
      • If needed: Update documentation with updated example images tags.
  • If needed: Ensure that the alphaGates and betaGates for "Dev" in test/upgrade/versionMap.yaml
    match the Alpha features and Beta features in the patch release branch's pkg/util/runtime/features.go.
  • Create PR with these changes, and merge them with an approval.
  • Run git remote update && git checkout release-1.52.2 && git reset --hard upstream/release-1.52.2 to ensure your code is in line with the upstream patch release branch.
  • Publish SDK packages
    • Run make sdk-shell-node to get interactive shell to publish node package. Requires Google internal process to publish.
    • Run make sdk-publish-csharp to deploy to NuGet. Requires login credentials. Will need NuGet API Key from Agones account.
    • Run make sdk-publish-rust. This command executes cargo login for authentication, performs a dry-run publish, and if that succeeds, does the actual publish. Will need crate's API TOKEN from your crate's account.
  • Run make post-build-release to build the artifacts in GCS (These files will be attached in the release notes) and to push the latest images in the release repository and push chart on agones-chart.
  • Run make tag-deprecated-images to tag images from the previous version with a deprecated-public-image-<version> label, indicating they are no longer actively maintained.
  • Run make shell and run gcloud config configurations activate <your development project> to switch Agones development tooling off of the agones-images project within the shell. Run exit to exit the shell.
  • Run gcloud config configurations activate <your development project> to make sure Agones development tooling is off of the agones-images project in your terminal.
  • Smoke Test: run make install-release to view helm releases, uninstall agones-system namespace, fetch the latest version of Agones, verify the new version, installing agones-system namespace, and list all the pods of agones-system.
  • Attach all assets found in cloud storage with 1.52.2 to the draft GitHub Release.
  • Copy any review changes from the release blog post into the draft GitHub release.
  • Publish the draft GitHub Release.
  • Run git checkout main && git pull upstream main && git checkout -b post-release-1.52.2.
  • In test/sdk/go/Makefile, change release_version to 1.52.2.
    • Run make shell and execute gcloud config configurations activate agones-images.
    • Within the shell, cd to the test/sdk/go/ directory and run make cloud-build.
  • Verify and update Kubernetes version support and Agones version mappings in test/upgrade/versionMap.yaml.
    • Update ReleaseVersion to the current release 1.52.2.
  • Create a PR with these changes and merge into the patch release branch with approval.
  • Email mailing lists with the release details (copy-paste the release blog post). Refer to the Internal Mailing list posting guide for details.
  • Paste the announcement blog post to the #users Slack group.
  • Post to the agonesdev Twitter account.
  • Close this issue. Congratulations! - the patch release is now complete! 🎉 👏 😄 👍

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions