Skip to content

Conversation

@seanmcguire12
Copy link
Member

@seanmcguire12 seanmcguire12 commented Nov 20, 2025

why

  • chrome launcher was installing canary, which broke some unit tests

what changed

  • added install step for a stable chrome version in ci.yml
  • also lowered worker count for shadow-frame.spec.ts

@changeset-bot
Copy link

changeset-bot bot commented Nov 20, 2025

⚠️ No Changeset found

Latest commit: 582f3c2

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@greptile-apps
Copy link
Contributor

greptile-apps bot commented Nov 20, 2025

Greptile Overview

Greptile Summary

Added step to install stable Chrome before running local E2E tests in CI. The new step fetches the latest stable Chrome version from chrome-for-testing API, downloads and installs it to $RUNNER_TEMP/chrome-stable, and sets the CHROME_PATH environment variable.

  • Downloads Chrome from official chrome-for-testing distribution
  • Sets CHROME_PATH environment variable for chrome-launcher to discover the installation
  • Uses stable channel to ensure consistent test execution

Confidence Score: 5/5

  • This PR is safe to merge - it adds a straightforward Chrome installation step with no risk
  • The change only adds a new CI step to install Chrome before tests run. The implementation uses official Chrome for Testing distribution, includes proper error handling with set -euo pipefail, and sets the standard CHROME_PATH environment variable that chrome-launcher reads. No code logic changes or risky operations.
  • No files require special attention

Important Files Changed

File Analysis

Filename Score Overview
.github/workflows/ci.yml 5/5 Added stable Chrome installation step for local E2E tests using chrome-for-testing to ensure consistent Chrome version

Sequence Diagram

sequenceDiagram
    participant GHA as GitHub Actions
    participant API as Chrome for Testing API
    participant Storage as Google Storage
    participant ENV as Environment
    participant Tests as E2E Tests
    
    GHA->>API: Fetch last-known-good-versions.json
    API-->>GHA: Return stable Chrome version
    GHA->>Storage: Download chrome-linux64.zip
    Storage-->>GHA: Return Chrome binary
    GHA->>GHA: Unzip to $RUNNER_TEMP/chrome-stable
    GHA->>GHA: chmod +x chrome binary
    GHA->>ENV: Set CHROME_PATH=$CHROME_BIN
    GHA->>Tests: Run pnpm run e2e:local
    Tests->>ENV: chrome-launcher reads CHROME_PATH
    Tests->>Tests: Launch Chrome and execute tests
Loading

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 file reviewed, no comments

Edit Code Review Agent Settings | Greptile

set -euo pipefail
CHROME_VERSION=$(curl -s https://googlechromelabs.github.io/chrome-for-testing/last-known-good-versions.json | jq -r '.channels.Stable.version')
DOWNLOAD_URL="https://storage.googleapis.com/chrome-for-testing-public/${CHROME_VERSION}/linux64/chrome-linux64.zip"
INSTALL_DIR="${RUNNER_TEMP}/chrome-stable"
Copy link
Member

@pirate pirate Nov 20, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can save a bit of time on all tests by caching this dir in github actions cache but not critical for now (using OS, arch, and chrome version in cache key)

@seanmcguire12 seanmcguire12 merged commit 6cb41bf into main Nov 20, 2025
34 of 41 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants