ci-images/flutter-web-e2e-java-ci (sha256:0439902f1890625386d7cae6cb158f796f89890ac29cb99ebda6f2d8276360cd)

Published 2026-07-12 08:32:15 +00:00 by forgejo_admin

Installation

docker pull git.wiese.software/forgejo_admin/ci-images/flutter-web-e2e-java-ci@sha256:0439902f1890625386d7cae6cb158f796f89890ac29cb99ebda6f2d8276360cd
sha256:0439902f1890625386d7cae6cb158f796f89890ac29cb99ebda6f2d8276360cd

About this package

Reusable Forgejo Actions image with Flutter Web, Chrome, ChromeDriver, Java 21, Maven, Node.js 22, and MySQL client tools.

Image layers

ARG RELEASE
ARG LAUNCHPAD_BUILD_ARCH
LABEL org.opencontainers.image.ref.name=ubuntu
LABEL org.opencontainers.image.version=24.04
ADD file:ddf1aa62235de6657123492b19d27d937c25668011b5ebf923a3f019200f8540 in /
CMD ["/bin/bash"]
ENV JAVA_HOME=/opt/java/openjdk
ENV PATH=/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ENV LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8
RUN /bin/sh -c set -eux; apt-get update; DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends curl wget gnupg fontconfig ca-certificates p11-kit binutils tzdata locales ; echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen; locale-gen en_US.UTF-8; rm -rf /var/lib/apt/lists/* # buildkit
ENV JAVA_VERSION=jdk-21.0.9+10
RUN /bin/sh -c set -eux; ARCH="$(dpkg --print-architecture)"; case "${ARCH}" in amd64) ESUM='810d3773df7e0d6c4394e4e244b264c8b30e0b05a0acf542d065fd78a6b65c2f'; BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.9%2B10/OpenJDK21U-jdk_x64_linux_hotspot_21.0.9_10.tar.gz'; ;; arm64) ESUM='edf0da4debe7cf475dbe320d174d6eed81479eb363f41e38a2efb740428c603a'; BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.9%2B10/OpenJDK21U-jdk_aarch64_linux_hotspot_21.0.9_10.tar.gz'; ;; ppc64el) ESUM='ac5a0394a234269b4e20459649ac93cb702cde29b3e46a0bcf3aa53958f2d4a4'; BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.9%2B10/OpenJDK21U-jdk_ppc64le_linux_hotspot_21.0.9_10.tar.gz'; ;; riscv64) ESUM='ac411d52862fe8a4a48a6c3546bebced8f4879cd728746fc4ee4b06151aa9f8b'; BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.9%2B10/OpenJDK21U-jdk_riscv64_linux_hotspot_21.0.9_10.tar.gz'; ;; s390x) ESUM='e8ede0fb48aaa3a0cc1ac7c8522f8ca7938bdbb8be0d603b61134de7f898aff4'; BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.9%2B10/OpenJDK21U-jdk_s390x_linux_hotspot_21.0.9_10.tar.gz'; ;; *) echo "Unsupported arch: ${ARCH}"; exit 1; ;; esac; wget --progress=dot:giga -O /tmp/openjdk.tar.gz ${BINARY_URL}; wget --progress=dot:giga -O /tmp/openjdk.tar.gz.sig ${BINARY_URL}.sig; export GNUPGHOME="$(mktemp -d)"; gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 3B04D753C9050D9A5D343F39843C48A565F8F04B; gpg --batch --verify /tmp/openjdk.tar.gz.sig /tmp/openjdk.tar.gz; rm -rf "${GNUPGHOME}" /tmp/openjdk.tar.gz.sig; echo "${ESUM} */tmp/openjdk.tar.gz" | sha256sum -c -; mkdir -p "$JAVA_HOME"; tar --extract --file /tmp/openjdk.tar.gz --directory "$JAVA_HOME" --strip-components 1 --no-same-owner ; rm -f /tmp/openjdk.tar.gz ${JAVA_HOME}/lib/src.zip; find "$JAVA_HOME/lib" -name '*.so' -exec dirname '{}' ';' | sort -u > /etc/ld.so.conf.d/docker-openjdk.conf; ldconfig; java -Xshare:dump; # buildkit
RUN /bin/sh -c set -eux; echo "Verifying install ..."; fileEncoding="$(echo 'System.out.println(System.getProperty("file.encoding"))' | jshell -s -)"; [ "$fileEncoding" = 'UTF-8' ]; rm -rf ~/.java; echo "javac --version"; javac --version; echo "java --version"; java --version; echo "Complete." # buildkit
COPY --chmod=755 entrypoint.sh /__cacert_entrypoint.sh # buildkit
ENTRYPOINT ["/__cacert_entrypoint.sh"]
CMD ["jshell"]
RUN /bin/sh -c apt-get update && apt-get install -y ca-certificates curl git openssh-client --no-install-recommends && rm -rf /var/lib/apt/lists/* # buildkit
LABEL org.opencontainers.image.title=Apache Maven
LABEL org.opencontainers.image.source=https://github.com/carlossg/docker-maven
LABEL org.opencontainers.image.url=https://github.com/carlossg/docker-maven
LABEL org.opencontainers.image.description=Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.
ENV MAVEN_HOME=/usr/share/maven
COPY /usr/share/maven /usr/share/maven # buildkit
COPY /usr/local/bin/mvn-entrypoint.sh /usr/local/bin/mvn-entrypoint.sh # buildkit
COPY /usr/share/maven/ref/settings-docker.xml /usr/share/maven/ref/settings-docker.xml # buildkit
RUN /bin/sh -c ln -s ${MAVEN_HOME}/bin/mvn /usr/bin/mvn # buildkit
ARG MAVEN_VERSION=3.9.11
ARG USER_HOME_DIR=/root
ENV MAVEN_CONFIG=/root/.m2
ENTRYPOINT ["/usr/local/bin/mvn-entrypoint.sh"]
CMD ["mvn"]
ARG NODE_VERSION=22.22.0
ARG TARGETARCH=amd64
LABEL org.opencontainers.image.title=java-node-mysql-ci
LABEL org.opencontainers.image.description=Reusable Forgejo Actions image with Java 21, Maven 3.9.11, Node.js 22, and MySQL client tools.
LABEL org.opencontainers.image.source=https://git.wiese.software/forgejo_admin/ci-images
LABEL org.opencontainers.image.vendor=Wiese Software
LABEL org.opencontainers.image.licenses=MIT
LABEL org.opencontainers.image.version=java21-maven3.9.11-node22.22.0
RUN |2 NODE_VERSION=22.22.0 TARGETARCH=amd64 /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends bash ca-certificates curl default-mysql-client git procps xz-utils; rm -rf /var/lib/apt/lists/* # buildkit
RUN |2 NODE_VERSION=22.22.0 TARGETARCH=amd64 /bin/sh -c set -eux; case "${TARGETARCH:-amd64}" in amd64) node_arch="x64" ;; arm64) node_arch="arm64" ;; *) echo "unsupported TARGETARCH=${TARGETARCH}" >&2; exit 1 ;; esac; curl -fsSLo /tmp/node.tar.xz "https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-${node_arch}.tar.xz"; tar -xJf /tmp/node.tar.xz -C /usr/local --strip-components=1; rm /tmp/node.tar.xz # buildkit
RUN |2 NODE_VERSION=22.22.0 TARGETARCH=amd64 /bin/sh -c set -eux; java -version; mvn --version; node --version; npm --version; mysql --version; git --version; bash --version | head -n 1; curl --version | head -n 1 # buildkit
ARG FLUTTER_VERSION=3.44.1
LABEL org.opencontainers.image.title=flutter-web-e2e-java-ci
LABEL org.opencontainers.image.description=Reusable Forgejo Actions image with Flutter Web, Chrome, ChromeDriver, Java 21, Maven, Node.js 22, and MySQL client tools.
LABEL org.opencontainers.image.source=https://git.wiese.software/forgejo_admin/ci-images
LABEL org.opencontainers.image.vendor=Wiese Software
LABEL org.opencontainers.image.licenses=MIT
LABEL org.opencontainers.image.version=flutter3.44.1-java21-maven3.9.11-node22.22.0
ENV FLUTTER_HOME=/opt/flutter
ENV PUB_CACHE=/root/.pub-cache
ENV PATH=/opt/flutter/bin:/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
RUN |1 FLUTTER_VERSION=3.44.1 /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends gnupg libglu1-mesa lsof unzip zip; rm -rf /var/lib/apt/lists/* # buildkit
RUN |1 FLUTTER_VERSION=3.44.1 /bin/sh -c set -eux; curl -fsSL https://dl.google.com/linux/linux_signing_key.pub | gpg --dearmor -o /usr/share/keyrings/google-linux-signing-key.gpg; echo "deb [arch=amd64 signed-by=/usr/share/keyrings/google-linux-signing-key.gpg] http://dl.google.com/linux/chrome/deb/ stable main" > /etc/apt/sources.list.d/google-chrome.list; apt-get update; apt-get install -y --no-install-recommends google-chrome-stable; rm -rf /var/lib/apt/lists/* # buildkit
RUN |1 FLUTTER_VERSION=3.44.1 /bin/sh -c set -eux; chrome_version="$(google-chrome --product-version)"; chrome_major="${chrome_version%%.*}"; driver_version="$(curl -fsSL "https://googlechromelabs.github.io/chrome-for-testing/LATEST_RELEASE_${chrome_major}")"; curl -fsSLo /tmp/chromedriver-linux64.zip "https://storage.googleapis.com/chrome-for-testing-public/${driver_version}/linux64/chromedriver-linux64.zip"; unzip -q /tmp/chromedriver-linux64.zip -d /tmp; install -m 755 /tmp/chromedriver-linux64/chromedriver /usr/local/bin/chromedriver; rm -rf /tmp/chromedriver-linux64 /tmp/chromedriver-linux64.zip; test "$(google-chrome --product-version | cut -d. -f1)" = "$(chromedriver --version | grep -Eo '[0-9]+([.][0-9]+){3}' | cut -d. -f1)" # buildkit
RUN |1 FLUTTER_VERSION=3.44.1 /bin/sh -c set -eux; curl -fsSLo /tmp/flutter.tar.xz "https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_${FLUTTER_VERSION}-stable.tar.xz"; rm -rf "${FLUTTER_HOME}"; tar --no-same-owner -xf /tmp/flutter.tar.xz -C /opt; rm /tmp/flutter.tar.xz; git config --global --add safe.directory "${FLUTTER_HOME}"; flutter config --no-analytics; dart --disable-analytics; flutter precache --web # buildkit
COPY flutter-web-e2e-java-ci/google-chrome-ci /usr/local/bin/google-chrome-ci # buildkit
RUN |1 FLUTTER_VERSION=3.44.1 /bin/sh -c chmod 755 /usr/local/bin/google-chrome-ci # buildkit
RUN |1 FLUTTER_VERSION=3.44.1 /bin/sh -c set -eux; flutter --version; dart --version; google-chrome --version; test -x /usr/local/bin/google-chrome-ci; chromedriver --version; java -version; mvn --version; node --version; npm --version; mysql --version; git --version; bash --version | head -n 1; curl --version | head -n 1; test ! -d /opt/android-sdk; test ! -d /opt/android-sdk-linux # buildkit

Labels

Key Value
org.opencontainers.image.description Reusable Forgejo Actions image with Flutter Web, Chrome, ChromeDriver, Java 21, Maven, Node.js 22, and MySQL client tools.
org.opencontainers.image.licenses MIT
org.opencontainers.image.ref.name ubuntu
org.opencontainers.image.source https://git.wiese.software/forgejo_admin/ci-images
org.opencontainers.image.title flutter-web-e2e-java-ci
org.opencontainers.image.url https://github.com/carlossg/docker-maven
org.opencontainers.image.vendor Wiese Software
org.opencontainers.image.version flutter3.44.1-java21-maven3.9.11-node22.22.0
Details
Container
2026-07-12 08:32:15 +00:00
23
OCI / Docker
linux/amd64
MIT
2.2 GiB
Versions (2) View all