Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 21 additions & 1 deletion .github/workflows/e2e.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,28 @@ jobs:
echo "::warning::bundle ${size} KB exceeds the 6000 KB warning threshold"
fi

# `--with-deps` runs `apt-get update` across every repo the runner image has configured,
# including Google's Chrome repo — which we do not use, because Playwright downloads its own
# chromium build. On 2026-09-09 that repo published a bad index (`Hash Sum mismatch` on
# `dl.google.com/linux/chrome-stable/deb`) and took this job down four times in a row, on
# branches that had not touched a line of UI code. A red E2E badge on a public repo during
# judging is a claim about our tests, so it should not be able to mean "Google was mid-publish".
# The repo we do not need is dropped, and one retry covers an ordinary transient.
- name: Install Playwright browsers
run: yarn playwright install --with-deps chromium
run: |
# The list file is not always named google-chrome.list (the image has used deb822
# `.sources` too), so match on the host rather than guessing the filename. Only files
# under sources.list.d are removed; the main sources.list is edited line-wise, never
# deleted, because apt needs it.
for f in $(grep -rl 'dl\.google\.com' /etc/apt/sources.list.d 2>/dev/null || true); do
echo "removing unused apt source: $f"
sudo rm -f "$f"
done
sudo sed -i '/dl\.google\.com/d' /etc/apt/sources.list || true
yarn playwright install --with-deps chromium && exit 0
echo "::warning::first browser install failed — retrying once"
sleep 30
yarn playwright install --with-deps chromium

- name: Run E2E tests
run: yarn playwright test
Expand Down
Loading