name: CI Browser Extension on: push: branches: [main] paths: - 'browser/**' - '.tool-versions' - '.github/workflows/ci-browser.yml' pull_request: branches: [main] paths: - 'browser/**' - '.tool-versions' - '.github/workflows/ci-browser.yml' workflow_dispatch: permissions: contents: read jobs: lint-browser: name: Lint Browser Extension runs-on: ubuntu-latest timeout-minutes: 10 steps: - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: persist-credentials: false - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: node-version-file: .tool-versions cache: npm - name: Install browser extension dependencies working-directory: browser run: npm ci - name: Prepare WXT working-directory: browser run: node --run prepare - name: Lint browser extension working-directory: browser run: node --run lint test-browser: name: Test Browser Extension runs-on: ubuntu-latest timeout-minutes: 10 steps: - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: persist-credentials: false - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: node-version-file: .tool-versions cache: npm - name: Install browser extension dependencies working-directory: browser run: npm ci - name: Prepare WXT working-directory: browser run: node --run prepare - name: Test browser extension working-directory: browser run: node --run test