Difference between revisions of "Draft of Scribus Release Checklist"

From Scribus Wiki
Jump to: navigation, search
Line 1: Line 1:
#REDIRECT [[Release_management]]
'''''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:
:* <code>Scribus/scribus.lsm</code>
:* <code>Scribus/config.h.cmake</code>
:* <code>Scribus/CMakeLists.txt</code>
:* <code>Scribus/resources/versions/scribusversions.xml</code>
:* <code>Scribus/README</code>
:* <code>Scribus/Scribus.app/Contents/Info.plist</code>
:* <code>Scribus/OSX-package/inputs/Info.plist</code>
:* <code>Scribus/OSX-package/inputs/Scribus.pkg-Info.plist</code>
:* <code>Scribus/Changelog</code>
:* <code>Scribus/win32/vc11/scribus-main/Scribus.rc</code>
:* <code>Scribus/win32/vc11/win-config.h</code>
:* Prepare a packager's release tarball and alert the packagers.
* Tag the new release
:* <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
:* <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==
===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.
<li>Check out from SVN from the release tag:</li>
: <code>svn co svn+ssh://[url]/svn/tags/Release_X.Y.Z</code>
<li>Change to the Release_X.Y.Z directory:</li>
: <code>cd Release_X.Y.Z</code>
<li>Rename Scribus directory to scribus-X.Y.Z:</li>
: <code>mv Scribus scribus-X.Y.Z</code>
<li>Run the tar process - we need this file for all of the compression types we want so we do this first:</li>
: <code>tar -cvf scribus-X.Y.Z.tar scribus-X.Y.Z/</code>
<li>Compress the files:</li>
:XZ: <code>xz -k -e -v -z scribus-X.Y.Z.tar</code>
:7Zip: <code>7z a scribus-X.Y.Z.tar.7z scribus-X.Y.Z.tar</code>
:BZ2: <code>bzip2 -k scribus-X.Y.Z.tar.bz2</code>
:GZ: <code>gzip -c scribus-X.Y.Z.tar > scribus-X.Y.Z.tar.gz</code>
<li>GPG Sign the files:</li>
:<code>gpg --default-key <key> --sign --detach-sign --armor scribus-X.Y.Z.tar.7z</code>
:<code>gpg --default-key <key> --sign --detach-sign --armor scribus-X.Y.Z.tar.gz </code>
:<code>gpg --default-key <key> --sign --detach-sign --armor scribus-X.Y.Z.tar.xz </code>
:<code>gpg --default-key <key> --sign --detach-sign --armor scribus-X.Y.Z.tar.bz2 </code>
<li>Verify the files:</li>
:<code>gpg --verify scribus-X.Y.Z.tar.7z.asc scribus-X.Y.Z.tar.7z</code>
:<code>gpg --verify scribus-X.Y.Z.tar.bz2.asc scribus-X.Y.Z.tar.bz2</code>
:<code>gpg --verify scribus-X.Y.Z.tar.gz.asc scribus-X.Y.Z.tar.gz</code>
:<code>gpg --verify scribus-X.Y.Z.tar.xz.asc scribus-X.Y.Z.tar.xz</code>
<li>Create the new directory on Sourceforge for the X.Y.Z version. Set it to staging:</li>
:Under sftp://frs.sourceforge.net/home/frs/project/s/sc/scribus/scribus/X.Y.Z
<li>Upload to SourceForge:</li>
:Select scribus/scribus-devel directories, then the version number:
:Eg to: <code>sftp://frs.sourceforge.net/home/frs/project/s/sc/scribus/scribus/X.Y.Z</code>
#TODO: Upload Mac, Windows, OS/2 binaries. Turn off staging
* Send a Release email to the mailing list.
# 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
#: http://wiki.scribus.net/canvas/Template:Developmental-version AND
#: http://wiki.scribus.net/canvas/Template:Stable-version
# 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  [http://wiki.scribus.net/canvas/Scribus].

Latest revision as of 22:43, 14 November 2016

Redirect to: