Skip to content

Release 1.27.0 #2774

@mangalpalli

Description

@mangalpalli

Prerequisites

  • Have at least Editor level access to agones-images project.
  • Have permission to publish new versions of the App Engine application.
  • Have write access to Agones GitHub repository.
  • Run git remote -v and see:
    • An origin remote that points to a personal fork of Agones, such as git@github.com:yourname/agones.git.
    • An upstream remote that points to git@github.com:googleforgames/agones.git.
  • Have a GitHub Personal Access Token with repo permissions.
  • Have a gcloud config configurations configuration called agones-images that points to the same project.
  • Edit access to the Agones Release Calendar

Steps

  • Run make shell and run gcloud config configurations activate agones-images.
  • Review closed issues with no milestone and add relevant ones to the current milestone.
    • Issues tagged as invalid, duplicate, question, wontfix, or area/meta can be ignored
  • Review closed issues in the current milestone to ensure that they have appropriate tags.
  • Review merged PRs that have no milestone and add them to the current milestone.
  • Review merged PRs in the current milestone to ensure that they have appropriate tags.
  • Ensure the next RC and stable releases in the Google Calendar have the correct version number.
  • Ensure the next version milestone is created.
  • Any issues in the current milestone that are not closed, move to next milestone.
  • If release candidate add the label feature-freeze-do-not-merge to any feature pull requests.
  • git checkout main && git pull --rebase upstream main
  • If full release, run make site-deploy SERVICE=1.27.0-1, (replace . with -)
    • For example, if you are creating the 1.18.0 release, then you would deploy the 1-17-0 service (release minus one, and then replace dots with dashes).
  • Run make gen-changelog to generate the CHANGELOG.md (if release candidate
    make gen-changelog RELEASE_VERSION=1.27.0-rc). You will need your
    GitHub Personal Access Token for this.
  • Ensure the helm tag value is correct (should be 1.27.0 if a full release, 1.27.0-rc if release candidate)
  • Ensure the helm Chart version values are correct (should be 1.27.0 if a full release, 1.27.0-rc if release candidate)
  • Update SDK Package Versions
  • Run make gen-install
  • Run make test-examples-on-gcr to ensure all example images exist on gcr.io/agones-images-
  • Create a draft release with the release template
    • Make a tag with the release version.
  • Site updated
    • Copy the draft release content into a new /site/content/en/blog/releases content (this will be what you send via email).
    • Review all link_test and data-proofer-ignore attributes and remove for link testing
    • If full release, review and remove all instances of the feature shortcode
    • If full release, add a link to previous version's documentation to nav dropdown.
    • config.toml updates:
      • If full release, update release_branch to the new release branch for 1.27.0.
      • If full release, update release-version with the new release version 1.27.0.
      • If full release, copy dev_supported_k8s to supported_k8s.
      • If full release, copy dev_aks_minor_supported_k8s to aks_minor_supported_k8s.
      • If full release, copy dev_minikube_minor_supported_k8s to minikube_minor_supported_k8s.
      • If full release, update documentation with updated example images tags.
  • Create PR with these changes, and merge them with an approval.
  • Run git remote update && git checkout main && git reset --hard upstream/main to ensure your code is in line
    with upstream (unless this is a hotfix, then do the same, but for the 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. (if release candidate:
      make sdk-publish-csharp RELEASE_VERSION=1.27.0-rc).
      Will need NuGet API Key from Agones account.
  • Run make do-release. (if release candidate: make do-release RELEASE_VERSION=1.27.0-rc) to create and push the docker images and helm chart.
  • Do a helm repo add agones https://agones.dev/chart/stable / helm repo update and verify that the new
    version is available via the command helm search repo agones --versions --devel.
  • Do a helm install --namespace=agones-system agones agones/agones
    (helm install --namespace=agones-system agones agones/agones --version=1.27.0-rc if release candidate) and a smoke test to confirm everything is working.
  • Attach all assets found in the release folder to the draft GitHub Release.
  • If release candidate check the pre-release box on the draft GitHub Release
  • Copy any review changes from the release blog post into the draft GitHub release.
  • Publish the draft GitHub Release.
  • Email the mailing list with the release details (copy-paste the release blog post).
  • Paste the announcement blog post to the #users Slack group.
  • Post to the agonesdev Twitter account.
  • If full release, run git checkout main.
  • If full release, then increment the base_version in build/Makefile
  • If full release move helm tag value is set to 1.27.0+1-dev
  • If full release move the helm Chart version values is to 1.27.0+1-dev
  • If full release, change to the sdks/nodejs directory and run the command npm version 1.27.0+1-dev to update the package version
  • If full release move the sdks/csharp/sdk/AgonesSDK.nuspec and sdks/csharp/sdk/csharp-sdk.csproj to 1.27.0+1-dev
  • If full release update the [sdks/unity/package.json][unity] package file's Version field to 1.27.0+1-dev
  • If full release, remove feature-freeze-do-not-merge labels from all pull requests
  • Run make gen-install gen-api-docs
  • Create PR with these changes, and merge them with approval
  • Close this issue.
  • If full release, close the current milestone. Congratulations! - the release is now complete! 🎉 👏 😄 👍

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions