name: CI (TypeScript / frontend) on: pull_request: branches: [main] merge_group: jobs: select-runner: # Picks GitHub-hosted while Actions is operational, the org self-hosted # runner otherwise. See callable-select-runner.yaml for the policy. uses: Sea-Haven-Industries/.github/.github/workflows/callable-select-runner.yaml@REPLACE-ME # vX.Y.Z permissions: actions: read secrets: inherit ci: # Job id MUST stay `ci`: the reusable's job is also `ci`, so the check # context resolves to the required `ci / ci`. needs: select-runner uses: Sea-Haven-Industries/.github/.github/workflows/ci-typescript-frontend.yaml@REPLACE-ME # vX.Y.Z with: runner: ${{ needs.select-runner.outputs.runner }} # Pinned explicitly (handbook): local dev is Node 24 / npm 11, which # generates lockfileVersion 3. Being explicit avoids lockfile drift. node-version: "24"