Difference between revisions of "Draft of Scribus Release Checklist"

From Scribus Wiki
Jump to: navigation, search
(Redirect)
 
Line 1: Line 1:
[[Category:Development]]
+
#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.
 
 
 
<ol>
 
<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
 
:OR
 
:sftp://frs.sourceforge.net/home/frs/project/s/sc/scribus-devel/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>
 
:OR
 
:<code>sftp://frs.sourceforge.net/home/frs/project/s/sc/scribus-devel/scribus/X.Y.Z</code>
 
</ol>
 
#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
 
#: 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: