Repository navigation
changelog: extension 0.3.0, registry wiring, link-changed notice #12
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |