beadboard/.github/workflows/installer-smoke.yml

49 lines
1.5 KiB
YAML

name: Installer Smoke
on:
pull_request:
push:
branches:
- main
- master
jobs:
installer-smoke-ubuntu:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
- run: npm ci
- run: npm link
- run: bash ./install/install.sh
- run: beadboard doctor --json
- run: node --import tsx --test tests/scripts/beadboard-launcher.test.ts
- run: node --import tsx --test tests/scripts/install-wrappers-contract.test.ts
- run: node --import tsx --test tests/scripts/install-sh-smoke.test.ts
- run: node --import tsx --test tests/skills/beadboard-driver/resolve-bb.test.ts
installer-smoke-windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
- run: npm ci
- run: npm link
- name: Run PowerShell installer wrapper
shell: pwsh
run: .\install\install.ps1
- name: Run installer doctor
shell: pwsh
run: beadboard doctor --json
- name: Verify installed shims
shell: pwsh
run: |
$shimDir = Join-Path $HOME ".beadboard\bin"
if (!(Test-Path (Join-Path $shimDir "bb.cmd"))) { throw "Missing bb.cmd shim" }
if (!(Test-Path (Join-Path $shimDir "beadboard.cmd"))) { throw "Missing beadboard.cmd shim" }