Update release-procedures

This commit is contained in:
Adriaan de Groot 2017-10-13 16:37:23 -03:00
parent 9f84519e87
commit 173f4aba1b

View File

@ -2,7 +2,9 @@ The Calamares release process
============================= =============================
#### (0) A week in advance #### (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. automatically once a week on master.
* Build with clang -Weverything, fix what's relevant. * 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 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 an additional environment variable to be set for some tests, which will
destroy an attached disk. This is not always desirable. destroy an attached disk. This is not always desirable. There are some
* Notify [translators][transifex]. In the dashboard there is an *Announcements* 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. link that you can use to send a translation announcement.
[coverity]: https://scan.coverity.com/projects/calamares-calamares?tab=overview [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 * Bump version in `CMakeLists.txt`, *CALAMARES_VERSION* variables, and set
RC to a non-zero value (e.g. doing -rc1, -rc2, ...). Push that. 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 * Check `README.md` and everything `ci/HACKING.md`, make sure it's all still
relevant. Run `hacking/calamaresstyle` to check the C++ code style. relevant. Run `ci/calamaresstyle` to check the C++ code style.
Python code is checked as part of the Travis CI builds. Run pycodestyle on recently-modified Python modules, fix what makes sense.
* Check defaults in `settings.conf` and other configuration files. * Check defaults in `settings.conf` and other configuration files.
* Pull latest translations from Transifex. This is done nightly on Jenkins, * (Only releases from master)
so a manual pull is rarely necessary. Pull latest translations from Transifex. We only push / pull translations
* Update the list of enabled translation languages in `CMakeLists.txt`. 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 Check the [translation site][transifex] for the list of languages with
fairly complete translations. fairly complete translations.
#### (2) Tarball #### (2) Tarball
* Create tarball: `git-archive-all -v calamares-1.1-rc1.tar.gz` or without * Create tarball: `git-archive-all -v calamares-1.1-rc1.tar.gz` or without
the helper script, the helper script,
``` ```
@ -45,9 +56,10 @@ The Calamares release process
git archive -o $V.tar.gz --prefix $V/ master git archive -o $V.tar.gz --prefix $V/ master
``` ```
Double check that the tarball matches the version number. 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 #### (3) Tag
* Set RC to zero in `CMakeLists.txt` if this is the actual release. * 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 * `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. tag is shown as a verified tag. Do not sign -rc tags.
@ -57,6 +69,7 @@ The Calamares release process
* Write release article. * Write release article.
#### (4) Release day #### (4) Release day
* Publish tarball. * Publish tarball.
* Update download page. * Update download page.
* Publish release article on `calamares.io`. * Publish release article on `calamares.io`.