//Checklist for RC (.90) and stable (.x) releases. For beta (.80) releases, see `<FIXME>`. //
**PREPARATIONS** a few days before tagging date
Update the "release-tools" repository:
* [X] `cd <GITSRC>/release-tools`
* [X] make sure the repo is current (`git checkout releases/20.12`, `git pull`, `git diff` etc.)
* [X] in file "version" increase version number to `20.12.1`
* [X] in file "create_log.py" change "fromVersion=" to `v20.12.0` (previous stable)
* [ ] ~~(only for .0 releases) in file "create_sources_inc" change "unstable" to `stable` in download URL ~~
* [X] `git commit . && git push` to publish edits
Prepare repositories to be released:
* [X] make sure you have a recent master checkout of all repositories from "modules.git" in <GITSRC>
* [X] `./increase_repos_version.sh` with "git push" commented out to avoid pushing changes twice
* [X] `./add_appstream_version.sh -v -s<GITSRC> --date 2021-01-07` (expected release date) to push AppStream changes
* [X] `./increase_repos_version.sh` with "git push" intact to push remaining repositories
* [ ] check for "error:" in script outputs and manually fix and push git conflicts
* [ ] check and inform maintainers of build errors at https://build.kde.org/job/Applications/view/Everything%20-%20stable-kf5-qt5/
* [ ] check `git log v20.12.0..origin/releases/20.12` for all repositories
* [ ] (only for bugfix releases, starting with .1) inform promo team of three or five changes that are worth to announce (important bug fixes, commits from new contributors, ...)
**PACKAGING** at tagging time
Prepare download directory (on `ftpadmin@deino.kde.org`):
* [ ] `ssh-add ; ssh -o ForwardAgent=yes ftpadmin@deino.kde.org` to log in
* [ ] `cd stable/release-service/` (resp. `cd unstable/release-service` for beta and RC releases)
* [ ] `mkdir -p 20.12.1/src ; chmod 750 20.12.1 20.12.1/src ; chown ftpadmin.packager 20.12.1 20.12.1/src` to create the download "src" directory with correct attributes
* [ ] `exit` to log out
Prepare tars and signatures (on `pkgapplications@capona.kde.org`):
* [ ] `ssh-add ; ssh -o ForwardAgent=yes pkgapplications@capona.kde.org` to log in
* [ ] `cd release-tools/`
* [ ] make sure the repo is current (`git checkout releases/20.12`, `git pull`, `git diff` etc.)
* For **initial tars**:
** [ ] `rm -rf sources versions` to cleanup files from old releases
** [ ] `./update_l10n.sh` to fetch localization updates
** [ ] `./pack_all.sh` to generate the tars and signatures (needs 0.5 ... 1.5 hours)
** [ ] `scp sources/*.tar.xz* "ftpadmin@deino.kde.org:/srv/archives/ftp/stable/release-service/20.12.1/src/"` to copy tars and and signatures to download location
* For each **respin**:
** [ ] `./pack.sh <REPO>` to update a single tar and signature
** [ ] changes for REVISIONS_AND_HASHES are in file "versions/<REPO>"
** [ ] `scp sources/<REPO>.tar.xz* "ftpadmin@deino.kde.org:/srv/archives/ftp/stable/release-service/20.12.1/src/"` to copy tar and and signature to download location
* [ ] `./create_sources_inc > sources.inc`
* [ ] `exit` to log out
Prepare announcement for packagers:
[ ] copy files from capona, needed for announcements and tagging
** [ ] `scp "pkgapplications@capona.kde.org:release-tools/sources.inc" .`
** [ ] `scp "pkgapplications@capona.kde.org:release-tools/REVISIONS_AND_HASHES" .`
** [ ] `scp "pkgapplications@capona.kde.org:release-tools/versions/*" versions`
* [ ] `./create_log.py > changelog`
* [ ] make sure owner of all files in deino is "ftpadmin.packager" and have 644 access mode (rw-r--r--)
* [ ] announce tars to release-team list (changelog, REVISIONS_AND_HASHES, and signature verification key)
**RELEASE** on release day
//`<FIXME>`// still needs to be updated
[ ] make sure we can release (check CI again, recent commits, mails etc.)
[ ] open access to download directory in deino (chmod 755) to warm up mirrors
[ ] './tag_all.sh' to create and push git tags
[ ] commit "changelog" as announcements/fulllog_releases-19.12.1.inc
[ ] commit "sources.inc" as www/info/source-releases-19.12.1.inc
[ ] commit www/info/releases-19.12.1.php
[ ] inform promo team that releases are ready (e.g. via kde-promo IRC channel)
[ ] './add_bugzilla_versions.sh'