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
* 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`.