Skip to content
Open
Show file tree
Hide file tree
Changes from 6 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
68 changes: 1 addition & 67 deletions .github/actions/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,42 +4,6 @@ This directory contains modular setup actions for the BAML project. Each action

## Available Actions

### setup-all
Sets up the complete development environment using all modular actions.

```yaml
- name: Setup All
uses: ./.github/actions/setup-all
with:
# Node.js configuration
setup-node: 'true' # Optional, default: 'true'
node-version: '20' # Optional, default: '20'
pnpm-version: '9.12.0' # Optional, default: '9.12.0'
install-node-dependencies: 'true' # Optional, default: 'true'
enable-turbo-cache: 'true' # Optional, default: 'true'

# Rust configuration
setup-rust: 'true' # Optional, default: 'true'
rust-toolchain: 'stable' # Optional, default: 'stable'
rust-enable-wasm: 'true' # Optional, default: 'true'
rust-targets: '' # Optional, space-separated targets
rust-workspace: 'engine' # Optional, default: 'engine'

# Python configuration
setup-python: 'false' # Optional, default: 'false'
python-version: '3.13' # Optional, default: '3.13'
python-use-uv: 'false' # Optional, default: 'false'

# Go configuration
setup-go: 'true' # Optional, default: 'true'
go-version: '1.24' # Optional, default: '1.24'
go-install-protoc-gen-go: 'true' # Optional, default: 'true'

# Tools configuration
setup-tools: 'true' # Optional, default: 'true'
tools-install-mise: 'true' # Optional, default: 'true'
```

### setup-node
Sets up Node.js with pnpm package manager.

Expand Down Expand Up @@ -102,36 +66,6 @@ Sets up common development tools.
install-mise: 'false' # Optional, default: 'false'
```

## Usage Patterns

### Complete Environment Setup
For jobs that need everything (like full integration tests):
```yaml
- name: Setup All
uses: ./.github/actions/setup-all
with:
setup-python: 'true'
python-use-uv: 'true'
```

### Full Environment (Minimal Python)
For jobs that need most tools but minimal Python setup:
```yaml
- name: Setup All
uses: ./.github/actions/setup-all
with:
setup-python: 'true'
python-use-uv: 'false'
```

### No Python Environment
For jobs that don't need Python at all:
```yaml
- name: Setup All
uses: ./.github/actions/setup-all
# Python is disabled by default
```

### TypeScript Lint Job
Only needs Node.js and pnpm:
```yaml
Expand Down Expand Up @@ -250,4 +184,4 @@ As requested, the Node.js setup action prioritizes pnpm usage:
- Automatically sets up pnpm caching
- Installs dependencies via pnpm by default
- Supports frozen lockfile mode for CI
- All package.json scripts should run through pnpm when possible
- All package.json scripts should run through pnpm when possible
137 changes: 0 additions & 137 deletions .github/actions/setup-all/action.yml

This file was deleted.

55 changes: 0 additions & 55 deletions .github/actions/setup-go/action.yml

This file was deleted.

47 changes: 0 additions & 47 deletions .github/actions/setup-java/action.yml

This file was deleted.

37 changes: 4 additions & 33 deletions .github/actions/setup-node/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,56 +2,27 @@ name: 'Setup Node.js and pnpm'
description: 'Setup Node.js with pnpm package manager'

inputs:
node-version:
description: 'Node.js version to install'
required: false
default: '20'
pnpm-version:
description: 'pnpm version to install'
required: false
default: '9.12.0'
install-dependencies:
description: 'Whether to install dependencies with pnpm'
required: false
default: 'true'
frozen-lockfile:
description: 'Use frozen lockfile for installation'
required: false
default: 'true'
enable-turbo-cache:
description: 'Enable Turbo build cache using GitHub Actions cache'
required: false
default: 'true'
turbo-cache-path:
description: 'Path for Turbo cache directory'
required: false
default: '.turbo'
npm-token:
description: 'NPM authentication token'
required: false

runs:
using: 'composite'
steps:
- name: Cache Turbo build setup
if: inputs.enable-turbo-cache == 'true'
uses: actions/cache@v4
with:
path: ${{ inputs.turbo-cache-path }}
key: ${{ runner.os }}-turbo-${{ github.sha }}
restore-keys: |
${{ runner.os }}-turbo-

- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: ${{ inputs.pnpm-version }}
version: '9.12.0'
run_install: false

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ inputs.node-version }}
node-version: '20'
cache: pnpm
cache-dependency-path: pnpm-lock.yaml
registry-url: "https://registry.npmjs.org"
Expand All @@ -60,5 +31,5 @@ runs:

- name: Install Node dependencies
if: inputs.install-dependencies == 'true'
run: pnpm install ${{ inputs.frozen-lockfile == 'true' && '--frozen-lockfile' || '' }}
shell: bash
run: pnpm install --frozen-lockfile
shell: bash
Loading
Loading