diff --git a/.changeset/famous-cameras-poke.md b/.changeset/famous-cameras-poke.md new file mode 100644 index 0000000..229770b --- /dev/null +++ b/.changeset/famous-cameras-poke.md @@ -0,0 +1,4 @@ +--- +--- + +Install only Chromium for the benchmark smoke job; the full browser matrix remains in its dedicated portability job. diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7dd9783..6f9c60c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -113,8 +113,10 @@ jobs: run: bun install --frozen-lockfile - name: Install coverage toolchain run: cargo install cargo-llvm-cov --version "$CARGO_LLVM_COV_VERSION" --locked - - name: Install benchmark browser - run: bun run browser:install + # `bench:verify` launches Chromium only; Firefox and WebKit are exercised + # separately by `browser-smoke`. + - name: Install Chromium for the render smoke + run: bun run browser:install:chromium - name: Download canonical tarballs uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5 with: diff --git a/scripts/workflow-contract.test.ts b/scripts/workflow-contract.test.ts index 436f3d1..d79f6d6 100644 --- a/scripts/workflow-contract.test.ts +++ b/scripts/workflow-contract.test.ts @@ -179,6 +179,10 @@ describe("CI and release workflow contracts", () => { expect(commands(workflows().ci.jobs[jobName]!)).toContain("bun run browser:install:chromium"); } + const unitCoverageCommands = commands(workflows().ci.jobs["unit-coverage"]!).split("\n"); + expect(unitCoverageCommands).toContain("bun run browser:install:chromium"); + expect(unitCoverageCommands).not.toContain("bun run browser:install"); + const projectByName = Object.fromEntries( (playwrightConfig.projects ?? []).map((project) => [project.name, project]), );