This issue can be closed when we have completed the following steps (in order).
Please ensure all artifacts (PRs, workflow runs, Tweets, etc) are linked from
this issue for posterity. Assuming vX.Y.Z-up.1 is being cut, after upstream
crossplane/crossplanevX.Y.Z has been released
according to the declared schedule, you should have:
[x] Created, or synced if already present, the release-X.Y release branch in upbound/crossplane, with upstream crossplane/crossplane release branch, up to the vX.Y.Z tag, adding any required change specific to the fork, see here for more details.
[x] Cut upbound/crossplanevX.Y.Z-up.1 release from the release-X.Y branch by:
[x] Running the Tag workflow on the release-X.Y branch with the proper release version, vX.Y.Z-up.1. Message suggested but not required: Release vX.Y.Z-up.1.
[x] Running the CI workflow on the release-X.Y branch to build and publish the latest tagged artifacts.
[x] You should now be able to run: docker pull xpkg.upbound.io/upbound/crossplane:vX.Y.Z-up.1
[x] Created the release-X.Y branch from main branch in UXP.
From this point on we had to differ w.r.t. the standard release process because we were releasing an RC, below is the actual things we had to do.
[x] Cut UXPvX.Y.Z-up.K.rc.N release from the main branch by:
[x] Running the Tag workflow on the main branch with the proper release version, vX.Y.Z-up.K.rc.N. Message suggested but not required: Release vX.Y.Z-up.K.rc.N.
[x] Running the CI workflow on the main branch to build and publish the latest tagged artifacts.
[x] Verify that the tagged build version exists on the releases.upbound.iomain channel, e.g. main/vX.Y.Z-up.K.rc.N/...
[x] Verify the produced helm chart available in the main channel at main/vX.Y.Z-up.K.rc.N/charts by doing some sanity checks:
[x] Installs on a cluster properly with helm -n upbound-system upgrade --install universal-crossplane <path-to-chart.tgz> --create-namespace.
[x] Uses the correct image versions of upbound/crossplane, e.g. kubectl -n upbound-system get pods -o yaml | grep image:
[x] Upgrading from the latest supported version works, for example run:
create a kind cluster: kind create cluster
install the current stable version: up uxp install
install one of the above reference platforms
upgrade to this new version as above: helm -n upbound-system upgrade --install universal-crossplane <path-to-chart.tgz> --create-namespace
[x] Verify everything is correctly working by running up uxp install vX.Y.Z-up.K.rc.N --unstable against an empty Kubernetes cluster, e.g. kind create cluster, which should result in an healthy UXP installation with expected image versions.
[x] Drafted, validated with the rest of the team and then published well authored release notes for UXPvX.Y.Z-up.K.rc.N. See the previous release for an example, these should at least:
[ ] enumerate relevant updates that were merged in u/xp and u/uxp.
This issue can be closed when we have completed the following steps (in order). Please ensure all artifacts (PRs, workflow runs, Tweets, etc) are linked from this issue for posterity. Assuming
vX.Y.Z-up.1
is being cut, after upstream crossplane/crossplanevX.Y.Z
has been released according to the declared schedule, you should have:release-X.Y
release branch in upbound/crossplane, with upstream crossplane/crossplane release branch, up to thevX.Y.Z
tag, adding any required change specific to the fork, see here for more details.vX.Y.Z-up.1
release from therelease-X.Y
branch by:release-X.Y
branch with the proper release version,vX.Y.Z-up.1
. Message suggested but not required:Release vX.Y.Z-up.1
.release-X.Y
branch to build and publish the latest tagged artifacts.docker pull xpkg.upbound.io/upbound/crossplane:vX.Y.Z-up.1
main
branch of upbound/universal-crossplane with the following changes:vX.Y.Z-up.1
, such asCROSSPLANE_TAG
andCROSSPLANE_COMMIT
in theMakefile
.make generate
to import any changes in the upstream Helm chart.release-X.Y
branch frommain
branch in UXP.From this point on we had to differ w.r.t. the standard release process because we were releasing an RC, below is the actual things we had to do.
vX.Y.Z-up.K.rc.N
release from themain
branch by:main
branch with the proper release version,vX.Y.Z-up.K.rc.N
. Message suggested but not required:Release vX.Y.Z-up.K.rc.N
.main
branch to build and publish the latest tagged artifacts.main
channel, e.g.main/vX.Y.Z-up.K.rc.N/...
main
channel atmain/vX.Y.Z-up.K.rc.N/charts
by doing some sanity checks:helm -n upbound-system upgrade --install universal-crossplane <path-to-chart.tgz> --create-namespace
.upbound/crossplane
, e.g.kubectl -n upbound-system get pods -o yaml | grep image:
kind create cluster
up uxp install
helm -n upbound-system upgrade --install universal-crossplane <path-to-chart.tgz> --create-namespace
up uxp install vX.Y.Z-up.K.rc.N --unstable
against an empty Kubernetes cluster, e.g.kind create cluster
, which should result in an healthy UXP installation with expected image versions.vX.Y.Z-up.K.rc.N
. See the previous release for an example, these should at least:#announcements
,#upbound
and#squad-crossplane
on Upbound's Slack.#marketing
on Upbound's Slack to do so.