Size: 1143
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>