Skip to content

Commit fceee2e

Browse files
committed
Run CI on Ubuntu 24.04 and install only headless Chrome's libraries
ubuntu-latest moved to Ubuntu 26.04, which has no libgdk-pixbuf2.0-0 anymore, so the package step failed on every run before Maven started. The workflow now pins ubuntu-24.04, as master and wicket-10.x do, and installs the libraries and fonts headless Chrome needs in the form master has used since 615af3e, without chromium-browser: that package installs Chromium as a snap, which Puppeteer never uses because it downloads its own browser. The Chromium of Puppeteer 19.7.5, the version on this branch, starts and renders a page in an Ubuntu 24.04 container with only these libraries installed. Java 11 now comes from actions/setup-java, as on the other branches, instead of from apt with JAVA_HOME set by hand. Generated-by: Claude Code (Claude Opus 5.5)
1 parent 1472f69 commit fceee2e

1 file changed

Lines changed: 43 additions & 7 deletions

File tree

‎.github/workflows/maven.yml‎

Lines changed: 43 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,54 @@ on: [push, pull_request]
55
jobs:
66
build:
77

8-
runs-on: ubuntu-latest
8+
runs-on: ubuntu-24.04
99

1010
steps:
1111
- uses: actions/checkout@v4
1212

13-
- name: Apt update
14-
run: sudo apt update
13+
- name: Setup Temurin JDK
14+
uses: actions/setup-java@v5
15+
with:
16+
distribution: 'temurin'
17+
java-version: '11'
1518

16-
- name: Install Java & Puppeteer's dependencies
17-
run: sudo apt-get install -y openjdk-11-jdk chromium-browser fonts-ipafont-gothic fonts-wqy-zenhei fonts-thai-tlwg fonts-kacst fonts-freefont-ttf libasound2t64 libatk1.0-0 libatk-bridge2.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 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 ca-certificates fonts-liberation libnss3 lsb-release xdg-utils wget libappindicator3-1 libgbm1
19+
# Puppeteer brings its own Chrome; only Chrome's shared libraries are needed here.
20+
- name: Install headless Chrome's dependencies
21+
run: |
22+
sudo apt-get update
23+
sudo apt-get install -y --no-install-recommends \
24+
ca-certificates \
25+
fonts-freefont-ttf \
26+
fonts-ipafont-gothic \
27+
fonts-kacst \
28+
fonts-liberation \
29+
fonts-thai-tlwg \
30+
fonts-wqy-zenhei \
31+
libasound2t64 \
32+
libatk-bridge2.0-0t64 \
33+
libatk1.0-0t64 \
34+
libc6 \
35+
libcairo2 \
36+
libcups2t64 \
37+
libdbus-1-3 \
38+
libdrm2 \
39+
libexpat1 \
40+
libgbm1 \
41+
libglib2.0-0t64 \
42+
libgtk-3-0t64 \
43+
libnspr4 \
44+
libnss3 \
45+
libpango-1.0-0 \
46+
libvulkan1 \
47+
libx11-6 \
48+
libxcb1 \
49+
libxcomposite1 \
50+
libxdamage1 \
51+
libxext6 \
52+
libxfixes3 \
53+
libxkbcommon0 \
54+
libxrandr2 \
55+
xdg-utils
1856
1957
- name: Cache Maven packages
2058
uses: actions/cache@v3
@@ -29,8 +67,6 @@ jobs:
2967
wget --retry-connrefused --tries=5 --waitretry=5 --read-timeout=20 --timeout=15 https://archive.apache.org/dist/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.tar.gz
3068
tar -xzf apache-maven-${MAVEN_VERSION}-bin.tar.gz
3169
export PATH=$PWD/apache-maven-${MAVEN_VERSION}/bin:$PATH
32-
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
33-
export PATH=$JAVA_HOME/bin:$PATH
3470
java -version
3571
mvn -version
3672
mvn clean verify -Pjs-test

0 commit comments

Comments
 (0)