From 173f4aba1befc7d1056a87bb4f3c952a335cd34d Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 13 Oct 2017 16:37:23 -0300 Subject: [PATCH] Update release-procedures --- ci/RELEASE.md | 33 +++++++++++++++++++++++---------- 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/ci/RELEASE.md b/ci/RELEASE.md index 640a91156..ecd9cd354 100644 --- a/ci/RELEASE.md +++ b/ci/RELEASE.md @@ -2,7 +2,9 @@ The Calamares release process ============================= #### (0) A week in advance -* Run [Coverity scan][coverity], fix what's relevant. The Coverity scan runs + +* (Only releases from master) + Run [Coverity scan][coverity], fix what's relevant. The Coverity scan runs automatically once a week on master. * Build with clang -Weverything, fix what's relevant. ``` @@ -16,8 +18,10 @@ The Calamares release process ``` Note that *all* means all-that-make-sense. The partition-manager tests need an additional environment variable to be set for some tests, which will - destroy an attached disk. This is not always desirable. -* Notify [translators][transifex]. In the dashboard there is an *Announcements* + destroy an attached disk. This is not always desirable. There are some + sample config-files that are empty and which fail the config-tests. +* (Only releases from master) + Notify [translators][transifex]. In the dashboard there is an *Announcements* link that you can use to send a translation announcement. [coverity]: https://scan.coverity.com/projects/calamares-calamares?tab=overview @@ -27,17 +31,24 @@ The Calamares release process * Bump version in `CMakeLists.txt`, *CALAMARES_VERSION* variables, and set RC to a non-zero value (e.g. doing -rc1, -rc2, ...). Push that. -* Check `README.md` and everything in `hacking`, make sure it's all still - relevant. Run `hacking/calamaresstyle` to check the C++ code style. - Python code is checked as part of the Travis CI builds. +* Check `README.md` and everything `ci/HACKING.md`, make sure it's all still + relevant. Run `ci/calamaresstyle` to check the C++ code style. + Run pycodestyle on recently-modified Python modules, fix what makes sense. * Check defaults in `settings.conf` and other configuration files. -* Pull latest translations from Transifex. This is done nightly on Jenkins, - so a manual pull is rarely necessary. -* Update the list of enabled translation languages in `CMakeLists.txt`. +* (Only releases from master) + Pull latest translations from Transifex. We only push / pull translations + from master, so longer-lived branches (e.g. 3.1.x) don't get translation + updates. This is to keep the translation workflow simple. + ``` + sh ci/txpull.sh + ``` +* (Only releases from master) + Update the list of enabled translation languages in `CMakeLists.txt`. Check the [translation site][transifex] for the list of languages with fairly complete translations. #### (2) Tarball + * Create tarball: `git-archive-all -v calamares-1.1-rc1.tar.gz` or without the helper script, ``` @@ -45,9 +56,10 @@ The Calamares release process git archive -o $V.tar.gz --prefix $V/ master ``` Double check that the tarball matches the version number. -* Test tarball. +* Test tarball (e.g. unpack somewhere else and run the tests from step 0). #### (3) Tag + * Set RC to zero in `CMakeLists.txt` if this is the actual release. * `git tag -s v1.1.0` Make sure the signing key is known in GitHub, so that the tag is shown as a verified tag. Do not sign -rc tags. @@ -57,6 +69,7 @@ The Calamares release process * Write release article. #### (4) Release day + * Publish tarball. * Update download page. * Publish release article on `calamares.io`.