-
Notifications
You must be signed in to change notification settings - Fork 74
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
base: master
Are you sure you want to change the base?
Changes from all commits
a16add6
006721a
deed708
c0acd95
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
|
@@ -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 | ||||||
|
@@ -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
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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 There was a problem hiding this comment. Choose a reason for hiding this commentThe 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. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Are you sure changes needed to the action runner? This looks like a Playwright issue that was fixed in 1.45. |
||||||
|
||||||
- uses: actions/checkout@v4 | ||||||
- uses: actions/setup-node@v3 | ||||||
with: | ||||||
|
@@ -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 | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Doesn't There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. atm should be
Suggested change
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. agreed, please leave that |
||||||
- 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: | ||||||
|
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
isn't latest 24.04? did
ubuntu-latest
cause a problem or are you just wanting to defend against that changing?I think we should stick with
ubuntu-latest
because that's what Playwright advises with GitHub Actions:https://playwright.dev/docs/ci-intro#setting-up-github-actions
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is, now, but it was unpredictably (A/B from GH side?) switching back and forth between 22.04 and 24.04 between CI runs for a period around at the time of PR creation, which was causing inconsistent CI results.
Not clear if the next transition of
ubuntu-latest
will be cleaner or similarly messy and require a similar workaround whenever it happens.