| ARG RELEASE |
| ARG LAUNCHPAD_BUILD_ARCH |
| LABEL org.opencontainers.image.ref.name=ubuntu |
| LABEL org.opencontainers.image.version=24.04 |
| ADD file:98599296b3845cfad0ddc91f054e32ed9bcdefd76dd7b6dcf64fa3e2d648d018 in / |
| CMD ["/bin/bash"] |
| LABEL maintainer=CircleCI Execution Team <eng-execution@circleci.com> |
| SHELL [/bin/bash -exo pipefail -c] |
| ENV DEBIAN_FRONTEND=noninteractive TERM=dumb PAGER=cat |
| RUN /bin/bash -exo pipefail -c echo 'APT::Get::Assume-Yes "true";' > /etc/apt/apt.conf.d/90circleci && echo 'DPkg::Options "--force-confnew";' >> /etc/apt/apt.conf.d/90circleci && apt-get update && apt-get install -y curl locales sudo && locale-gen en_US.UTF-8 && rm -rf /var/lib/apt/lists/* && groupadd --gid=1002 circleci && useradd --uid=1001 --gid=circleci --create-home circleci && echo 'circleci ALL=NOPASSWD: ALL' >> /etc/sudoers.d/50-circleci && echo 'Defaults env_keep += "DEBIAN_FRONTEND"' >> /etc/sudoers.d/env_keep && sudo -u circleci mkdir /home/circleci/project && sudo -u circleci mkdir /home/circleci/bin && sudo -u circleci mkdir -p /home/circleci/.local/bin && dockerizeArch=arm64 && if uname -p | grep "x86_64"; then dockerizeArch=x86_64; fi && curl -sSL --fail --retry 3 --output /usr/local/bin/dockerize "https://github.com/powerman/dockerize/releases/download/v0.8.0/dockerize-linux-${dockerizeArch}" && chmod +x /usr/local/bin/dockerize && dockerize --version # buildkit |
| ENV PATH=/home/circleci/bin:/home/circleci/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8 |
| RUN /bin/bash -exo pipefail -c apt-get update && apt-get install -y --no-install-recommends autoconf build-essential ca-certificates cmake curl file gettext-base gnupg gzip jq libcurl4-openssl-dev libmagic-dev libmariadb-dev libmariadb-dev-compat libpq-dev libssl-dev libsqlite3-dev lsof make nano net-tools netcat-openbsd openssh-client parallel pkg-config postgresql-client python-is-python3 retry shellcheck software-properties-common sudo tar tzdata unzip vim wget zip && add-apt-repository ppa:git-core/ppa && apt-get install -y git && curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash && apt-get install -y git-lfs && git version && git lfs version && python --version && rm -rf /var/lib/apt/lists/* # buildkit |
| ENV DOCKER_VERSION=5:28.1.1-1~ubuntu |
| RUN /bin/bash -exo pipefail -c apt-get update && apt-get install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common && curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - && add-apt-repository -y "deb [arch=$(dpkg --print-architecture)] https://download.docker.com/linux/ubuntu $( lsb_release -cs ) stable" && apt-get install -y docker-ce=${DOCKER_VERSION}.$( lsb_release -rs )~$( lsb_release -cs ) docker-ce-cli=${DOCKER_VERSION}.$( lsb_release -rs )~$( lsb_release -cs ) containerd.io && docker --version && rm -rf /var/lib/apt/lists/* # buildkit |
| ENV COMPOSE_VER=2.27.1 |
| ENV COMPOSE_SWITCH_VERSION=1.0.5 |
| RUN /bin/bash -exo pipefail -c dockerPluginDir=/usr/local/lib/docker/cli-plugins && mkdir -p $dockerPluginDir && curl -sSL "https://github.com/docker/compose/releases/download/v${COMPOSE_VER}/docker-compose-linux-$(uname -m)" -o $dockerPluginDir/docker-compose && chmod +x $dockerPluginDir/docker-compose && curl -fL "https://github.com/docker/compose-switch/releases/download/v${COMPOSE_SWITCH_VERSION}/docker-compose-linux-$(dpkg --print-architecture)" -o /usr/local/bin/compose-switch && docker compose version && chmod +x /usr/local/bin/compose-switch && update-alternatives --install /usr/local/bin/docker-compose docker-compose /usr/local/bin/compose-switch 99 && docker-compose version # buildkit |
| RUN /bin/bash -exo pipefail -c YQ_ARCH=$(dpkg --print-architecture) && curl -sSL "https://github.com/mikefarah/yq/releases/download/v4.42.1/yq_linux_$YQ_ARCH.tar.gz" | tar -xz -C /usr/local/bin && mv /usr/local/bin/yq{_linux_$YQ_ARCH,} # buildkit |
| USER circleci |
| RUN /bin/bash -exo pipefail -c whoami && git config --global --add safe.directory '*' # buildkit |
| WORKDIR /home/circleci/project |
| LABEL maintainer=CircleCI Execution Team <eng-execution@circleci.com> |
| RUN /bin/bash -exo pipefail -c sudo apt-get update && sudo apt-get install -y ant openjdk-8-jdk openjdk-17-jdk openjdk-21-jdk ruby-full && sudo rm -rf /var/lib/apt/lists/* && ruby -v && sudo gem install bundler && bundle version # buildkit |
| RUN /bin/bash -exo pipefail -c sudo chmod -R a+w /var/lib/gems/ /usr/local/bin # buildkit |
| ENV M2_HOME=/usr/local/apache-maven |
| ENV MAVEN_OPTS=-Xmx2048m |
| ENV PATH=/usr/local/apache-maven/bin:/home/circleci/bin:/home/circleci/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
| ENV JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64 |
| ENV JDK_HOME=/usr/lib/jvm/java-21-openjdk-amd64 |
| ENV JRE_HOME=/usr/lib/jvm/java-21-openjdk-amd64 |
| ENV MAVEN_VERSION=3.9.12 |
| ENV PATH=/opt/apache-maven/bin:/usr/local/apache-maven/bin:/home/circleci/bin:/home/circleci/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
| RUN /bin/bash -exo pipefail -c dl_URL="https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.tar.gz" && curl -sSL --fail --retry 3 $dl_URL -o apache-maven.tar.gz && sudo tar -xzf apache-maven.tar.gz -C /opt/ && rm apache-maven.tar.gz && sudo ln -s /opt/apache-maven-* /opt/apache-maven && mvn --version && mkdir -p /home/circleci/.m2 # buildkit |
| ENV GRADLE_VERSION=9.3.1 |
| ENV PATH=/opt/apache-maven/bin:/usr/local/apache-maven/bin:/home/circleci/bin:/home/circleci/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/gradle-9.3.1/bin |
| RUN /bin/bash -exo pipefail -c URL=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip && curl -sSL -o /tmp/gradle.zip $URL && sudo unzip -d /usr/local /tmp/gradle.zip && rm -rf /tmp/gradle.zip # buildkit |
| ENV ANDROID_HOME=/home/circleci/android-sdk |
| ENV ANDROID_SDK_ROOT=/home/circleci/android-sdk |
| ENV CMDLINE_TOOLS_ROOT=/home/circleci/android-sdk/cmdline-tools/latest/bin |
| ENV ADB_INSTALL_TIMEOUT=120 |
| ENV PATH=/home/circleci/android-sdk/emulator:/home/circleci/android-sdk/cmdline-tools/latest/bin:/home/circleci/android-sdk/tools:/home/circleci/android-sdk/tools/bin:/home/circleci/android-sdk/platform-tools:/home/circleci/android-sdk/platform-tools/bin:/opt/apache-maven/bin:/usr/local/apache-maven/bin:/home/circleci/bin:/home/circleci/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/gradle-9.3.1/bin |
| RUN /bin/bash -exo pipefail -c SDK_TOOLS_URL="https://dl.google.com/android/repository/commandlinetools-linux-14742923_latest.zip" && mkdir -p ${ANDROID_HOME}/cmdline-tools && mkdir ${ANDROID_HOME}/platforms && mkdir ${ANDROID_HOME}/ndk && wget -O /tmp/cmdline-tools.zip -t 5 "${SDK_TOOLS_URL}" && unzip -q /tmp/cmdline-tools.zip -d ${ANDROID_HOME}/cmdline-tools && rm /tmp/cmdline-tools.zip && mv ${ANDROID_HOME}/cmdline-tools/cmdline-tools ${ANDROID_HOME}/cmdline-tools/latest # buildkit |
| RUN /bin/bash -exo pipefail -c echo y | ${CMDLINE_TOOLS_ROOT}/sdkmanager "tools" && echo y | ${CMDLINE_TOOLS_ROOT}/sdkmanager "platform-tools" && echo y | ${CMDLINE_TOOLS_ROOT}/sdkmanager "build-tools;36.1.0-rc1" && echo y | ${CMDLINE_TOOLS_ROOT}/sdkmanager "build-tools;35.0.1" && echo y | ${CMDLINE_TOOLS_ROOT}/sdkmanager "build-tools;34.0.0-rc3" # buildkit |
| RUN /bin/bash -exo pipefail -c echo y | ${CMDLINE_TOOLS_ROOT}/sdkmanager "platforms;android-31" && echo y | ${CMDLINE_TOOLS_ROOT}/sdkmanager "platforms;android-32" && echo y | ${CMDLINE_TOOLS_ROOT}/sdkmanager "platforms;android-33" && echo y | ${CMDLINE_TOOLS_ROOT}/sdkmanager "platforms;android-34" && echo y | ${CMDLINE_TOOLS_ROOT}/sdkmanager "platforms;android-35" && echo y | ${CMDLINE_TOOLS_ROOT}/sdkmanager "platforms;android-36" && echo y | ${CMDLINE_TOOLS_ROOT}/sdkmanager "platforms;android-36.1" # buildkit |
| RUN /bin/bash -exo pipefail -c echo y | ${CMDLINE_TOOLS_ROOT}/sdkmanager "extras;android;m2repository" && echo y | ${CMDLINE_TOOLS_ROOT}/sdkmanager "extras;google;m2repository" && echo y | ${CMDLINE_TOOLS_ROOT}/sdkmanager "extras;google;google_play_services" && sudo gem install fastlane --version 2.231.1 --no-document && curl -sL https://firebase.tools | bash # buildkit |
| ENV GCLOUD_VERSION=453.0.0-0 |
| RUN /bin/bash -exo pipefail -c curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - && sudo add-apt-repository "deb https://packages.cloud.google.com/apt cloud-sdk main" && sudo apt-get update && sudo apt-get install -y google-cloud-sdk=${GCLOUD_VERSION} && sudo gcloud config set --installation component_manager/disable_update_check true && sudo gcloud config set disable_usage_reporting false # buildkit |
| LABEL maintainer=Community & Partner Engineering Team <community-partner@circleci.com> |
| RUN /bin/bash -exo pipefail -c curl -sSL "https://raw.githubusercontent.com/CircleCI-Public/cimg-node/main/ALIASES" -o nodeAliases.txt && NODE_VERSION=$(grep "lts" ./nodeAliases.txt | cut -d "=" -f 2-) && [[ $(uname -m) == "x86_64" ]] && ARCH="x64" || ARCH="arm64" && curl -L -o node.tar.xz "https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-${ARCH}.tar.xz" && sudo tar -xJf node.tar.xz -C /usr/local --strip-components=1 && rm node.tar.xz nodeAliases.txt && sudo ln -s /usr/local/bin/node /usr/local/bin/nodejs # buildkit |
| RUN /bin/bash -exo pipefail -c sudo npm install -g yarn pnpm # buildkit |
| USER root |
| RUN /bin/bash -exo pipefail -c npm install -g eas-cli # buildkit |