Skip to content

Commit 7ec2329

Browse files
mydeaclaude
andcommitted
fix(ci): Use actions-runner base image and drop Volta from Dockerfile
Extend ghcr.io/actions/actions-runner:2.333.1 instead of plain ubuntu. Remove Volta — actions/setup-node in workflow steps handles Node/Yarn. Update HOME env to /home/runner to match the runner user in the image. Remove enableCrossOsArchive since the container OS matches the host. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent b56fea2 commit 7ec2329

File tree

4 files changed

+18
-23
lines changed

4 files changed

+18
-23
lines changed
Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,23 @@
1-
# Use the same Ubuntu version as GitHub Actions runners (ubuntu-24.04)
2-
# instead of the official Playwright image, to avoid missing system
3-
# packages and configuration differences.
4-
FROM ubuntu:24.04
1+
# Extend the GitHub Actions runner image (Ubuntu 24.04 based) to get an
2+
# environment close to what GHA hosted runners provide.
3+
FROM ghcr.io/actions/actions-runner:2.333.1
54

65
ARG PLAYWRIGHT_VERSION
76

87
# Prevent interactive prompts during package installation
98
ENV DEBIAN_FRONTEND=noninteractive
109

11-
# Install system dependencies
12-
RUN apt-get update && \
13-
apt-get install -y --no-install-recommends \
14-
curl \
15-
ca-certificates \
16-
git \
17-
gnupg && \
18-
rm -rf /var/lib/apt/lists/*
10+
# Install a temporary Node.js to bootstrap Playwright browser installation.
11+
# At runtime, actions/setup-node handles Node/Yarn from the workflow steps.
12+
RUN sudo curl -fsSL https://deb.nodesource.com/setup_20.x | sudo bash - && \
13+
sudo apt-get install -y --no-install-recommends nodejs && \
14+
sudo rm -rf /var/lib/apt/lists/*
1915

2016
# Install Playwright browsers and their OS-level dependencies.
21-
# `npx playwright install --with-deps` installs both browsers and
22-
# any missing system libraries (libglib, libatk, libnss, etc.).
23-
RUN npx playwright@${PLAYWRIGHT_VERSION} install chromium webkit firefox --with-deps
17+
# `--with-deps` installs required system libraries (libglib, libatk, libnss, etc.).
18+
RUN sudo npx playwright@${PLAYWRIGHT_VERSION} install chromium webkit firefox --with-deps
2419

2520
# Mark GitHub Actions workspace as safe for git.
26-
# The container runs as root but the workspace is owned by a different user,
21+
# The container may run with a different workspace owner,
2722
# causing "dubious ownership" errors in git operations (e.g. rollup build).
2823
RUN git config --global --add safe.directory '*'

.github/workflows/build.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -503,7 +503,7 @@ jobs:
503503
password: ${{ secrets.GITHUB_TOKEN }}
504504
options: --ipc=host
505505
env:
506-
HOME: /root
506+
HOME: /home/runner
507507
timeout-minutes: 25
508508
strategy:
509509
fail-fast: false
@@ -609,7 +609,7 @@ jobs:
609609
password: ${{ secrets.GITHUB_TOKEN }}
610610
options: --ipc=host
611611
env:
612-
HOME: /root
612+
HOME: /home/runner
613613
timeout-minutes: 15
614614
strategy:
615615
fail-fast: false
@@ -805,7 +805,7 @@ jobs:
805805
password: ${{ secrets.GITHUB_TOKEN }}
806806
options: --ipc=host
807807
env:
808-
HOME: /root
808+
HOME: /home/runner
809809
timeout-minutes: 15
810810
strategy:
811811
fail-fast: false
@@ -910,7 +910,7 @@ jobs:
910910
password: ${{ secrets.GITHUB_TOKEN }}
911911
options: --ipc=host
912912
env:
913-
HOME: /root
913+
HOME: /home/runner
914914
timeout-minutes: 15
915915
env:
916916
# We just use a dummy DSN here, only send to the tunnel anyhow
@@ -1043,7 +1043,7 @@ jobs:
10431043
password: ${{ secrets.GITHUB_TOKEN }}
10441044
options: --ipc=host
10451045
env:
1046-
HOME: /root
1046+
HOME: /home/runner
10471047
timeout-minutes: 15
10481048
env:
10491049
E2E_TEST_AUTH_TOKEN: ${{ secrets.E2E_TEST_AUTH_TOKEN }}

.github/workflows/canary.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ jobs:
7878
password: ${{ secrets.GITHUB_TOKEN }}
7979
options: --ipc=host
8080
env:
81-
HOME: /root
81+
HOME: /home/runner
8282
timeout-minutes: 20
8383
env:
8484
# We just use a dummy DSN here, only send to the tunnel anyhow

.github/workflows/flaky-test-detector.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ jobs:
4747
password: ${{ secrets.GITHUB_TOKEN }}
4848
options: --ipc=host
4949
env:
50-
HOME: /root
50+
HOME: /home/runner
5151
timeout-minutes: 60
5252
name: 'Check tests for flakiness'
5353
# Also skip if PR is from master -> develop

0 commit comments

Comments
 (0)