Skip to content
Merged
Changes from 10 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 80 additions & 0 deletions .github/workflows/bun-compile.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
# Bun Compile
# Compiles Auggie CLI into self-contained native binaries using Bun,
# pulling the pre-built @augmentcode/auggie package from npm.

name: Bun Compile
on:
workflow_dispatch:
inputs:
version:
description: 'npm package version (e.g. 0.17.0)'
required: true
type: string
repository_dispatch:
types: [npm-published]
push:
branches:
- auggie-bun-compile-workflow

jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
include:
- target: bun-darwin-arm64
output: auggie-darwin-arm64
artifact: auggie-darwin-arm64
- target: bun-darwin-x64
output: auggie-darwin-x64
artifact: auggie-darwin-x64
- target: bun-linux-x64
output: auggie-linux-x64
artifact: auggie-linux-x64
- target: bun-windows-x64
output: auggie-windows-x64.exe
artifact: auggie-windows-x64
permissions:
contents: read
steps:
- name: Set up Bun
uses: oven-sh/setup-bun@v2

- name: Install package
run: bun install @augmentcode/auggie@${{ inputs.version || github.event.client_payload.version || '0.18.1' }}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here too.. crash if no value. do not fall back on 0.18.1

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed — removed the '0.18.1' fallback here too. Version is passed via env and the step fails with a clear error if empty.


- name: Create entry point
run: |
echo 'await import("@augmentcode/auggie");' > augment.mjs

- name: Compile binary
run: bun build augment.mjs --compile --target=${{ matrix.target }} --outfile=${{ matrix.output }}

- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.artifact }}
path: ${{ matrix.output }}

release:
needs: build
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Download all artifacts
uses: actions/download-artifact@v4
with:
path: artifacts
merge-multiple: true

- name: Create GitHub Release
env:
GH_TOKEN: ${{ github.token }}
GH_REPO: ${{ github.repository }}
run: |
gh release create "v${{ inputs.version || github.event.client_payload.version || '0.18.1' }}" \
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This fallback is probably not good.. needs to crash if doesn't exist.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed — removed the '0.18.1' fallback. The version is now passed via an env variable and the step fails explicitly with exit 1 if no version is provided.

--title "v${{ inputs.version || github.event.client_payload.version || '0.18.1' }}" \
--generate-notes \
artifacts/*