Skip to content

fix(ci): pin cosign-installer v4.1.2 and fix a racy admins bulk E2E - #87

Merged
Rushaway merged 2 commits into
mainfrom
fix/ci-cosign-bulk-e2e
Oct 29, 2026
Merged

Rushaway merged 2 commits into
mainfrom
fix/ci-cosign-bulk-e2e

Conversation

@Rushaway

Copy link
Copy Markdown
Member

Docker image workflow (red on main since #86)

#86 bumped sigstore/cosign-installer to @v4. That repo publishes no floating major tag (only v4.0.0, v4.1.0, v4.1.1, v4.1.2), so every push to main now fails with:

Unable to resolve action `sigstore/cosign-installer@v4`, unable to find version `v4`

Pinned to v4.1.2, the latest release. v4 still installs cosign v2.x, and the workflow keeps cosign-release: 'v2.4.1'. Every other uses: ref in .github/workflows/ resolves (checked each against the action repo's tags).

This workflow only runs on push to main and on tags, so this PR can't prove it. The next push to main will.

Racy E2E: "bulk select → assign web group"

The test waited for the admins.bulk response, then called .json() on it. With no rehash SIDs, the page calls location.reload() as soon as the action resolves, so the body can be evicted before Playwright reads it:

Error: response.json: Protocol error (Network.getResponseBody): No resource with given identifier found

It passes on GitHub-hosted runners but failed twice in a row on NiDE's runner (NiDE-gg/sourcebans-pp#36). The test now fetches the real response inside a page.route handler, keeps its body, and fulfills the page with it. The assertions are unchanged.

Verification

In the local dev container (sourcebans_e2e, chromium):

  • Old test, --repeat-each=10 --retries=0: 9 of 10 fail with the error above.
  • New spec file, --repeat-each=5: 30/30 pass (all 6 tests, including the fixed one 5/5).

CHANGELOG 2.2.9-srcdslab (2.2.6 / 2.2.7 are taken by #82 / #83).

#86 bumped it to `@v4`, but cosign-installer publishes no floating
major tag (only v4.0.0, v4.1.x), so the Docker image workflow fails at
"Unable to resolve action sigstore/cosign-installer@v4" on every push
to main. Pin the latest release. v4 still installs the cosign v2.4.1
this workflow asks for.
"bulk select → assign web group" waited for the response and then
called .json() on it. With no rehash SIDs the page reloads as soon as
admins.bulk resolves, so the body can be gone before Playwright reads
it ("Protocol error (Network.getResponseBody): No resource with given
identifier found"). Fetch the real response in a page.route handler,
keep its body, then fulfill the page with it.
@Rushaway Rushaway added the bug Something isn't working label Oct 29, 2026
@Rushaway
Rushaway requested review from cmer81 and maxijabase October 29, 2026 10:14
@Rushaway
Rushaway merged commit 52e3988 into main Oct 29, 2026
6 checks passed
@Rushaway
Rushaway deleted the fix/ci-cosign-bulk-e2e branch October 29, 2026 10:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant