Differences between revisions 23 and 50 (spanning 27 versions)
Revision 23 as of 2013-12-02 02:55:50
Size: 1143
Editor: mpm
Comment:
Revision 50 as of 2025-02-28 16:08:03
Size: 2453
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
 * 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)
Line 19: Line 43:
 * 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
 * Update your own Mercurial with the new version ;)
Line 22: Line 54:
Release message template: Packaging message template:
Line 25: Line 57:
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 60:
Full details here: Please update your package builds, thanks.
Please also make sure you have the latest evolve version packaged too.
Line 31: Line 63:
http://mercurial.selenic.com/wiki/WhatsNew Release notes here: <link to relnotes>
Line 33: Line 65:
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 67:

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
  • 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-02-28 16:08:03 by Pierre-YvesDavid)