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
21 changes: 21 additions & 0 deletions .github/actions/setup/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Setup
description: Checkout, install pnpm + Node, and install dependencies.
runs:
using: composite
steps:
- name: Set up pnpm
# pnpm/action-setup@v4.4.0
uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320
with:
version: 10.33.3

- name: Set up Node.js
# actions/setup-node@v6.4.0
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e
with:
node-version: 26.1.0
cache: pnpm

- name: Install dependencies
shell: bash
run: pnpm install --frozen-lockfile
104 changes: 44 additions & 60 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,51 +22,63 @@ jobs:
# actions/checkout@v6.0.2
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd

- name: Set up pnpm
# pnpm/action-setup@v4.4.0
uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320
with:
version: 10.33.3

- name: Set up Node.js
# actions/setup-node@v6.4.0
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e
with:
node-version: 24.15.0
cache: pnpm

- name: Install dependencies
run: pnpm install --frozen-lockfile
- uses: ./.github/actions/setup

- name: Build default CLI
run: pnpm build

- name: Build beau CLI
run: pnpm build:beau

test:
name: Test
runs-on: ubuntu-24.04
build-binary:
name: Build-binary (${{ matrix.artifact }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-24.04
artifact: crank-linux-x64
path: dist-sea/crank
- os: ubuntu-24.04-arm
artifact: crank-linux-arm64
path: dist-sea/crank
- os: macos-26
artifact: crank-darwin-arm64
path: dist-sea/crank
- os: macos-15-intel
artifact: crank-darwin-x64
path: dist-sea/crank
- os: windows-2022
artifact: crank-win-x64
path: dist-sea/crank.exe
steps:
- name: Checkout
# actions/checkout@v6.0.2
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd

- name: Set up pnpm
# pnpm/action-setup@v4.4.0
uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320
with:
version: 10.33.3
- uses: ./.github/actions/setup

- name: Build SEA binary
run: pnpm build:sea

- name: Set up Node.js
# actions/setup-node@v6.4.0
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e
- name: Upload SEA binary
# actions/upload-artifact@v4.4.3
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882
with:
node-version: 24.15.0
cache: pnpm
name: ${{ matrix.artifact }}
path: ${{ matrix.path }}
if-no-files-found: error

- name: Install dependencies
run: pnpm install --frozen-lockfile
test:
name: Test
runs-on: ubuntu-24.04
steps:
- name: Checkout
# actions/checkout@v6.0.2
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd

- uses: ./.github/actions/setup

- name: Run tests
run: pnpm test
Expand All @@ -79,21 +91,7 @@ jobs:
# actions/checkout@v6.0.2
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd

- name: Set up pnpm
# pnpm/action-setup@v4.4.0
uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320
with:
version: 10.33.3

- name: Set up Node.js
# actions/setup-node@v6.4.0
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e
with:
node-version: 24.15.0
cache: pnpm

- name: Install dependencies
run: pnpm install --frozen-lockfile
- uses: ./.github/actions/setup

- name: Run ESLint
run: pnpm lint
Expand All @@ -106,21 +104,7 @@ jobs:
# actions/checkout@v6.0.2
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd

- name: Set up pnpm
# pnpm/action-setup@v4.4.0
uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320
with:
version: 10.33.3

- name: Set up Node.js
# actions/setup-node@v6.4.0
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e
with:
node-version: 24.15.0
cache: pnpm

- name: Install dependencies
run: pnpm install --frozen-lockfile
- uses: ./.github/actions/setup

- name: Check formatting
run: pnpm format:check
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
node_modules/
dist/
dist*
coverage/
.DS_Store
.env
Expand Down
2 changes: 1 addition & 1 deletion .mise.toml → mise.toml
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
[tools]
node = "24.15.0"
node = "26.1.0"
pnpm = "10.33.3"
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
"scripts": {
"start": "pnpm --filter braintrust-wizard start",
"build": "pnpm --filter braintrust-wizard build",
"build:sea": "pnpm build && node scripts/build-sea.mjs",
"start:beau": "pnpm --filter braintrust-wizard start:beau",
"build:beau": "pnpm --filter braintrust-wizard build:beau",
"typings": "pnpm -r run typings",
Expand Down
6 changes: 4 additions & 2 deletions packages/braintrust-wizard/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,16 @@
},
"dependencies": {
"@braintrust/bt-wizard-harness": "workspace:*",
"@inquirer/search": "4.1.8",
"@clack/prompts": "1.3.0",
"@inquirer/search": "4.1.8",
"@tanstack/react-query": "5.100.9",
"ignore": "^7.0.5",
"ink": "7.0.2",
"open": "^11.0.0",
"picocolors": "1.1.1",
"react": "19.2.5",
"react-devtools-core": "7.0.1",
"tar": "^7.5.15",
"yargs": "^18.0.0"
},
"devDependencies": {
Expand All @@ -43,7 +45,7 @@
"eslint-plugin-react-hooks": "7.1.1",
"globals": "17.6.0",
"prettier": "3.8.3",
"rolldown": "1.0.0-rc.18",
"rolldown": "1.0.1",
"typescript": "6.0.3",
"typescript-eslint": "8.59.2",
"vitest": "4.1.5"
Expand Down
2 changes: 1 addition & 1 deletion packages/braintrust-wizard/rolldown.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ export default defineConfig({
output: {
banner: "#!/usr/bin/env node",
codeSplitting: false,
file: "dist/cli.js",
file: "dist/cli.mjs",
format: "esm",
sourcemap: true,
},
Expand Down
Loading
Loading