ci: every system on x64 and arm64, on the newest runner images #258

Merged
admin merged 2 commits from ci/every-architecture into dev 2026-10-14 22:45:25 +00:00
Owner

What and why

The app should build and its workloads should give the same answers on every platform it ships for. Until now we packaged only Linux x64, Windows x64 and macOS arm64, on -latest images that lag behind (ubuntu-latest is still 24.04).

  • Known-answer workloads (workload-architecture): six runners: ubuntu-26.04, ubuntu-26.04-arm, windows-2025, windows-11-arm, macos-26, macos-26-intel.
  • Desktop packaging and release: the same six. Each machine builds its own package with a daemon for its own processor, as electron-builder.config.cjs already requires. So we gain Windows arm64, Linux arm64 and Intel macOS packages.
  • Pinned images: every other hosted job, and the fork fallback for the self-hosted jobs, names ubuntu-26.04 instead of ubuntu-latest, so an image change shows up in a diff rather than unannounced.
  • download-artifact v7 → v8. The other actions were already on their latest major.
  • Dependabot (.github/dependabot.yml): weekly, one grouped PR each for actions, Go modules and the desktop's npm packages (minor and patch). Labelled dependencies.
  • The user guide lists the new packages.

All six runner labels are standard GitHub-hosted runners, free for public repositories.

How it was checked

This PR's own CI is the check: every new runner has to pick up its job and pass. Windows on Arm and Intel macOS are new to us, so packaging on them is the part to watch.

## What and why The app should build and its workloads should give the same answers on every platform it ships for. Until now we packaged only Linux x64, Windows x64 and macOS arm64, on `-latest` images that lag behind (`ubuntu-latest` is still 24.04). - **Known-answer workloads (`workload-architecture`):** six runners: `ubuntu-26.04`, `ubuntu-26.04-arm`, `windows-2025`, `windows-11-arm`, `macos-26`, `macos-26-intel`. - **Desktop packaging and release:** the same six. Each machine builds its own package with a daemon for its own processor, as `electron-builder.config.cjs` already requires. So we gain Windows arm64, Linux arm64 and Intel macOS packages. - **Pinned images:** every other hosted job, and the fork fallback for the self-hosted jobs, names `ubuntu-26.04` instead of `ubuntu-latest`, so an image change shows up in a diff rather than unannounced. - **`download-artifact` v7 → v8.** The other actions were already on their latest major. - **Dependabot (`.github/dependabot.yml`):** weekly, one grouped PR each for actions, Go modules and the desktop's npm packages (minor and patch). Labelled `dependencies`. - **The user guide** lists the new packages. All six runner labels are standard GitHub-hosted runners, free for public repositories. ## How it was checked This PR's own CI is the check: every new runner has to pick up its job and pass. Windows on Arm and Intel macOS are new to us, so packaging on them is the part to watch.
Owner

Hey @rvnminers-A-and-N — the first six-platform run found two failures on Linux ARM64, both in the package verifier rather than in the build itself: it was still looking for linux-unpacked, while electron-builder emitted linux-arm64-unpacked. I’ve pushed a fix that selects the unpacked-resource path by OS and architecture (including Windows ARM64) and added coverage for all six targets. I also refreshed the branch against the latest dev; the full matrix is rerunning now. Thanks for extending this to the new architectures — this caught exactly the kind of assumption the matrix should expose.

Hey @rvnminers-A-and-N — the first six-platform run found two failures on Linux ARM64, both in the package verifier rather than in the build itself: it was still looking for `linux-unpacked`, while electron-builder emitted `linux-arm64-unpacked`. I’ve pushed a fix that selects the unpacked-resource path by OS and architecture (including Windows ARM64) and added coverage for all six targets. I also refreshed the branch against the latest `dev`; the full matrix is rerunning now. Thanks for extending this to the new architectures — this caught exactly the kind of assumption the matrix should expose.
Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Sisyphus/Sisyphus#258