Skip to content

changelog: extension 0.3.0, registry wiring, link-changed notice #12

changelog: extension 0.3.0, registry wiring, link-changed notice

changelog: extension 0.3.0, registry wiring, link-changed notice #12

Workflow file for this run

name: CI
on:
push:
branches: [master, main]
pull_request:
# Cancel duplicate runs on the same PR.
concurrency:
group: ci-${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
check:
name: TypeScript check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '22'
cache: 'npm'
- run: npm ci
- run: npm run check
- run: npm test -w sdk
- run: npm test -w registry
harness:
name: Integration harness
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '22'
cache: 'npm'
- run: npm ci
# Builds the SDK, then boots its own wrangler dev for the run.
- run: npm run harness
chrome-ext-unit:
name: Chrome extension — unit
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '22'
cache: 'npm'
- run: npm ci
- run: npm run ext:test:unit
vendor-freshness:
name: chrome-extension/lib/sdk vendor-freshness
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '22'
cache: 'npm'
- run: npm ci
# Build SDK and re-run the vendor script. If the vendored files in
# chrome-extension/lib/sdk/ are out of date with sdk/dist/, the diff
# check below fails the build and the PR is blocked.
- run: npm run build -w sdk
- run: bash chrome-extension/scripts/vendor-sdk.sh
- name: Assert no drift in vendored SDK
run: |
git diff --exit-code -- chrome-extension/lib/sdk \
|| (echo "::error::Vendored SDK in chrome-extension/lib/sdk/ is stale."; \
echo "Run: npm run build -w sdk && bash chrome-extension/scripts/vendor-sdk.sh"; \
exit 1)
chrome-ext-e2e:
name: Chrome extension — E2E (chromium headless=new)
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '22'
cache: 'npm'
# Use setup-chrome instead of `apt-get install chromium-browser`:
# on ubuntu-24.04 the apt package is a snap shim that needs snapd
# (unavailable in CI) and fails to launch.
- id: setup-chrome
uses: browser-actions/setup-chrome@latest
with:
chrome-version: stable
- run: npm ci
- name: Set up .dev.vars
run: cp relay/.dev.vars.example relay/.dev.vars
- env:
CHROMIUM_PATH: ${{ steps.setup-chrome.outputs.chrome-path }}
run: npm run ext:test:reconnect