You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/development.md
+4-2Lines changed: 4 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -42,8 +42,10 @@ Installer builds are platform-specific. Build the macOS `.pkg` on macOS and the
42
42
43
43
GitHub Actions now has two installer-related workflows:
44
44
45
-
-`Build Installers`: runs on pull requests, pushes to `main`, and manual dispatches. It builds the macOS and Windows installers and uploads them as workflow artifacts.
46
-
-`Release`: manual-only. It reuses the same installer build workflow, downloads those installer artifacts, and creates a GitHub Release with the installers attached.
45
+
-`Build Installers`: runs on pull requests and pushes to `main` to test that both platform installers still build. Those automatic runs do not upload workflow artifacts. A manual run builds the same installers and uploads them as workflow artifacts retained for seven days.
46
+
-`Release`: manual-only. It calls `Build Installers`, receives that called workflow's uploaded artifacts, and attaches the installer files to a GitHub Release.
47
+
48
+
Use a manual `Build Installers` run when a contributor needs downloadable installers for testing a branch, tag, or commit without creating a release. Use `Release` when maintainers are preparing a version for distribution: its GitHub Release assets are the durable, public downloads. Workflow artifacts from a manual build are temporary test outputs, not release downloads.
47
49
48
50
The release workflow expects the repository version to already be updated in both `pyproject.toml` and `openbeat/__init__.py`. Trigger it with a tag like `v0.1.0`, and it will:
- Run the `Build Installers` workflow on the target commit.
29
+
- Optionally run `Build Installers` manually on the target commit for a preflight test without creating a release. Push and pull-request runs build the installers but do not upload them; manual-run artifacts expire after seven days.
30
+
- Run the manual `Release` workflow for the target and version tag with **Save as draft** enabled. The workflow calls `Build Installers` and attaches its newly built installers to the draft GitHub Release.
31
+
- Download both installer assets from the draft GitHub Release. These release assets, not artifacts from a separate manual build, are the files to smoke-test and distribute.
30
32
- Confirm the macOS artifact is named `OpenBeat-macos-<version>.pkg`.
31
33
- Confirm the Windows artifact is named `OpenBeat-windows-<version>-installer.exe`.
32
-
-Download both artifacts and verify they are not stale local files.
34
+
-Verify both files came from the draft GitHub Release, not from a local build or an older workflow run.
33
35
34
36
## Smoke Test
35
37
@@ -58,12 +60,12 @@ For both platforms:
58
60
## Publish GitHub Release
59
61
60
62
- Confirm the chosen license is present before using open-source wording publicly.
61
-
- Run the `Release` workflow for the target tag and commit.
63
+
- Confirm the draft release notes link to the changelog and accurately describe compatibility and known limitations.
64
+
- Publish the draft GitHub Release containing the smoke-tested macOS `.pkg` and Windows installer `.exe`, and mark it as the latest release.
62
65
- Confirm the GitHub Release includes both installer assets:
63
66
-`OpenBeat-macos-<version>.pkg`
64
67
-`OpenBeat-windows-<version>-installer.exe`
65
-
- Confirm the release notes link to the changelog and accurately describe compatibility and known limitations.
66
-
- Publish the GitHub Release and mark it as the latest release.
68
+
- Confirm the published Release still contains the exact installer assets that were smoke-tested.
67
69
- Open the [latest-release URL](https://github.com/eimexdev/OpenBeat/releases/latest) in an incognito browser and verify that both assets can be downloaded without signing in or completing a checkout.
0 commit comments