Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: fix browser-tests ubuntu 24.04 compat #2587

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
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
18 changes: 15 additions & 3 deletions .github/workflows/browser-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ on:
jobs:
browser-tests:
timeout-minutes: 30
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
# runs-on: ubuntu-latest
# This Chrome nightly image can no longer install browsers in Github CI for
# lack of some system dependencies:
# Package 'libasound2' has no installation candidate
Expand All @@ -23,9 +24,20 @@ jobs:
# ## the Selenium image is configured to not run as root, so we have to undo some of it
# env:
# HOME: /root # Firefox complains otherwise
env:
DEBIAN_FRONTEND: noninteractive
steps:
- name: Put unstable chrome where playwright would look for it
run: mv /opt/google/chrome /opt/google/chrome-unstable
- name: Install browser dependencies
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
ca-certificates \
libatomic1 libflite1 libgles2 libharfbuzz-icu0 libhyphen0 libmanette-0.2-0 libicu74 libsecret-1-0 libxslt1.1 woff2 \
ca-certificates fonts-liberation libatk-bridge2.0-0 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgbm1 libgcc1 libglib2.0-0 libgtk-3-0 libnspr4 libnss3 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 lsb-release wget xdg-utils \
libvpx9 libevent-2.1-7t64 libopus0 libgstreamer-plugins-base1.0-0 libgstreamer-gl1.0-0 libgstreamer-plugins-bad1.0-0 gstreamer1.0-libav
Comment on lines +32 to +39
Copy link
Contributor

Choose a reason for hiding this comment

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

are all of these extra deps required? or can any be left out to be more minimal

Copy link
Author

Choose a reason for hiding this comment

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

They may not all be required. Most if not all were previously installed under the hood by the playwright util.

Copy link
Contributor

Choose a reason for hiding this comment

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

  • We should definitely install only the minimum needed
  • This seems like a future maintenance burden
  • Linebreaks seem inconsistent


- uses: actions/checkout@v4
- uses: actions/setup-node@v3
with:
Expand All @@ -41,10 +53,10 @@ jobs:
run: npm ci --ignore-scripts
- name: Install Playwright Browsers
working-directory: browser-test
run: npx playwright install --with-deps
run: npm exec playwright install --with-deps
Copy link
Contributor

Choose a reason for hiding this comment

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

Doesn't npx do the same thing if playwright is local?

- name: Run Playwright tests
working-directory: browser-test
run: npx playwright test
run: npm exec playwright test
- uses: actions/upload-artifact@v3
if: always()
with:
Expand Down
30 changes: 15 additions & 15 deletions browser-test/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion browser-test/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"test": "playwright test"
},
"devDependencies": {
"@playwright/test": "^1.41.2",
"@playwright/test": "^1.48.1",
"@types/node": "^20.11.16"
}
}
Loading