Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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
61 changes: 36 additions & 25 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ jobs:
- 'docs/**'
- 'plugins/**'
- 'package.json'
- 'bun.lock'
- 'pnpm-lock.yaml'
- '.github/workflows/ci.yml'
- name: Compute build matrix
id: targets
Expand Down Expand Up @@ -123,13 +123,16 @@ jobs:
# merge SHA, always fetchable from the base repo with github.token).
ref: ${{ steps.token.outcome == 'success' && (github.head_ref || github.ref_name) || '' }}
- uses: oven-sh/setup-bun@v2
with:
bun-version: "1.3.13"
- uses: pnpm/action-setup@v4
- uses: actions/cache@v5
id: cache
with:
path: node_modules
key: node-modules-${{ hashFiles('bun.lock', 'patches/**') }}
key: node-modules-${{ hashFiles('pnpm-lock.yaml', '.npmrc', 'patches/**') }}
- if: steps.cache.outputs.cache-hit != 'true'
run: bun install --frozen-lockfile
run: pnpm install --frozen-lockfile
- name: Generate API Schema
run: bun run generate:schema
- name: Generate docs and skill files
Expand Down Expand Up @@ -175,13 +178,16 @@ jobs:
steps:
- uses: actions/checkout@v6
- uses: oven-sh/setup-bun@v2
with:
bun-version: "1.3.13"
- uses: pnpm/action-setup@v4
- uses: actions/cache@v5
id: cache
with:
path: node_modules
key: node-modules-${{ hashFiles('bun.lock', 'patches/**') }}
key: node-modules-${{ hashFiles('pnpm-lock.yaml', '.npmrc', 'patches/**') }}
- if: steps.cache.outputs.cache-hit != 'true'
run: bun install --frozen-lockfile
run: pnpm install --frozen-lockfile
- run: bun run generate:schema
- run: bun run lint
- run: bun run typecheck
Expand All @@ -201,13 +207,16 @@ jobs:
steps:
- uses: actions/checkout@v6
- uses: oven-sh/setup-bun@v2
with:
bun-version: "1.3.13"
- uses: pnpm/action-setup@v4
- uses: actions/cache@v5
id: cache
with:
path: node_modules
key: node-modules-${{ hashFiles('bun.lock', 'patches/**') }}
key: node-modules-${{ hashFiles('pnpm-lock.yaml', '.npmrc', 'patches/**') }}
- if: steps.cache.outputs.cache-hit != 'true'
run: bun install --frozen-lockfile
run: pnpm install --frozen-lockfile
- name: Generate API Schema
run: bun run generate:schema
- name: Unit Tests
Expand All @@ -233,25 +242,18 @@ jobs:
steps:
- uses: actions/checkout@v6
- uses: oven-sh/setup-bun@v2
with:
bun-version: "1.3.13"
- uses: pnpm/action-setup@v4
- uses: actions/cache@v5
id: cache
with:
path: node_modules
key: node-modules-${{ matrix.os }}-${{ hashFiles('bun.lock', 'patches/**') }}
key: node-modules-${{ matrix.os }}-${{ hashFiles('pnpm-lock.yaml', '.npmrc', 'patches/**') }}
- name: Install dependencies
if: steps.cache.outputs.cache-hit != 'true'
shell: bash
run: |
# Retry logic for Windows Bun patch bug (ENOTEMPTY errors)
for i in 1 2 3; do
if bun install --frozen-lockfile; then
exit 0
fi
echo "Attempt $i failed, clearing Bun cache and retrying..."
bun pm cache rm 2>/dev/null || true
done
echo "All install attempts failed"
exit 1
run: pnpm install --frozen-lockfile
- name: Set nightly version
# Inject the nightly version (computed once in the changes job) into
# package.json before the build so it gets baked into the binary.
Expand Down Expand Up @@ -628,13 +630,16 @@ jobs:
steps:
- uses: actions/checkout@v6
- uses: oven-sh/setup-bun@v2
with:
bun-version: "1.3.13"
- uses: pnpm/action-setup@v4
- uses: actions/cache@v5
id: cache
with:
path: node_modules
key: node-modules-${{ hashFiles('bun.lock', 'patches/**') }}
key: node-modules-${{ hashFiles('pnpm-lock.yaml', '.npmrc', 'patches/**') }}
- if: steps.cache.outputs.cache-hit != 'true'
run: bun install --frozen-lockfile
run: pnpm install --frozen-lockfile
- name: Download Linux binary
uses: actions/download-artifact@v8
with:
Expand Down Expand Up @@ -664,16 +669,19 @@ jobs:
steps:
- uses: actions/checkout@v6
- uses: oven-sh/setup-bun@v2
with:
bun-version: "1.3.13"
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node }}
- uses: actions/cache@v5
id: cache
with:
path: node_modules
key: node-modules-${{ hashFiles('bun.lock', 'patches/**') }}
key: node-modules-${{ hashFiles('pnpm-lock.yaml', '.npmrc', 'patches/**') }}
- if: steps.cache.outputs.cache-hit != 'true'
run: bun install --frozen-lockfile
run: pnpm install --frozen-lockfile
- name: Bundle
env:
# Environment-scoped (production) — see note in build-binary.
Expand Down Expand Up @@ -705,6 +713,9 @@ jobs:
steps:
- uses: actions/checkout@v6
- uses: oven-sh/setup-bun@v2
with:
bun-version: "1.3.13"
- uses: pnpm/action-setup@v4
# Astro 6 requires Node >= 22.12. Pin an explicit version so the docs
# build doesn't rely on whatever ships on the runner image.
- uses: actions/setup-node@v6
Expand All @@ -714,9 +725,9 @@ jobs:
id: cache
with:
path: node_modules
key: node-modules-${{ hashFiles('bun.lock', 'patches/**') }}
key: node-modules-${{ hashFiles('pnpm-lock.yaml', '.npmrc', 'patches/**') }}
- if: steps.cache.outputs.cache-hit != 'true'
run: bun install --frozen-lockfile
run: pnpm install --frozen-lockfile
- name: Get CLI version
id: version
run: echo "version=$(node -p 'require("./package.json").version')" >> "$GITHUB_OUTPUT"
Expand Down
7 changes: 5 additions & 2 deletions .github/workflows/docs-preview.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@ jobs:
- uses: actions/checkout@v6

- uses: oven-sh/setup-bun@v2
with:
bun-version: "1.3.13"
- uses: pnpm/action-setup@v4

# Astro 6 requires Node >= 22.12. Pin an explicit version so the docs
# build doesn't rely on whatever ships on the runner image.
Expand All @@ -45,10 +48,10 @@ jobs:
id: cache
with:
path: node_modules
key: node-modules-${{ hashFiles('bun.lock', 'patches/**') }}
key: node-modules-${{ hashFiles('pnpm-lock.yaml', '.npmrc', 'patches/**') }}

- if: steps.cache.outputs.cache-hit != 'true'
run: bun install --frozen-lockfile
run: pnpm install --frozen-lockfile

- name: Get CLI version
id: version
Expand Down
7 changes: 5 additions & 2 deletions .github/workflows/eval-skill-fork.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,14 +37,17 @@ jobs:
ref: ${{ github.event.pull_request.head.sha }}

- uses: oven-sh/setup-bun@v2
with:
bun-version: "1.3.13"
- uses: pnpm/action-setup@v4

- uses: actions/cache@v5
id: cache
with:
path: node_modules
key: node-modules-${{ hashFiles('bun.lock', 'patches/**') }}
key: node-modules-${{ hashFiles('pnpm-lock.yaml', '.npmrc', 'patches/**') }}
- if: steps.cache.outputs.cache-hit != 'true'
run: bun install --frozen-lockfile
run: pnpm install --frozen-lockfile

- name: Generate docs and skill files
run: bun run generate:schema && bun run generate:docs
Expand Down
Loading
Loading