Draft of Scribus Release Checklist
Jump to navigation
Jump to search
Please, Scribus core team devs, add your remarks/proposals for this release checklist (please keep it simple, it should be easy to print and follow for everybody involved in the release making routine)
How to Prepare a Scribus Release
Release Day - 3 weeks
- Feature freeze
- E-mail to the mailing list announcing the feature freeze and asking for testing
Release Day - 2 weeks
- String freeze
- Alert the translators (how? where is scribus-translate list) to update interface translations. Update and commit new ts files
- Bump translation files (use Tansifex script --push flag to refresh all translation langs on Transifex)
- Send an e-mail to all Scribus translators and to the mailing list about the deadline of the upcoming release -- set the deadline for delivering the translations to e.g. "Release Day -1 day"
Release Day - 1 week
- Send the final version of the (short) release announcement to all translators, asking them to translate it into their languages -- set the deadline for delivering the translations to e.g. "Release Day -1 day"
Release Day - 3 days
- Finish the release notes
- Finish Changelog
- Finish PR spiel for the mailing list and wiki/website.
Release Day - 2 days
Release Day - 1 day
- -mail to all Scribus translators and to the mailing list that the deadline for their translations is about to pass
- 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/resources/versions/scribusversions.xml
Scribus/README
Scribus/Scribus.app/Contents/Info.plist
Scribus/OSX-package/inputs/Info.plist
Scribus/OSX-package/inputs/Scribus.pkg-Info.plist
Scribus/Changelog
Scribus/win32/vc11/scribus-main/Scribus.rc
Scribus/win32/vc11/win-config.h
- 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
Before Release
- 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:
svn co svn+ssh://[url]/svn/tags/Release_X.Y.Z
- Change to the Release_X.Y.Z directory:
cd Release_X.Y.Z
- Rename Scribus directory to scribus-X.Y.Z:
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:
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
- GPG Sign the files:
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:
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:
- Under 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
- 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.
Translations
- Pull Translations from Transifex using the script --pull option (which will pull all Transifex maintained languages)
After Release
- Update the current version in the wiki
- Release announcement to the mailing list
- Unleash the translators, asking them to send their translated release announcements to local media
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].