mirror of https://github.com/cutefishos/calamares
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.8 KiB
2.8 KiB
The Calamares release process
(0) A week in advance
- (Only releases from master) Run Coverity scan, fix what's relevant. The Coverity scan runs automatically once a week on master.
- Build with clang -Weverything, fix what's relevant.
rm -rf build ; mkdir build ; cd build CC=clang CXX=clang++ cmake .. && make
- Make sure all tests pass.
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. There are some sample config-files that are empty and which fail the config-tests.make make test
- (Only releases from master) Notify translators. In the dashboard there is an Announcements link that you can use to send a translation announcement.
(1) Preparation
- 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 everythingci/HACKING.md
, make sure it's all still relevant. Runci/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. - (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 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,
Double check that the tarball matches the version number.V=calamares-3.1.5 git archive -o $V.tar.gz --prefix $V/ master
- 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.- Generate MD5 and SHA256 checksums.
- Upload tarball.
- Announce on mailing list, notify packagers.
- Write release article.
(4) Release day
- Publish tarball.
- Update download page.
- Publish release article on
calamares.io
. - Publicize on social networks.
- Close associated milestone on GitHub if this is the actual release.
- Publish blog post.