Skip to content

Latest commit

 

History

History
114 lines (69 loc) · 9.95 KB

1-lts-release-checklist.md

File metadata and controls

114 lines (69 loc) · 9.95 KB
name labels about
🚤 New LTS release checklist
lts-checklist
Track work required for a new LTS release

Next LTS release

More information about the release process is available on the release guide.

Release Lead

@

Prep work

  • LTS baseline discussed and selected in the Jenkins developers mailing list.

  • Create or update release branch in jenkinsci/jenkins, e.g. stable-2.387, use the init-lts-line script or carry out the equivalent steps therein.

  • Create or update release branch in jenkins-infra/release, e.g. stable-2.387. Strike out for initial release.

    • Modify the RELEASE_GIT_BRANCH and JENKINS_VERSION values in the environment file (profile.d/stable) to match the release.
    • Modify the PACKAGING_GIT_BRANCH value in the packaging script (Jenkinsfile.d/core/package) to match the release.
    • For more info, refer to stable.
  • Create or update release branch in jenkinsci/packaging, e.g. stable-2.387. Strike out for new point release.

  • Create a pull request to update bom to the weekly version that will be the base of the release line (and strike this out for new point release). Assure that the bom-weekly version number is already testing the base of the release line or a version newer than the base of the release line.

  • Review recent security advisories for fixes in Jenkins weeklies after the LTS baseline, and ensure there are Jira issues for their backport.

  • Review Jira and GitHub pull requests for additional LTS candidates, adding the lts-candidate label, and ensure that all tickets are resolved in Jira.

  • Send a backporting announcement email to the jenkinsci-dev mailing list, using the default template. Remember to exchange the LTS version, release date and Jira URLs.

  • Update Jira labels for lts-candidate issues, either add 2.387.2-fixed and remove lts-candidate or add 2.387.2-rejected, and retain lts-candidate.

  • Backport changes, run the list-issue-commits script to locate commits via Jira ID, some manual work is required to locate them if the issue ID wasn't present at merge time, backport with git cherry-pick -x $commit.

  • Open backporting PR with into-lts label and summary of changes in description from lts-candidate-stats script and:

  • Open a pull request towards the acceptance test harness and plugin compatibility test to confirm the incremental produced by the backporting PR doesn't contain regressions. The documentation explains which profiles you have to modify in your PR.

  • Update the dependabot branch target in jenkinsci/jenkins to the new stable branch (strike this out for new point release).

  • Prepare LTS changelog based on the style guide using the changelog generator - This is normally done by the docs team, ask in gitter.

  • Prepare LTS upgrade guide based on previous upgrade guides - This is normally done by the docs team, ask in gitter.

RC creation

LTS release

  • Publish changelog (one day prior to the release in case of a security update).

  • Announce the start of the LTS release process in the #jenkins-release:matrix.org channel.

  • Run job on release.ci.jenkins.io if no security release for Jenkins is planned.

  • Check LTS changelog is visible on the downloads site.

  • Publish GitHub release pointing to LTS changelog, sample.

  • Confirm Datadog checks are passing.

  • Confirm the Debian installer acceptance test is passing. For good measures, check the console log to confirm that the correct release package was used (e.g. search for 2.387).

  • Confirm the Red Hat installer acceptance test is passing. For good measures, check the console log to confirm that the correct release package was used (e.g. search for 2.387).

  • Adjust state and Released As of Jira issues fixed in the release (see the changelog for issue links).

  • Create pull request to update the lts Maven profile in ATH to the newly released version

  • Create pull request to update the jenkins.version in the most recent release profile in plugin BOM to the newly released version. Refer to first step before the release and second step after the release for examples

  • Create a tag matching the LTS release you create in the docker repository and publish a GitHub release.

  • Confirm that the images are available at Docker hub.

  • Merge the PR generated by the jenkins-dependency-updater bot in the jenkinsci/helm-charts repository.

  • Create a helpdesk ticket to update ci.jenkins.io, trusted.ci, cert.ci and release.ci to the new LTS release, example.

  • Send email asking for the next release lead, example, dates for the next one can be found on the Jenkins calendar.