Skip to content
This repository was archived by the owner on Aug 17, 2026. It is now read-only.

ci(grunt): release workflow on tag push (v*-grunt.*) - #4

Merged
terrxo merged 1 commit into
devfrom
grunt-ci/release-workflow
May 26, 2026
Merged

terrxo merged 1 commit into
devfrom
grunt-ci/release-workflow

Conversation

@terrxo

@terrxo terrxo commented May 26, 2026

Copy link
Copy Markdown

Phase 4 distribution of hivemind anomalyco#222

Adds .github/workflows/grunt-release.yml. Triggered by:

  • Push of a tag matching v*-grunt.* (e.g. v1.15.10-grunt.1)
  • Manual workflow_dispatch with a tag input

Builds gruntcode binaries on:

  • macos-14 (darwin arm64)
  • macos-13 (darwin x64)
  • ubuntu-24.04 (linux x64)
  • ubuntu-24.04-arm (linux arm64)

Each runner:

  1. Checks out the tagged ref
  2. Sets up bun via the existing ./.github/actions/setup-bun composite action
  3. bun install --frozen-lockfile
  4. bun script/build.ts --single --skip-embed-web-ui — leverages upstream's build script directly; --single builds only for the current host's platform/arch (one build per matrix row); --skip-embed-web-ui cuts binary size + build time since gruntcode is TUI-focused
  5. Renames the produced opencode binary → gruntcode
  6. tars + sha256 + uploads to the matching GH release

Gated to grunt-it/gruntcode

if: github.repository == 'grunt-it/gruntcode' ensures a rebase that pulls upstream workflows can't accidentally fire ours.

Out of scope

  • No npm publish (we don't need it; brew is the distribution channel)
  • No code signing (would need an Apple Developer ID; defer until we have actual users on macOS hitting Gatekeeper)
  • No Windows build (gruntcode is TUI-focused; opencode upstream's Windows support is mature and we don't have Windows users yet)

Next step

After this merges, I'll push the first tag v1.15.10-grunt.1 (where 1.15.10 is the upstream version we last rebased on per bun.lock and 1 is our patch series revision — currently 3 commits: identity doc + patch 2c SSE fix + patch 2a peer-id flag). Then update the homebrew tap formula to point at the produced tarball.

…ries)

Adds .github/workflows/grunt-release.yml. Triggered by push of a tag
matching v*-grunt.* OR workflow_dispatch. Builds gruntcode binaries for
macOS arm64/x64 + Linux x64/arm64 by:

1. Checking out the tagged ref
2. setup-bun via the existing composite action
3. bun install --frozen-lockfile
4. bun script/build.ts --single --skip-embed-web-ui (leverages upstream
   build script as-is; --single = current host's target only;
   --skip-embed-web-ui = drop the embedded web UI to cut binary size and
   build time since gruntcode is TUI-focused)
5. Rename produced opencode binary → gruntcode
6. tar + sha256 + upload to GH release via softprops/action-gh-release

Gated to grunt-it/gruntcode repo so a rebase that pulls upstream
workflows can't accidentally fire ours.

Also updates GRUNTCODE.md to document the release tag scheme
(vX.Y.Z-grunt.N) and the workflow trigger.

Refs hivemind anomalyco#222 Phase 4 distribution.
@terrxo
terrxo merged commit e33d3a5 into dev May 26, 2026
3 of 10 checks passed
@terrxo
terrxo deleted the grunt-ci/release-workflow branch May 26, 2026 21:23
@github-actions

Copy link
Copy Markdown

This PR doesn't fully meet our contributing guidelines and PR template.

What needs to be fixed:

  • PR description is missing required template sections. Please use the PR template.

Please edit this PR description to address the above within 2 hours, or it will be automatically closed.

If you believe this was flagged incorrectly, please let a maintainer know.

@github-actions

Copy link
Copy Markdown

Hey! Your PR title ci(grunt): release workflow on tag push (v*-grunt.*) doesn't follow conventional commit format.

Please update it to start with one of:

  • feat: or feat(scope): new feature
  • fix: or fix(scope): bug fix
  • docs: or docs(scope): documentation changes
  • chore: or chore(scope): maintenance tasks
  • refactor: or refactor(scope): code refactoring
  • test: or test(scope): adding or updating tests

Where scope is the package name (e.g., app, desktop, opencode).

See CONTRIBUTING.md for details.

terrxo added a commit that referenced this pull request May 28, 2026
…ries) (#4)

Adds .github/workflows/grunt-release.yml. Triggered by push of a tag
matching v*-grunt.* OR workflow_dispatch. Builds gruntcode binaries for
macOS arm64/x64 + Linux x64/arm64 by:

1. Checking out the tagged ref
2. setup-bun via the existing composite action
3. bun install --frozen-lockfile
4. bun script/build.ts --single --skip-embed-web-ui (leverages upstream
   build script as-is; --single = current host's target only;
   --skip-embed-web-ui = drop the embedded web UI to cut binary size and
   build time since gruntcode is TUI-focused)
5. Rename produced opencode binary → gruntcode
6. tar + sha256 + upload to GH release via softprops/action-gh-release

Gated to grunt-it/gruntcode repo so a rebase that pulls upstream
workflows can't accidentally fire ours.

Also updates GRUNTCODE.md to document the release tag scheme
(vX.Y.Z-grunt.N) and the workflow trigger.

Refs hivemind anomalyco#222 Phase 4 distribution.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant