Enhance E2E testing environment by updating Dockerfile and workflows (#376)

- Updated the Dockerfile to include additional system dependencies for E2E testing, such as xvfb, dbus, and webkit2gtk-driver, along with the installation of tauri-driver.
- Modified the docker-compose.yml to use the shared CI image for E2E tests, streamlining the build process and ensuring consistency across environments.
- Deprecated the previous E2E Dockerfile, consolidating the setup into the CI image for improved maintainability and reduced redundancy.
- Adjusted the GitHub Actions workflow to reflect changes in the Dockerfile and ensure proper context for building the image.
This commit is contained in:
Steven Enamakel
2026-04-06 14:26:30 -07:00
committed by GitHub
parent 88257d3231
commit bfe4918a85
4 changed files with 30 additions and 17 deletions
+14 -2
View File
@@ -2,7 +2,7 @@ FROM ubuntu:22.04
ENV DEBIAN_FRONTEND=noninteractive
# System deps for Tauri + mold linker + clang (for mold)
# System deps for Tauri + mold linker + clang + E2E testing (xvfb, dbus, webkit2gtk-driver)
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
cmake \
@@ -17,7 +17,12 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
patchelf \
mold \
clang \
libclang-dev \
libssl-dev \
xvfb \
at-spi2-core \
dbus-x11 \
webkit2gtk-driver \
&& rm -rf /var/lib/apt/lists/*
# Rust 1.93.0 with minimal profile + fmt/clippy
@@ -45,5 +50,12 @@ RUN curl -fsSL https://github.com/mozilla/sccache/releases/download/v0.10.0/scca
| tar xz -C /usr/local/bin --strip-components=1 sccache-v0.10.0-x86_64-unknown-linux-musl/sccache \
&& chmod +x /usr/local/bin/sccache
# tauri-driver (WebDriver server for Tauri E2E tests)
RUN cargo install tauri-driver --version 2.0.5
# E2E entrypoint (starts Xvfb + dbus for headless webkit2gtk testing)
COPY e2e/docker-entrypoint.sh /docker-entrypoint.sh
RUN chmod +x /docker-entrypoint.sh
# Verify installs
RUN rustc --version && cargo --version && node --version && yarn --version && mold --version && sccache --version
RUN rustc --version && cargo --version && node --version && yarn --version && mold --version && sccache --version && tauri-driver --version
+3 -1
View File
@@ -6,6 +6,7 @@ on:
paths:
- ".github/Dockerfile"
- ".github/workflows/docker-ci-image.yml"
- "e2e/docker-entrypoint.sh"
workflow_dispatch:
permissions:
@@ -30,9 +31,10 @@ jobs:
- name: Build and push
uses: docker/build-push-action@v6
with:
context: .github
context: .
file: .github/Dockerfile
push: true
provenance: false
tags: |
ghcr.io/tinyhumansai/openhuman_ci:latest
ghcr.io/tinyhumansai/openhuman_ci:rust-1.93.0