Skip to content

Harden CI against flaky Chromium install and ensure tests run reliably (child of #579) #602

Description

@kalwalt

Summary

A recent CI run failed during apt installation of chromium-browser (snap-backed) due to a Snapcraft assertion fetch timeout (HTTP 408). The job later passed on rerun, indicating a transient upstream/network failure — but the failure exposed fragility in our CI provisioning of headless Chromium.

Goal

Harden CI so test runs are not blocked by transient snap/network failures and ensure the refreshed test suite in #579 runs reliably in CI.

Proposed tasks

  • Replace apt-based chromium install with a Playwright-managed Chromium binary (npx playwright install --with-deps chromium) or another stable binary provider.
  • Add a short retry wrapper around package installation steps as a temporary mitigation.
  • If immediate fix is needed, consider switching runner to ubuntu-22.04 as a short-term workaround.
  • Update CI docs / README with instructions for running tests locally (how to get the browser binary).
  • Add a smoke test step that runs a minimal NFT load + process() to catch infra-level failures early.

Logs / evidence

Relation to #579

The work to refresh the tests should be tracked under #579. This issue is a CI/infra action item to make sure the refreshed tests run reliably in CI. Make this issue a child of #579.

Implementation notes

  • Prefer Playwright for controlled browser binaries; add devDependency on playwright and set CHROME_BIN from require('playwright').chromium.executablePath() in the workflow.
  • Keep a short-term retry loop if replacing the installation is not possible immediately.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Fields

    No fields configured for Task.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions