Differences between revisions 22 and 51 (spanning 29 versions)
Revision 22 as of 2012-11-01 22:50:15
Size: 1175
Editor: mpm
Comment:
Revision 51 as of 2025-04-07 08:42:42
Size: 2620
Editor: RaphaelGomes
Comment:
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:

= New Release Manager List =

 * make sure you have access to the Mercurial project on PyPi
 * make sure you have SSH access and are in the `committers` group on mercurial-scm.org
 * make sure you have the admin rights on bugzilla
 * make sure your key is uploaded to some public server
  * http://keyserver.ubuntu.com/
  * https://pgp.mit.edu/
  * https://keys.openpgp.org
 * inform packagers that a new key will be used for signing
 * get a clone `hg-release-tools`
Line 5: Line 18:
Used by [[mpm]] to prepare releases. Followed by [[AcceptProcess|core developers with accept access]] to prepare releases.
Line 8: Line 21:
 * Pulled from i18n and crew
 * Check [[http://hgbuildbot.kublai.com/waterfall|buildbot]]
 * Tagged
 * Build from dist tarball passes tests
 * Signed
 * Pushed
 * Tarball uploaded
 * Add [[http://bz.selenic.com/editversions.cgi?action=add&product=Mercurial|Bugzilla version]]
 * Ping mercurial-packaging@selenic.com
 * WhatsNew updated from UpcomingReleaseNotes
 * UpgradeNotes updated from UpcomingReleaseNotes
 * Make sure the latest evolve is compatible
 * Check for queued security patches
 * Pull from [[Heptapod]]
 * Check that the [[Heptapod]] CI passed
 * Add the release notes in a public changeset
 * Run make-release
  * tag
  * sign
  * build release tarballs
  * make the tag public
 * Create the wheels for MacOS and Windows manually (ping mharbison)
 * Run post-release
  * upload signed release tarball to mercurial-scm.org
  * upload release wheels to Pypi with twine
  * upload release tarball to Pypi with twine
  * update latest.dat file
  * clean-up build
 * publish stable branch
 * push a merge from stable into the default branch to the CI (hence pushing the release changesets)
 * Add [[https://bz.mercurial-scm.org/editversions.cgi?action=add&product=Mercurial|Bugzilla version]]
 * WhatsNew updated ([[ReleasenotesExtension|releasenotes]], changelog or changes script)
 * UpgradeNotes updated with any (BC) notes
 * For major releases:
  * Create ReleaseX.Y page
  * Add notes for -rc build; replace them when final release is cut
 * Update the website with a news about the release
Line 21: Line 49:
 * Ping mercurial-packaging@mercurial-scm.org (see template below)
 * Update Matrix topic and IRC topic
  * For rc releases, be sure to note code freeze if there
 * Write a blog entry for the website https://foss.heptapod.net/mercurial/hg-website
 * Deploy the website (ping Alphare until we get an automated way of deploying)
 * Update your own Mercurial with the new version ;)
Line 22: Line 56:
Release message template: Packaging message template:
Line 25: Line 59:
To: mercurial <mercurial@selenic.com>
Bcc: lwn@lwn.net

Subject: Mercurial 1.x released!
To: mercurial-packaging@mercurial-scm.org
Subject: Mercurial x.y tagged
Line 29: Line 62:
Full details here: Please update your package builds, thanks.
Please also make sure you have the latest evolve version packaged too.
Line 31: Line 65:
http://mercurial.selenic.com/wiki/WhatsNew Release notes here: <link to relnotes>
Line 33: Line 67:
Available for download at:

http://mercurial.selenic.com/release/mercurial-1.x.tar.gz

Binaries releases to follow shortly.
<describe changes in this release important for packagers to note, if any>
Line 40: Line 69:

Generating a list of new contributors:

{{{
comm -2 -3 <(hg log -r '1.5::' --template '{author|person}\n' | sort -u) <(hg log -r '::1.5.4' --template '{author|person}\n' | sort -u)
}}}

Note:

This page is primarily intended for developers of Mercurial.

New Release Manager List

  • make sure you have access to the Mercurial project on PyPi

  • make sure you have SSH access and are in the committers group on mercurial-scm.org

  • make sure you have the admin rights on bugzilla
  • make sure your key is uploaded to some public server
  • inform packagers that a new key will be used for signing
  • get a clone hg-release-tools

Release Checklist

Followed by core developers with accept access to prepare releases.

Things to check:

  • Make sure the latest evolve is compatible
  • Check for queued security patches
  • Pull from Heptapod

  • Check that the Heptapod CI passed

  • Add the release notes in a public changeset
  • Run make-release
    • tag
    • sign
    • build release tarballs
    • make the tag public
  • Create the wheels for MacOS and Windows manually (ping mharbison)
  • Run post-release
    • upload signed release tarball to mercurial-scm.org
    • upload release wheels to Pypi with twine
    • upload release tarball to Pypi with twine
    • update latest.dat file
    • clean-up build
  • publish stable branch
  • push a merge from stable into the default branch to the CI (hence pushing the release changesets)
  • Add Bugzilla version

  • WhatsNew updated (releasenotes, changelog or changes script)

  • UpgradeNotes updated with any (BC) notes

  • For major releases:
    • Create ReleaseX.Y page
    • Add notes for -rc build; replace them when final release is cut
  • Update the website with a news about the release
  • tag and push PythonHglib if there are new changesets

  • Mercurial/NewsItems updated

  • Ping mercurial-packaging@mercurial-scm.org (see template below)

  • Update Matrix topic and IRC topic
    • For rc releases, be sure to note code freeze if there
  • Write a blog entry for the website https://foss.heptapod.net/mercurial/hg-website

  • Deploy the website (ping Alphare until we get an automated way of deploying)
  • Update your own Mercurial with the new version ;)

Packaging message template:

To:     mercurial-packaging@mercurial-scm.org
Subject:        Mercurial x.y tagged

Please update your package builds, thanks.
Please also make sure you have the latest evolve version packaged too.

Release notes here: <link to relnotes>

<describe changes in this release important for packagers to note, if any>


CategoryProcess

ReleaseChecklist (last edited 2025-04-07 08:42:42 by RaphaelGomes)