- Make sure everything that needs to be in the release is there
- Notify main contributors
- Check that the PR for Release Notes is almost completed by PM. You can generate a draft release notes using this workflow
In the below example, we will pretend that we're upgrading from 0.11.0
to 0.12.0
.
- Go to https://github.com/containers/podman-desktop/actions/workflows/release.yaml
- Click on the top right drop-down menu
Run workflow
- Enter the name of the release. Example:
0.12.0
(DO NOT use the v prefix like v0.12.0) - Specify the branch to use for the new release. It's main for all major releases. For a bugfix release, you'll select a different branch.
- Click on the
Run workflow
button - Close the milestone for the respective release, make sure that all tasks within the milesetone are completed / updated before closing. https://github.com/containers/podman-desktop/milestones
- If not already created, create a new milestone for the upcoming release after for example
0.13.0
and click onCreate milestone
- Check that https://github.com/containers/podman-desktop/actions/workflows/release.yaml has been completed. Sometimes it will flake, so you may need to re-run it.
- There should be an automated PR that has been created. Approve PR for the upcoming version. The title looks like
chore: 📢 Bump version to 0.13.0
- Edit the new release https://github.com/containers/podman-desktop/releases/edit/v0.12.0
- Select previous tag (v0.11.0) and click on
Generate release notes
and the click onUpdate release
Pre-requisites:
- Ensure the release is OK (green workflow, artifacts are there https://github.com/containers/podman-desktop/releases)
Publish to brew. The workflow will create an automated PR to the brew cask repository https://github.com/Homebrew/homebrew-cask/
- Go to https://github.com/containers/podman-desktop/actions/workflows/publish-to-brew.yaml
- Click on the top right drop-down
Run workflow
- Select the release (under tags), which would be
v0.12.0
- Enter the release version
0.12.0
. DO NOT add thev
- Click
Run workflow
You can view the PR at: https://github.com/Homebrew/homebrew-cask/pulls?q=is%3Apr+podman-desktop
Publish to winget. The workflow will create an automated PR to the Winget pkgs repository https://github.com/microsoft/winget-pkgs/
- Go to https://github.com/containers/podman-desktop/actions/workflows/publish-to-winget.yaml
- Click on the top right drop-down
Run workflow
- Select the release (under tags), which would be
v0.12.0
- Enter the release version
0.12.0
. DO NOT add thev
- Click
Run workflow
You can view the PR at: https://github.com/microsoft/winget-pkgs/pulls?q=is%3Apr+podman-desktop
Publish to chocolatey. The workflow will create an automatic submission to the chocolatey site at https://community.chocolatey.org/packages/podman-desktop/#versionhistory
- Go to https://github.com/containers/podman-desktop/actions/workflows/publish-to-chocolatey.yaml
- Click on the top right drop-down
Run workflow
- Select the release (under tags), which would be
v0.12.0
- Enter the release version
0.12.0
. DO NOT add thev
- Click
Run workflow
Afterwards, you'll have to:
- Approve the PR with title
chore: Update Chocolatey package to 0.12.0
at https://github.com/containers/podman-desktop/pulls?q=is%3Apr+Update+Chocolatey
You can view the progress at: https://community.chocolatey.org/packages/podman-desktop/0.12.0
- Fork the repository https://github.com/flathub/io.podman_desktop.PodmanDesktop and clone your repository (example https://github.com/benoitf/io.podman_desktop.PodmanDesktop)
- Edit the file:
io.podman_desktop.PodmanDesktop.yml
- Replace url: https://github.com/containers/podman-desktop/archive/refs/tags/vXXX.tar.gz by the correct version (
0.12.0
) - Download the package:
wget https://github.com/containers/podman-desktop/archive/refs/tags/v0.12.0.tar.gz
- Get the SHA256:
shasum -a 256 v0.12.0.tar.gz
- Update
io.podman_desktop.PodmanDesktop.yml
with the new SHA256. - Unpack the tar:
tar zxf v0.12.0.tar.gz
- Run the command (updating the volume mount path)
podman run --rm -it -v $(pwd)/podman-desktop-0.12.0:/podman quay.io/podman-desktop/flatpak-node-generator yarn /podman/yarn.lock -o /podman/generated-sources.json
- Copy the file
$(pwd)/podman-desktop-0.12.0/generated-sources.json
togenerated-sources.json
- Only commit the files:
generated-sources.json
io.podman_desktop.PodmanDesktop.yml
- Create a PR to the repository with a title like
feat: bump to v0.11.0
- If the PR passes all tests, merge the PR
Publish update to the podman website at https://podman.io
The workflow will create an automatic submission to the podman.io site at https://github.com/containers/podman.io/pull/
- Go to https://github.com/containers/podman-desktop/actions/workflows/publish-to-podman_io.yaml
- Click on the top right drop-down
Run workflow
- Select the release (under tags), which would be
v1.2.0
- Enter the release version
1.2.0
. DO NOT add thev
- Click
Run workflow
- Double check with the Project Manager / Technical lead that the release notes are ready
- Merge the release notes (there should be a pending PR such as:
Release notes 0.12
)
- Create a new announcement at https://github.com/containers/podman-desktop/discussions
- Example template:
Hello,
A new release of Podman Desktop is out: [v0.11.0](https://github.com/containers/podman-desktop/milestone/12?closed=1)
Download it from the [download section](https://podman-desktop.io/downloads) of the [Podman Desktop website](https://podman-desktop.io/)
Release Notes are available at https://podman-desktop.io/blog/podman-desktop-release-0.11
Full Changelog is available at https://github.com/containers/podman-desktop/releases/tag/v0.11.0
An example of a previous post: https://www.reddit.com/r/podman/comments/10moat6/a_new_version_of_podman_desktop_is_out_v0110/
- Click create post on the Podman subreddit.
- Title it:
A new version of Podman Desktop is out: v0.12.0
- Copy over release notes (markdown works on Reddit)
- Send email to devtools-team at redhat.com, Podman-Desktop at redhat.com
- Send email to product-announce at redhat.com (high level)
- Send email to podman-desktop at lists.podman.io (no links to Red Hat internal slack, etc.)