Skip to content

Remove CI detection and use runtime bubblewrap availability check #29

Remove CI detection and use runtime bubblewrap availability check

Remove CI detection and use runtime bubblewrap availability check #29

Workflow file for this run

name: Build
on:
push:
branches: [ main, claude/** ]
pull_request:
branches: [ main ]
jobs:
build:
name: Build and Test
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
node-version: ['20']
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- name: Install system dependencies (Linux)
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y bubblewrap
bwrap --version
- name: Verify sandbox-exec (macOS)
if: runner.os == 'macOS'
run: |
which sandbox-exec
sandbox-exec -n no-network echo "sandbox-exec available"
- name: Install Node dependencies
run: npm ci
- name: Lint code
run: npm run lint
- name: Build TypeScript
run: npm run build
- name: Verify build outputs
run: |
ls -la dist/
[ -f dist/index.js ] || (echo "index.js not found" && exit 1)
[ -f dist/sandbox-manager.js ] || (echo "sandbox-manager.js not found" && exit 1)
echo "✓ Build outputs verified"
- name: Run tests
run: npm test
- name: Upload build artifacts
if: matrix.os == 'ubuntu-latest' && matrix.node-version == '20'
uses: actions/upload-artifact@v4
with:
name: dist
path: dist/
retention-days: 7