Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions docs/development.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,10 @@ Installer builds are platform-specific. Build the macOS `.pkg` on macOS and the

GitHub Actions now has two installer-related workflows:

- `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.
- `Release`: manual-only. It reuses the same installer build workflow, downloads those installer artifacts, and creates a GitHub Release with the installers attached.
- `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.
- `Release`: manual-only. It calls `Build Installers`, receives that called workflow's uploaded artifacts, and attaches the installer files to a GitHub Release.

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.

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:

Expand Down
12 changes: 7 additions & 5 deletions docs/release-checklist.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,12 @@ lua -e 'assert(loadfile("resolve/Fusion/Modules/OpenBeat/OpenBeatCommon.lua"))'

## Installer Build

- Run the `Build Installers` workflow on the target commit.
- 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.
- 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.
- 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.
- Confirm the macOS artifact is named `OpenBeat-macos-<version>.pkg`.
- Confirm the Windows artifact is named `OpenBeat-windows-<version>-installer.exe`.
- Download both artifacts and verify they are not stale local files.
- Verify both files came from the draft GitHub Release, not from a local build or an older workflow run.

## Smoke Test

Expand Down Expand Up @@ -58,12 +60,12 @@ For both platforms:
## Publish GitHub Release

- Confirm the chosen license is present before using open-source wording publicly.
- Run the `Release` workflow for the target tag and commit.
- Confirm the draft release notes link to the changelog and accurately describe compatibility and known limitations.
- Publish the draft GitHub Release containing the smoke-tested macOS `.pkg` and Windows installer `.exe`, and mark it as the latest release.
- Confirm the GitHub Release includes both installer assets:
- `OpenBeat-macos-<version>.pkg`
- `OpenBeat-windows-<version>-installer.exe`
- Confirm the release notes link to the changelog and accurately describe compatibility and known limitations.
- Publish the GitHub Release and mark it as the latest release.
- Confirm the published Release still contains the exact installer assets that were smoke-tested.
- 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.
- Confirm the repository is public before launch.

Expand Down