Skip to content

Build every release file in CI and publish from the tag - #97

Merged
BeardedUnicorn merged 2 commits into
mainfrom
claude/github-ci-release-builds-8b46fc
Nov 8, 2026
Merged

BeardedUnicorn merged 2 commits into
mainfrom
claude/github-ci-release-builds-8b46fc

Conversation

@BeardedUnicorn

Copy link
Copy Markdown
Owner

What

A pushed vX.Y.Z tag now runs a new Release workflow (.github/workflows/release.yml). It builds:

File Runner
TaskMint-X.Y.Z-macos-arm64.dmg macos-26
TaskMint-X.Y.Z-macos-x64.dmg macos-26, cross-compiled for Intel
TaskMint-X.Y.Z-windows-x64-setup.exe windows-2025, built natively
TaskMint-X.Y.Z-chrome-extension.zip ubuntu-26.04

Once all four are built, it creates the GitHub release with the version's CHANGELOG section. A re-run replaces the files of a release that already exists. A manual run, or a pull request that touches the release machinery (like this one), builds the same files as workflow artifacts and publishes nothing.

  • scripts/release.mjs: a repeatable --target, native Windows builds, the extension zip, and a github-release command that the workflow runs last. publish now only pushes main and the tag. The local pnpm release still builds this Mac's DMG before tagging.
  • tauri.conf.json: the Mac app is signed ad hoc, so macOS offers Open Anyway for a downloaded build instead of calling it damaged. Nothing is code-signed.
  • The desktop builds read a VITE_SENTRY_DSN repo secret for error reporting. With no secret they report nothing.

CI annotations (run 42424925366)

  • Node.js 20 deprecation: moved to the Node 24 majors: actions/checkout@v7, actions/setup-node@v7, actions/upload-artifact@v7, pnpm/action-setup@v6, and actions/download-artifact@v8 in the new workflow.
  • ubuntu-latest moving to Ubuntu 26: pinned to ubuntu-26.04, the image that run already used. Every runner label is now pinned (macos-26, ubuntu-26.04, windows-2025).
  • macOS arm64 capacity notice: this is GitHub's notice on Apple-silicon jobs. No workflow setting removes it.

Testing

  • pnpm test:scripts: new tests for the target, file-name and build-plan logic.
  • node scripts/release.mjs --rebuild --target chrome-extension built the zip locally, with manifest.json and its key at the root.
  • This PR's Release run builds all four files.
  • Not yet run: the github-release job. It only runs on a tag.

🤖 Generated with Claude Code

BeardedUnicorn and others added 2 commits November 7, 2026 18:38
A pushed vX.Y.Z tag now runs the Release workflow: the Apple silicon and
Intel DMGs (Intel cross-compiled on macos-26), the Windows installer
(built natively on windows-2025) and the Chrome extension zip, then the
GitHub release with the version's CHANGELOG section once all four exist.
Pull requests that touch the release machinery, and manual runs, build
the same files as artifacts and publish nothing.

scripts/release.mjs gains --target (one per file a release ships), native
Windows builds, the extension zip and a github-release command for the
workflow; `publish` now only pushes main and the tag. The Mac app is
signed ad hoc so a downloaded build gets "Open Anyway", not "damaged".

CI: actions move to their Node 24 majors (checkout v7, setup-node v7,
upload-artifact v7, pnpm/action-setup v6) and the runners are pinned
(macos-26, ubuntu-26.04), clearing run 42424925366's Node 20 and
ubuntu-latest migration annotations.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The test's running timer starts at 09:00 today, so before 09:00 local time
it hadn't started and the reconciliation table never rendered. CI runs in
UTC, so the check job failed whenever it ran before 09:00 UTC. The test now
reads the time as noon (only Date is faked, so the 1 s tick still runs).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@BeardedUnicorn
BeardedUnicorn merged commit 17341f2 into main Nov 8, 2026
7 checks passed
@BeardedUnicorn
BeardedUnicorn deleted the claude/github-ci-release-builds-8b46fc branch November 8, 2026 03:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant