Draft of Scribus Release Checklist: Difference between revisions

From Scribus Wiki
Jump to navigation Jump to search
Line 11: Line 11:
==Release Day - 2 weeks==
==Release Day - 2 weeks==
# String freeze
# String freeze
# Bump translation files (use Tansifex script --push flag to refresh all translation langs on Transifex)
# Alert the translators (how? where is scribus-translate list) to update interface translations. Update and commit new ts files
# 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"
## 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==
==Release Day - 1 week==
Line 18: Line 19:


==Release Day - 3 days==
==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 - 2 days==
==Release Day - 1 day==
==Release Day - 1 day==
# E-mail to all Scribus translators and to the mailing list that the deadline for their translations is about to pass
*-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==
==Release Day==
===Before Release===
===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)
# Pull Translations from Transifex using the script --pull option (which will pull all Transifex maintained languages)


===After Release===
===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
# Release announcement to the mailing list
# Unleash the translators, asking them to send their translated release announcements to local  media
# 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].

Revision as of 22:37, 14 November 2016


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

  1. Feature freeze
  2. E-mail to the mailing list announcing the feature freeze and asking for testing

Release Day - 2 weeks

  1. String freeze
  2. Alert the translators (how? where is scribus-translate list) to update interface translations. Update and commit new ts files
    1. Bump translation files (use Tansifex script --push flag to refresh all translation langs on Transifex)
    2. 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

  1. 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

  1. Finish the release notes
  2. Finish Changelog
  3. 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.
  1. Check out from SVN from the release tag:
  2. svn co svn+ssh://[url]/svn/tags/Release_X.Y.Z
  3. Change to the Release_X.Y.Z directory:
  4. cd Release_X.Y.Z
  5. Rename Scribus directory to scribus-X.Y.Z:
  6. mv Scribus scribus-X.Y.Z
  7. Run the tar process - we need this file for all of the compression types we want so we do this first:
  8. tar -cvf scribus-X.Y.Z.tar scribus-X.Y.Z/
  9. Compress the files:
  10. 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
  11. GPG Sign the files:
  12. 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
  13. Verify the files:
  14. 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
  15. Create the new directory on Sourceforge for the X.Y.Z version. Set it to staging:
  16. 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
  17. Upload to SourceForge:
  18. 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
  1. TODO: Upload Mac, Windows, OS/2 binaries. Turn off staging
  • Send a Release email to the mailing list.

Translations

  1. Pull Translations from Transifex using the script --pull option (which will pull all Transifex maintained languages)

After Release

  1. Update the current version in the wiki
    http://wiki.scribus.net/canvas/Template:Developmental-version AND
    http://wiki.scribus.net/canvas/Template:Stable-version
  2. Release announcement to the mailing list
  3. Unleash the translators, asking them to send their translated release announcements to local media

After Specific releases

  1. 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].