Skip to content

ci: GitHub Actions pipeline for Linux, Windows and macOS - #2

Merged
DPicillo merged 5 commits into
masterfrom
ci/github-actions
Nov 1, 2026
Merged

DPicillo merged 5 commits into
masterfrom
ci/github-actions

Conversation

@DPicillo

@DPicillo DPicillo commented Nov 1, 2026 •

Copy link
Copy Markdown
Owner

Adds .github/workflows/ci.yml:

  • Tests on every push to master and every pull request: gofmt, go build / vet / test, the design token lint gates (now scripts/lint-tokens.sh), tsc, both node test suites and the Vite build.
  • Builds: Linux (WebKitGTK 4.0 on Ubuntu 22.04 and WebKitGTK 4.1 on Ubuntu 24.04), Windows (portable exe + NSIS installer), macOS (universal .app, zipped), all stamped with version, commit and date via scripts/build.sh.
  • Releases only: builds are published only when a release is made — a pushed tag v* creates the GitHub release (notes from the matching CHANGELOG.md section) and attaches all builds plus SHA256SUMS.txt. "Run workflow" by hand only tests and builds (run artifacts); it never touches a release.

Also fixes a flaky test (TestCancelProviderCheckWhileDiscoveryBusy removed its temp dir while the background discovery was still writing).

README: CI and release badges, download table for all platforms. CLAUDE.md and CHANGELOG updated.

🤖 Generated with Claude Code

https://claude.ai/code/session_015QW7EoWE2iLGGzadZAsN6d

DPicillo and others added 5 commits November 1, 2026 21:18
Tests (gofmt, go build/vet/test, design token lint gates, tsc, node tests,
Vite build) on every push and pull request, then builds for Linux (WebKitGTK
4.0 and 4.1), Windows (portable exe + NSIS installer) and macOS (universal
app). A pushed tag v* publishes the release with all builds and
SHA256SUMS.txt; "Run workflow" with a tag attaches missing builds to an
existing release.

The lint gates of the design spec (G1-G12) are now a script,
scripts/lint-tokens.sh.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015QW7EoWE2iLGGzadZAsN6d
…removed

TestCancelProviderCheckWhileDiscoveryBusy left the released discovery
writing the model cache while t.TempDir was being removed (failed on CI:
unlinkat … directory not empty).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015QW7EoWE2iLGGzadZAsN6d
The release job runs only for a pushed tag v*; the manual run no longer
attaches builds to an existing release (it only tests and builds).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015QW7EoWE2iLGGzadZAsN6d
The CI entry joins the v0.5.0 changelog (v0.5.0 is re-published by the
pipeline), the known issues describe the unsigned builds, and release
notes get a downloads table.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015QW7EoWE2iLGGzadZAsN6d
ui/Dn.tsx next to ui/dn.ts and lifecycle/ContainerPicker.tsx next to
lifecycle/containerPicker.ts resolve to the same file on case-insensitive
file systems, so tsc failed on macOS and Windows. The pure modules are now
ui/dnParse.ts and lifecycle/containerPickerModel.ts; CI checks that no two
files differ only in letter case.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015QW7EoWE2iLGGzadZAsN6d
@DPicillo
DPicillo merged commit 9d48a75 into master Nov 1, 2026
6 checks passed
@DPicillo
DPicillo deleted the ci/github-actions branch November 1, 2026 20:39
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