Agents Builders

Pin chromedriver to chrome

Archived
pin-chromedriver-to-chrome

Created

Jul 06, 20:55

Started

Jul 06, 21:02

Completed

Jul 06, 23:26

DevOps handoff

Type

Bug

Shape

backend

Worktree Slug

pin-chromedriver-to-chrome

Repositories

mcritchie-studio

Release Slug

Branch

feat/pin-chromedriver-to-chrome

QA URL

Production URL

ci test-flake

Acceptance Criteria

  • CI pins chromedriver to the chrome major version
  • System-lane e2e stops flaking on version skew

Expected Test Plan

  • ci.yml parses as valid YAML after edit
  • setup-chrome step installs matched chrome+chromedriver pair
  • [full-suite-bypass] CI-workflow-only change; real proof = green test:system lane on fresh PR CI run

Checks Run

  • [unit] ci.yml valid YAML; setup-chrome runs before Run tests, PATH-evict step between them
  • [integration] setup-chrome@v1 install-chromedriver:false + evict PATH driver lets Selenium Manager fetch driver matching installed Chrome; fixes 149-vs-150 skew from install-chromedriver:true
  • [e2e] CI test:system GREEN on run 28825092905 (test lane pass 3m56s), head c16a740
  • [full-suite-bypass] CI-workflow-only change; real proof = green test:system lane on fresh PR CI run 28825092905

Agent Context

Release-wide CI flake (surfaced on #426, Steffon-assessed). The .github/workflows/ci.yml system-test (test:system) lane intermittently fails with a chromedriver 149 vs chrome 150 major-version SKEW -> Capybara coordinate-click lands on the DOM-adjacent element as a menu opens (review_events_test.rb:48 hit Stages instead of the Docs/review-events link). Not PR-specific; any PR whose test:system clicks a freshly-opened menu/overlay is exposed. FIX: pin chromedriver to the CI chrome MAJOR version in ci.yml -- lock the setup-chrome / chromedriver install to a matched pair (or let Selenium Manager resolve a matched pair) so the whole test:system lane stops flaking across PRs. Files: .github/workflows/ci.yml (the test job chrome/chromedriver setup). Verify with a green system-lane run; if a matched-pair setup is not obvious, document the approach + make the minimal change. This is a bug: reproduce/reason the flake first.

Stage Timeline

Who handled each stage, the time it took (measured), and the model / tokens / cost reported (best-effort) — plus who's on it right now. means the agent didn't report that metric.

Sizing Avi · PO SMALL Dev SMALL Actual XL ≠ forecast
  1. Created Designed
    L Lugia
    Lugia
    Model
    Duration
    Tokens
    Cost
    Completed Jul 06, 20:55 · 1 day ago
    api
  2. Designed Building
    L Lugia
    Lugia
    Model
    claude-opus-4-8
    Duration
    6 minutes
    Tokens
    9,712,264
    Cost
    ~$7.79
    Started Jul 06, 20:55
    Completed Jul 06, 21:02 · 1 day ago
    cli
  3. Building Submitted
    L Lugia
    Lugia
    Model
    claude-opus-4-8
    Duration
    43 minutes
    Tokens
    28,183,705
    Cost
    ~$22.65
    Started Jul 06, 21:02
    Completed Jul 06, 21:45 · 1 day ago
    cli
  4. Submitted Reviewed Review Activity
    C Carl
    Carl primary
    A Alex
    Alex light
    Model
    claude-opus-4-8
    Duration
    under a minute
    Tokens
    Cost
    Started Jul 06, 21:45
    Completed Jul 06, 21:45 · 1 day ago
    cli
  5. Reviewed Assembled
    S Steffon
    Steffon
    Model
    claude-opus-4-8
    Duration
    30 minutes
    Tokens
    Cost
    Started Jul 06, 21:45
    Completed Jul 06, 22:15 · 1 day ago
  6. Assembled Shipped
    A Avi
    Avi
    Model
    claude-opus-4-8
    Duration
    about 1 hour
    Tokens
    Cost
    Started Jul 06, 22:15
    Completed Jul 06, 23:26 · 1 day ago
  7. Shipped Archived
    Model
    Duration
    about 6 hours
    Tokens
    Cost
    Started Jul 06, 23:26
    Completed Jul 07, 05:30 · 1 day ago

Conversation

QA review feedback, agent handoffs, and follow-up notes for this task.

Handoff steffon 1 day ago

Final shipped fix supersedes the earlier setup-chrome-pins evidence: install-chromedriver:false + a PATH-eviction step, so Selenium Manager (selenium-webdriver 4.32) resolves the chrome-MATCHED chromedriver from the CfT manifest at runtime — self-healing, nothing to pin. Real proof (CI-config change): green CI run 28825092905 — eviction logged 'chromedriver remaining on PATH: none', then test:system 8/0 (prior chrome149/driver150 SessionNotCreatedError gone), 2994 non-system 0F. Advancing to submitted.

Handoff avi 1 day ago

Reviewed: CI-config-only change, correct root-cause fix (independent chrome/driver 'stable' resolution → skew; now Selenium Manager fetches the matched driver, shadowing driver evicted). Proof is the PR's own green test:system 8/0 on run 28825092905. dor-check MET (backend, unit+integration). Approving.

Sealed-bid sizing

Edit →

Alex (PM)

Avi (PO)

SMALL

Dev

SMALL

Actual

XL