Release management: Difference between revisions
Jump to navigation
Jump to search
Line 8: | Line 8: | ||
* t - 3 days: Finish the release notes, changelog, and the PR spiel for the mailing list and wiki/website. | * t - 3 days: Finish the release notes, changelog, and the PR spiel for the mailing list and wiki/website. | ||
* t - 1 day: Commit a new splash and about screen image, and update all versions in a number of source code locations: | * t - 1 day: Commit a new splash and about screen image, and update all versions in a number of source code locations: | ||
** Scribus/scribus.lsm | ** <code>Scribus/scribus.lsm</code> | ||
** Scribus/config.h.cmake | ** <code>Scribus/config.h.cmake</code> | ||
** Scribus/CMakeLists.txt | ** <code>Scribus/CMakeLists.txt</code> | ||
** Scribus/scribusversions.xml | ** <code>Scribus/scribusversions.xml</code> | ||
** Scribus/README | ** <code>Scribus/README</code> | ||
** Scribus/Scribus.app/Contents/Info.plist | ** <code>Scribus/Scribus.app/Contents/Info.plist</code> | ||
** Scribus/OSX-package/inputs/Info.plist | ** <code>Scribus/OSX-package/inputs/Info.plist</code> | ||
** Scribus/OSX-package/inputs/Scribus.pkg-Info.plist: | ** <code>Scribus/OSX-package/inputs/Scribus.pkg-Info.plist:</code> | ||
** Prepare a packager's release tarball and alert the packagers. | ** Prepare a packager's release tarball and alert the packagers. | ||
* Tag the new release | * Tag the new release | ||
** svn copy svn+ssh://[url]/svn/branches/[branchname] svn+ssh://[url]/svn/tags/Release_a.b.c[.rcN] -m "Tag a.b.c[.rcN]" | ** <code>svn copy svn+ssh://[url]/svn/branches/[branchname] svn+ssh://[url]/svn/tags/Release_a.b.c[.rcN] -m "Tag a.b.c[.rcN]"</code> | ||
** OR | ** OR | ||
** svn copy svn+ssh://[url]/svn/trunk svn+ssh://[url]/svn/tags/Release_a.b.c[.rcN] -m "Tag a.b.c[.rcN]" | ** <code>svn copy svn+ssh://[url]/svn/trunk svn+ssh://[url]/svn/tags/Release_a.b.c[.rcN] -m "Tag a.b.c[.rcN]"</code> | ||
== Release day == | == Release day == |
Revision as of 21:41, 6 May 2012
Release management
Before the release
- t - 2 weeks: Alert the translators (how? where is scribus-translate list) to update interface translations. String freeze is in effect from now until release. Update and commit new ts files
- t - 3 days: Finish the release notes, changelog, and the PR spiel for the mailing list and wiki/website.
- t - 1 day: Commit a new splash and about screen image, and update all versions in a number of source code locations:
Scribus/scribus.lsm
Scribus/config.h.cmake
Scribus/CMakeLists.txt
Scribus/scribusversions.xml
Scribus/README
Scribus/Scribus.app/Contents/Info.plist
Scribus/OSX-package/inputs/Info.plist
Scribus/OSX-package/inputs/Scribus.pkg-Info.plist:
- Prepare a packager's release tarball and alert the packagers.
- Tag the new release
svn copy svn+ssh://[url]/svn/branches/[branchname] svn+ssh://[url]/svn/tags/Release_a.b.c[.rcN] -m "Tag a.b.c[.rcN]"
- OR
svn copy svn+ssh://[url]/svn/trunk svn+ssh://[url]/svn/tags/Release_a.b.c[.rcN] -m "Tag a.b.c[.rcN]"
Release day
- Prepare signed source tarballs and upload both the tarballs and the signatures to SourceForge. X.Y.Z refers to the version being released.
- Check out from SVN from the release tag:
- Eg:
svn co svn+ssh://[url]/svn/tags/Release_X.Y.Z
- Change to the Release_X.Y.Z directory:
- Eg:
cd Release_X.Y.Z
- Rename Scribus directory to scribus-X.Y.Z:
- Eg:
mv Scribus scribus-X.Y.Z
- Run the tar process - we need this file for all of the compression types we want so we do this first:
- Eg:
tar -cvf scribus-X.Y.Z.tar scribus-X.Y.Z/
- Compress the files:
- XZ:
xz -k -e -v -z scribus-X.Y.Z.tar
- 7Zip:
7z a scribus-X.Y.Z.tar.7z scribus-X.Y.Z.tar
- BZ2:
bzip2 -k scribus-X.Y.Z.tar.bz2
- GZ:
gzip -c scribus-X.Y.Z.tar > scribus-X.Y.Z.tar.gz
- XZ:
- GPG Sign the files:
- Eg:
gpg --default-key <key> --sign --detach-sign --armor scribus-X.Y.Z.tar.7z
gpg --default-key <key> --sign --detach-sign --armor scribus-X.Y.Z.tar.gz
gpg --default-key <key> --sign --detach-sign --armor scribus-X.Y.Z.tar.xz
gpg --default-key <key> --sign --detach-sign --armor scribus-X.Y.Z.tar.bz2
- Verify the files:
- Eg:
- gpg --verify scribus-X.Y.Z.tar.7z.asc scribus-X.Y.Z.tar.7z
- gpg --verify scribus-X.Y.Z.tar.bz2.asc scribus-X.Y.Z.tar.bz2
- gpg --verify scribus-X.Y.Z.tar.gz.asc scribus-X.Y.Z.tar.gz
- gpg --verify scribus-X.Y.Z.tar.xz.asc scribus-X.Y.Z.tar.xz
- Create the new directory on Sourceforge for the X.Y.Z version. Set it to staging:
- Upload to SourceForge:
- Select scribus/scribus-devel directories, then the version number:
- Eg to:
sftp://frs.sourceforge.net/home/frs/project/s/sc/scribus/scribus/X.Y.Z
- or
sftp://frs.sourceforge.net/home/frs/project/s/sc/scribus-devel/scribus/X.Y.Z
- TODO: Upload Mac, Windows, OS/2 binaries. Turn off staging
- Send a Release email to the mailing list.
After the release
Things that have to be done / updated after each release:
- Update the current version in the wiki
- http://wiki.scribus.net/canvas/Template:Developmental-version or
- http://wiki.scribus.net/canvas/Template:Stable-version
After Specific releases
Things that have to be done / updated after a specific release (remove them as soon as they're done)
- 1.4: remove the version reference in "If you are using 1.4's release candidates, please be sure to check the online manual (F1)" on [1].
Other things to check
Here is a list of things to check from time to time (and which are not tightly related to the releases). You may also put in this list things which are only temporarily on the website and have to be removed in the future.