From 5567c9290b692ee4e0a938a5233dc3d4fc153329 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Thu, 17 Aug 2023 12:18:11 +0200 Subject: Update releasing docs --- doc/changelog.asciidoc | 7 +++++++ doc/contributing.asciidoc | 18 +++++++++++++++--- scripts/dev/update_version.py | 2 +- 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/doc/changelog.asciidoc b/doc/changelog.asciidoc index 30fbfb8fd..53931f8b7 100644 --- a/doc/changelog.asciidoc +++ b/doc/changelog.asciidoc @@ -38,6 +38,13 @@ Major changes * `run-with-count` -> `cmd-run-with-count` The old names continue to work for the time being, but are deprecated and show a warning. +- Releases are now automated on CI, and GPG signed by + `qutebrowser bot `, fingerprint + `27F3 BB4F C217 EECB 8585 78AE EF7E E4D0 3969 0B7B`. + The key is available as follows: + * On https://qutebrowser.org/pubkey.gpg + * Via keys.openpgp.org + * Via WKD for bot@qutebrowser.org Added ~~~~~ diff --git a/doc/contributing.asciidoc b/doc/contributing.asciidoc index aa0c7516a..0be2655c5 100644 --- a/doc/contributing.asciidoc +++ b/doc/contributing.asciidoc @@ -758,18 +758,30 @@ qutebrowser release * Make sure there are no unstaged changes and the tests are green. * Make sure all issues with the related milestone are closed. +* Mark the https://github.com/qutebrowser/qutebrowser/milestones[milestone] as closed. * Consider updating the completions for `content.headers.user_agent` in `configdata.yml`. * Minor release: Consider updating some files from main: - `misc/requirements/` and `requirements.txt` - `scripts/` -* Make sure Python is up-to-date on build machines. -* Mark the milestone at https://github.com/qutebrowser/qutebrowser/milestones as closed. -* Update changelog in main branch +* Update changelog in main branch and ensure the correct version number has `(unreleased)` * If necessary: Update changelog in release branch from main. + +**Automatic release via GitHub Actions (starting with v3.0.0):** + +* Double check Python version in `.github/workflows/release.yml` +* Run the `release` workflow on the `main` branch, e.g. via `gh workflow run release -f release_type=major` (`release_type` can be `major`, `minor` or `patch`; you can also override `python_version`) + +**Manual release:** + +* Make sure Python is up-to-date on build machines. * Run `./.venv/bin/python3 scripts/dev/update_version.py {major,minor,patch}`. * Run the printed instructions accordingly. + +**Post release:** + * Update `qutebrowser-git` PKGBUILD if dependencies/install changed. * Add unreleased future versions to changelog * Update IRC topic * Announce to qutebrowser and qutebrowser-announce mailinglist. * Post announcement mail to subreddit +* Post on the website formerly known as Twitter diff --git a/scripts/dev/update_version.py b/scripts/dev/update_version.py index 424a77559..b0f48710e 100644 --- a/scripts/dev/update_version.py +++ b/scripts/dev/update_version.py @@ -100,7 +100,7 @@ if __name__ == "__main__": "tox -e build-release -- --upload" .format(v=version)) print("* Windows: git fetch; git checkout v{v}; " - "py -3.9 -m tox -e build-release -- --upload" + "py -3.X -m tox -e build-release -- --upload" .format(v=version)) print("* macOS: git fetch && git checkout v{v} && " "tox -e build-release -- --upload" -- cgit v1.2.3-54-g00ecf