[desktop] Tweak the nightly build flow

If we publish a tag when publishing the pre-release, it then triggers another
workflow invocation that fails (harmlessly). So instead, push the tag after
releasing to trigger the steps.
This commit is contained in:
Manav Rathi
2024-05-31 13:14:56 +05:30
parent 575c5aad81
commit 52b3a6d0f7

View File

@@ -17,8 +17,8 @@ to keep a separate (non-mono) repository just for doing releases.
## Workflow - Release Candidates
Nightly RC builds of `main` are published by a scheduled workflow automatically.
If needed, these builds can also be manually triggered, including specifying the
source repository branch to build:
If needed, these builds can also be manually triggered, and the branch of the
source repository to build (default "main") also specified:
```sh
gh workflow run desktop-release.yml --source=<branch>
@@ -46,17 +46,27 @@ Each such workflow run will update the artifacts attached to the same
```
This'll trigger the workflow and create a new draft release, which you can
publish after adding the release notes.
publish after adding the release notes. Once you publish, the release goes live.
The release is done at this point, and we can now start a new RC train for
subsequent nightly builds.
The release is done at this point, and we can now create a new pre-release to
host subsequent nightly builds.
1. Update `package.json` in the source repo to use version `1.x.x-rc`. Create a
new draft release in the release repo with title `1.x.x-rc`. In the tag
input enter `v1.x.x-rc` and select the option to "create a new tag on
publish".
1. Update `package.json` in the source repo to use version `1.x.x-rc`, and
merge these changes into `main`.
## Post build
2. In the release repo:
```sh
git tag 1.x.x-rc
git push origin 1.x.x-rc
```
3. Once the draft release is created, edit its description to "Nightly builds",
set it as a pre-release and publish.
4. Delete the pre-release for the previous (already released) version.
## Details
The GitHub Action runs on Windows, Linux and macOS. It produces the artifacts
defined in the `build` value in `package.json`.