Skip to content

1.5.4-gcm.0

Compare
Choose a tag to compare
@maelvls maelvls released this 06 Oct 10:35
· 21 commits to main since this release

To install this version, please follow the instructions on the README.md (1.5).

Changelog

Upgrade instructions

Notes

📦 Recording of the manual steps of the release process

Since we do not have yet a CD pipeline that would do the work, we prefer documenting every step of the manual process on every single release in order to (1) have a record of what has been done, and (2) be able to remember how to release for the next time.

Information about this release:

(fill this table after you are done with the below steps)

README.md https://github.com/jetstack/jetstack-secure-gcm/blob/release-1.5/README.md
deployer image gcr.io/jetstack-public/jetstack-secure-for-cert-manager/deployer:1.5.4-gcm.0
deployer digest ce405dd6f8e4
git tag 1.5.4-gcm.0
git commit 902a15a
retag logs https://console.cloud.google.com/cloud-build/builds/80a83cbd-9ff5-4f8d-ab81-71b650b623ac?project=885059085598
deployer logs https://console.cloud.google.com/cloud-build/builds/f5ced2aa-3c04-4b50-b3ec-8f0126d13500?project=885059085598

Step-by-step process followed:

  • Set the following variables in your shell session. The APP_VERSION corresponds to the release of GCM that you plan on doing. For the other _TAG variables, pick the latest git tag of each project.

    APP_VERSION="1.5.4-gcm.0"
    BRANCH=release-1.5
    CERT_MANAGER_TAG="v1.5.4"
    JETSTACK_AGENT_TAG="v0.1.31"
    GOOGLE_CAS_ISSUER_TAG="v0.5.2"
    GOOGLE_CAS_ISSUER_TAG_DOCKER="0.5.2" # same as above, but without the 'v'
  • Update the above table with the README.md link.

  • ⚠️ Copy any "new" Role or ClusterRole into the schema.yaml:

    # From the cert-manager repo:
    git fetch --tags
    git diff v1.4.3 v1.5.3 -- deploy/charts/cert-manager/templates
    
    # From google-cas-issuer repo:
    git fetch --tags
    git diff v0.3.0 v0.5.2 -- config/
  • Make sure to be logged in with gcloud and to have the "Editor" role on
    the jetstack-public repo:

    gcloud config set project jetstack-public
  • Create the smoke-test cluster. When not using it, we remove the cluster.

    gcloud container clusters create smoke-test --project=jetstack-public --zone=europe-west2-b --workload-pool=jetstack-public.svc.id.goog --num-nodes=2 --async
  • Retag the images with the correct licenses using Cloud Build:

    gcloud builds submit --project jetstack-public --config cloudbuild-retag-with-licenses.yaml --substitutions \
        _APP_VERSION=$APP_VERSION,_CERT_MANAGER_TAG=$CERT_MANAGER_TAG,_JETSTACK_AGENT_TAG=$JETSTACK_AGENT_TAG,_GOOGLE_CAS_ISSUER_TAG=$GOOGLE_CAS_ISSUER_TAG,_GOOGLE_CAS_ISSUER_TAG_DOCKER=$GOOGLE_CAS_ISSUER_TAG_DOCKER
  • Copy the link to the Cloud Build logs into the table above (row "retag logs").

  • Run the following command that will update the app version in schema.yaml:

    # You must be in the jetstack/jetstack-secure-gcm repo folder.
    sed -i~ "s/publishedVersion: .*/publishedVersion: $APP_VERSION/" schema.yaml
    git add schema.yaml
    git commit -m "bump version to $APP_VERSION" --edit
  • Copy and paste that commit hash into the above table. You will create the tag later on.

  • Build the deployer image:

    gcloud builds submit --project jetstack-public --timeout 1800s --config cloudbuild.yaml \
      --substitutions _CLUSTER_NAME=smoke-test,_CLUSTER_LOCATION=europe-west2-b,_APP_MINOR_VERSION=$(awk 'BEGIN {FS="."}; {print $1 "." $2}' <<<$APP_VERSION),_APP_VERSION=$APP_VERSION
  • Copy the link to the Cloud Build logs into the table above (row "deployer logs").

  • Tag the commit you created above:

    git tag $APP_VERSION
    git push --tags
  • Delete the smoke-test cluster.

    gcloud container clusters delete smoke-test --zone=europe-west2-b --async --project jetstack-public
  • Add the image digest to the table above by running:

    gcloud container images list-tags gcr.io/jetstack-public/jetstack-secure-for-cert-manager/deployer --limit=1
  • Go to the GitHub Releases and click "Edit tag", and then:

    1. Set the "Release title" to the name of the tag,
    2. Add this current Markdown <details> block _+ the release notes to the release description,
    3. Click "Save Draft"
    4. Don't forget to update the <details> block with any change or addition to the release process.
  • Go to the solution admin UI, click "Update the image" and "Save". After saving, go to the solution page and click "Submit for review" (you must be "Editor" of the jetstack-public project):
    To update the already released minor version, first open the existing minor version by clicking on the version itself (it is a link). This screenshot is stored in this issue: https://github.com/jetstack/jetstack-secure-gcm/issues/21
    Then, click on Update images and Save. This screenshot is stored in this issue: https://github.com/jetstack/jetstack-secure-gcm/issues/21
    The solution admin page has a button 'Submit for review' at the bottom that must be clicked in order to get the new version reviewed by Google. This screenshot is stored in this issue: https://github.com/jetstack/jetstack-secure-gcm/issues/21

  • Finally, when the solution is reviewed, open the GitHub release and click
    "Publish".