Draft of Scribus Release Checklist: Difference between revisions
Jump to navigation
Jump to search
(Merged Release Management) |
|||
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== | ||
*-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
- 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].