release: cross-build Windows .exe + upload to forgejo release assets #102

Closed
opened 2026-05-27 00:02:32 +00:00 by coilysiren · 0 comments
Owner

Problem

Forgejo is now canonical for coily releases (closed by #80), but the Forgejo release pipeline only tags + creates the release. It does not cross-build the Windows .exe and does not upload binary assets. Releases v2.38.0 through v2.40.2 all ship with assets: 0 per the Forgejo API. The old GitHub release flow used to upload coily-windows-amd64.exe / -arm64.exe; that job did not get carried across in #80 ("Not migrated in this change... Blocked on migrating scoop-bucket to forgejo (separate sweep)").

This blocks the scoop-bucket Forgejo migration (companion issue in coilysiren/scoop-bucket) and breaks make install-windows parity with brew install coily.

Change

  • .forgejo/workflows/release.yml: add a cross-build step that runs go build -tags prod -o coily-windows-amd64.exe ./cmd/coily under GOOS=windows GOARCH=amd64 (and arm64), then uploads both as Forgejo release assets via coily ops forgejo release upload-asset (the verb from #75) or the equivalent shared composite action under coilysiren/agentic-os/actions/.
  • Same step emits coily-windows-amd64.exe.sha256 / -arm64.exe.sha256 so the scoop manifest's hash.url autoupdate keeps working.
  • Backfill v2.40.2 with assets after the pipeline lands, so the scoop-bucket cutover has a working "latest" to point at.

Why now

Supersedes the GitHub-Actions plan in #50, which is stale post-#80. Companion issue in coilysiren/scoop-bucket flips the manifest the moment assets exist.

Out of scope

  • Signed Windows binaries.
  • MSI / winget.

Closes the Windows-half of #50 (the scoop-bucket companion closes the rest).

**Problem** Forgejo is now canonical for coily releases (closed by #80), but the Forgejo release pipeline only tags + creates the release. It does not cross-build the Windows `.exe` and does not upload binary assets. Releases v2.38.0 through v2.40.2 all ship with `assets: 0` per the Forgejo API. The old GitHub release flow used to upload `coily-windows-amd64.exe` / `-arm64.exe`; that job did not get carried across in #80 ("Not migrated in this change... Blocked on migrating scoop-bucket to forgejo (separate sweep)"). This blocks the scoop-bucket Forgejo migration (companion issue in `coilysiren/scoop-bucket`) and breaks `make install-windows` parity with `brew install coily`. **Change** - `.forgejo/workflows/release.yml`: add a cross-build step that runs `go build -tags prod -o coily-windows-amd64.exe ./cmd/coily` under `GOOS=windows GOARCH=amd64` (and `arm64`), then uploads both as Forgejo release assets via `coily ops forgejo release upload-asset` (the verb from #75) or the equivalent shared composite action under `coilysiren/agentic-os/actions/`. - Same step emits `coily-windows-amd64.exe.sha256` / `-arm64.exe.sha256` so the scoop manifest's `hash.url` autoupdate keeps working. - Backfill v2.40.2 with assets after the pipeline lands, so the scoop-bucket cutover has a working "latest" to point at. **Why now** Supersedes the GitHub-Actions plan in #50, which is stale post-#80. Companion issue in `coilysiren/scoop-bucket` flips the manifest the moment assets exist. **Out of scope** - Signed Windows binaries. - MSI / winget. Closes the Windows-half of #50 (the scoop-bucket companion closes the rest).
Sign in to join this conversation.
No labels
P0
P1
P2
P3
P4
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
coilyco-bridge/coily#102
No description provided.