Block a user
ci-flutter (latest)
Published 2026-07-06 00:07:46 -04:00 by bvandeusen
Installation
docker pull git.fabledsword.com/bvandeusen/ci-flutter:latestsha256:d6126daaa4873a42db5a23e4a2cc8f69b339557840d339ba0ec77f44eb78dca7
About this package
CI image: Flutter SDK + Android cmdline-tools + Java 25 + Gradle. Pre-warmed for flutter test + flutter build apk.
Image Layers
| ARG RELEASE |
| ARG LAUNCHPAD_BUILD_ARCH |
| LABEL org.opencontainers.image.version=24.04 |
| ADD file:8c609c85109d07bf47cf268a175b3be8bbe34fc0c41d15d99b090d099f4dc837 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 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-25.0.3+9 |
| RUN /bin/sh -c set -eux; ARCH="$(dpkg --print-architecture)"; case "${ARCH}" in amd64) ESUM='69264a7a211bf5029830d07bc3370f879769d62ebc5b5488e90c9343a2da0e1f'; BINARY_URL='https://github.com/adoptium/temurin25-binaries/releases/download/jdk-25.0.3%2B9/OpenJDK25U-jdk_x64_linux_hotspot_25.0.3_9.tar.gz'; ;; arm64) ESUM='3e4287cb98870ba824ed698854bdc27cff984254caf66dd12cc291e7bfdde26b'; BINARY_URL='https://github.com/adoptium/temurin25-binaries/releases/download/jdk-25.0.3%2B9/OpenJDK25U-jdk_aarch64_linux_hotspot_25.0.3_9.tar.gz'; ;; ppc64el) ESUM='72b0fbb201716ca465ab704ec0fb12971abab3fdde5ae8d03b125a273522cf05'; BINARY_URL='https://github.com/adoptium/temurin25-binaries/releases/download/jdk-25.0.3%2B9/OpenJDK25U-jdk_ppc64le_linux_hotspot_25.0.3_9.tar.gz'; ;; riscv64) ESUM='3b23af7f7dfe82e1dc66509cb825d82d08372f2e7f66ae85a7fdb42a4c84bfcc'; BINARY_URL='https://github.com/adoptium/temurin25-binaries/releases/download/jdk-25.0.3%2B9/OpenJDK25U-jdk_riscv64_linux_hotspot_25.0.3_9.tar.gz'; ;; s390x) ESUM='24b497d10acb6ee706ca30e1c8a929785c250cad54c5c12f1f8f93c3c06a53f7'; BINARY_URL='https://github.com/adoptium/temurin25-binaries/releases/download/jdk-25.0.3%2B9/OpenJDK25U-jdk_s390x_linux_hotspot_25.0.3_9.tar.gz'; ;; *) echo "Unsupported arch: ${ARCH}"; exit 1; ;; esac; savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends wget gnupg; 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; apt-mark auto '.*' > /dev/null; apt-mark manual $savedAptMark > /dev/null; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; rm -rf /var/lib/apt/lists/*; 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"] |
| LABEL org.opencontainers.image.source=https://git.fabledsword.com/bvandeusen/CI-runner org.opencontainers.image.description=CI image: Flutter SDK + Android cmdline-tools + Java 25 + Gradle. Pre-warmed for flutter test + flutter build apk. org.opencontainers.image.licenses=MIT |
| SHELL [/bin/bash -eo pipefail -c] |
| ARG NODE_MAJOR |
| ARG RUNNER_UID |
| ARG RUNNER_USER |
| ENV ANDROID_SDK_ROOT=/opt/android-sdk ANDROID_HOME=/opt/android-sdk FLUTTER_HOME=/opt/flutter FLUTTER_ROOT=/opt/flutter PATH=/opt/flutter/bin:/opt/android-sdk/cmdline-tools/latest/bin:/opt/android-sdk/platform-tools:/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
| COPY scripts/install-common.sh /tmp/install-common.sh # buildkit |
| RUN |3 NODE_MAJOR=24 RUNNER_UID=1001 RUNNER_USER=runner /bin/bash -eo pipefail -c NODE_MAJOR=${NODE_MAJOR} bash /tmp/install-common.sh && rm /tmp/install-common.sh && apt-get update && apt-get install -y --no-install-recommends libsqlite3-dev unzip zip xz-utils libglu1-mesa sudo && rm -rf /var/lib/apt/lists/* # buildkit |
| RUN |3 NODE_MAJOR=24 RUNNER_UID=1001 RUNNER_USER=runner /bin/bash -eo pipefail -c useradd --create-home --shell /bin/bash --uid ${RUNNER_UID} ${RUNNER_USER} && echo "${RUNNER_USER} ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/${RUNNER_USER} && mkdir -p /opt # buildkit |
| COPY --chown=1001:1001 /opt /opt # buildkit |
| USER runner |
| WORKDIR /home/runner |
| RUN |3 NODE_MAJOR=24 RUNNER_UID=1001 RUNNER_USER=runner /bin/bash -eo pipefail -c flutter doctor -v # buildkit |
Labels
| Key | Value |
|---|---|
| org.opencontainers.image.description | CI image: Flutter SDK + Android cmdline-tools + Java 25 + Gradle. Pre-warmed for flutter test + flutter build apk. |
| org.opencontainers.image.licenses | MIT |
| org.opencontainers.image.source | https://git.fabledsword.com/bvandeusen/CI-runner |
| org.opencontainers.image.version | 24.04 |
Details
Versions (2)
View all