-
Notifications
You must be signed in to change notification settings - Fork 973
Release Activities
Chad Wilson edited this page May 26, 2024
·
108 revisions
WARNING: Use this page as a "template", create a new issue with the contents of this page and do not alter this unless you're adding/removing item(s).
These are the release activities to be performed when releasing GoCD.
- Review pull requests for this milestone and take a call on testing.
- Review issues of this milestone, close ones that are fixed and tested. Move those yet to be fixed
- Use this to
- prepare release notes for www.gocd.org at https://github.com/gocd/www.go.cd
- Update changelog on api.gocd.org
- Update changelog on plugin-api.gocd.org
- Ensure that
GO_VERSION_NEXT
in build.gradle (link to example 21.4.0 version here) is correct.
- On supported browsers
- Make sure the test drive package works (starts up, registers an agent, and can build a pipeline).
(NOTE: Publishing stable release will draft a GitHub release, resulting in sending an email about the GitHub release to the community who are watching/subscribed to gocd/gocd. Hence we should make sure that the current release notes are available at www.gocd.org/releases before drafting a release.)
- Disable GoCD server timed backup if you don't want to be interrupted while doing this.
- Deploy release notes for current release on www.gocd.org. Make sure those are available at www.gocd.org/releases. Do this via GitHub Actions: https://github.com/gocd/www.go.cd/actions
- Kick off PublishStableRelease pipeline. This should trigger some downstream pipelines for websites, Docker, Chocolatey, etc.
- Select the target version of the
code-sign
pipeline material to promote -
NOTE remember to manually select the right revision of the
codesigning
material, or fan-in won't trigger later. Usually this will be the latest commit, however you can check the VSM or materials of thecodesigning
build you are promoting to double-check. If it doesn't work, don't worry, you can re-run! -
NOTE specify
REALLY_REALLY_UPLOAD
environment variable with valueYES_I_REALLY_REALLY_WANT_TO_UPLOAD
.
- Select the target version of the
- Trigger the
promote-to-stable
stage of the gocd-trial-installers pipeline for the corresponding build. Use the VSM to locate the correct installer build for the release. Start from the VSM of thePublishStableRelease
pipeline, and then go to the VSM of theinstallers
pipeline from that VSM. That'll get you the right run of thegocd-trial-installers
pipeline to use. Test it and promote it to stable. - Enable or put back the GoCD server timed backup if you had disabled it earlier.
- Verify: Check new plugin-api.jar at https://search.maven.org/artifact/cd.go.plugin/go-plugin-api or https://repo1.maven.org/maven2/cd/go/plugin/go-plugin-api/ and update plugin java docs. (taken care by
upload-to-maven
pipeline) -- might be delayed a bit.
post-release-github-activities pipeline for the first two tasks
- Verify: A tag was created for the new version as
<version>
(such as21.2.0
) in repository (https://github.com/gocd/gocd/tags) - Verify: A Github release was created (https://github.com/gocd/gocd/releases)
- Verify that the various doc sites's
/current
are updated and a release branch was created. (This is done by bump_up_docs_version. Automatically triggered after publish stable release.)- docs.go.cd
- Verify that the GitHub action finished successfully: https://github.com/gocd/docs.go.cd/actions
- Verify that https://docs.gocd.org/ shows the correct "current" and "under development" links
- Verify that a new branch is created whose name is the same as the new release (not next release): https://github.com/gocd/docs.go.cd/branches/all
- developer.go.cd
- Verify that the GitHub action finished successfully: https://github.com/gocd/developer.go.cd/actions
- Verify that https://developer.gocd.org/ shows the correct "current" and "under development" links
- Verify that a new branch is created whose name is the same as the new release (not next release): https://github.com/gocd/developer.go.cd/branches/all
- api.go.cd
- Verify that the GitHub action finished successfully: https://github.com/gocd/api.go.cd/actions
- Verify that https://api.gocd.org/ shows the correct "current" and "under development" links
- Verify that a new branch is created whose name is the same as the new release (not next release): https://github.com/gocd/api.go.cd/branches/all
- plugin-api.go.cd
- Verify that the GitHub action finished successfully: https://github.com/gocd/plugin-api.go.cd/actions
- Verify that https://plugin-api.gocd.org/ shows the correct "current" and "under development" links
- Verify that a new branch is created whose name is the same as the new release (not next release): https://github.com/gocd/plugin-api.go.cd/branches/all
- docs.go.cd
NOTE: Pipeline publish-cloud-based-artifacts
creates and uploads the following.
- Verify: Docker images
- Verify that the full description was updated on all relevant dockerhub repos in gocd organization - taken care of by the publish-cloud-based-artifacts pipeline.
- https://hub.docker.com/r/gocd/gocd-server
- https://hub.docker.com/r/gocd/gocd-agent-alpine
- https://hub.docker.com/r/gocd/gocd-agent-debian-11
- https://hub.docker.com/r/gocd/gocd-agent-debian-12
- https://hub.docker.com/r/gocd/gocd-agent-docker-dind
- https://hub.docker.com/r/gocd/gocd-agent-ubuntu-20.04
- https://hub.docker.com/r/gocd/gocd-agent-ubuntu-22.04
- https://hub.docker.com/r/gocd/gocd-agent-ubuntu-24.04
- https://hub.docker.com/r/gocd/gocd-agent-wolfi
- Verify that the full description was updated on all relevant dockerhub repos in gocd organization - taken care of by the publish-cloud-based-artifacts pipeline.
- Verify: Chocolatey installers
- GoCD agent installer
- GoCD server installer
- Merge the PR (to update the helm) to https://github.com/gocd/helm-chart to bump up the app version created via
upgrade-helm-chart-version
pipeline.
- Send mail to Google groups - {go-cd,go-cd-dev}@googlegroups.com.
- Verify: Update version under installer-testing
- Create a new milestone and set the due date.
- Create a new project wall for next release:
- Go to: https://github.com/gocd/gocd/projects/new
- Set the
Project board name
to the next GoCD release version. - Set
Basic Kanban
as the project template. - Hit
Create Project
. - Upon project creation: Create a new column for
QA Done
- Merge (auto created) PR which updates
build.gradle
file to next revision: https://github.com/gocd/gocd/pulls - Verify: go-plugins build.gradle has been updated - https://github.com/gocd/go-plugins/blob/master/build.gradle#L29
- Close the related milestone and project
- Update all
GO_VERSION
in environmental variables (leave parameters as is) in cruise-config.xml file on build.go.cd - Check if other plugins in https://github.com/gocd-contrib or https://github.com/gocd need a new version to be released