Skip to content

Commit

Permalink
Update release documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
mmerklinger committed Nov 19, 2024
1 parent bdebfa2 commit 79dc4bc
Showing 1 changed file with 34 additions and 19 deletions.
53 changes: 34 additions & 19 deletions docs/release.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,36 @@
# Release Documentation

* adapt version information (todo: centralize)

* `/VERSION` (mind the final newline)
* `pyproject.toml`
* `ci-scripts/linux/rpm/nitrokey-app2.spec`
* add flatpak meta-data in `meta/com.nitrokey.nitrokey-app2.metainfo.xml`,
like this: `<release version="2.3" date="2024-04-19"/>`
* the latest release should be on top of this list


* create tag (`git tag -S -m "vX.Y.Z" vX.Y.Z` or in the web-ui)

* `git push --tags`

* create release based on tag (web-ui)

* set `pre-release` if required...

* wait for actions to fail
Follow the steps below exactly to avoid a broken release.

1. Adapt version information.
The CI pipeline will fail if the version strings in the files below do not match.
* `nitrokeyapp/VERSION` (mind the final newline)
* `pyproject.toml`
* `ci-scripts/linux/rpm/nitrokey-app2.spec`
* Add flatpak meta-data in `meta/com.nitrokey.nitrokey-app2.metainfo.xml`,
like this: `<release version="2.3" date="2024-04-19"/>`
* The latest release should be on top of this list.
2. Create a new tag and release.
1. Make sure the `main` branch of your cloned repository is up-to-date.
Create a new tag with `git tag -S -m "vX.Y.Z" vX.Y.Z` and push it to GitHub with `git push --tags`.
Open the repository on GitHub and open the releases page.
Click "Draft a new release" and select the just created tag.
2. Open the repository on GitHub and open the releases page.
Click "Draft a new release".
In the dropdown field "Choose a tag" select "Create a new tag".
Enter the version string in the form `vX.Y.Z`.
Fill the fields title and description.
Set the checkbox "Set as a pre-release" or "Set as the latest release".
A pre-release can still be safely removed, a latest release can not be removed anymore.
3. Wait for the pipelines to succeed.
At this point the tag and release can still be removed.
Continue only when the pipelines succeded and manual tests are fine.
4. Download the Windows artifacts ending in `_unsigned.exe` and `_unsigned.msi`.
Sign the artifacts and remove the `_unsigned` from the file names.
Open the release page for the version and click the edit button.
Upload the signed arifacts, delete the unsigned artifacts and save the change.
5. Open the release page for the version and click the edit button again.
Change the release from pre-release to latest release and save the change.
6. Please mind that Flatpak and RPM COPR builds need to be triggered manually.

The release is now complete.

0 comments on commit 79dc4bc

Please sign in to comment.