| ARG RELEASE |
| ARG LAUNCHPAD_BUILD_ARCH |
| LABEL org.opencontainers.image.version=22.04 |
| ADD file:c5143b228eb55f19ed4d3b653ad68ec7afe54ded0247e090ce3afb9e5484adfb in / |
| CMD ["/bin/bash"] |
| ENV DEBIAN_FRONTEND=noninteractive |
| RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates software-properties-common; add-apt-repository -y universe; apt-get update; apt-get install -y apt-utils wget curl gnupg software-properties-common lsb-release jq bash git unzip grep tini build-essential libc6-dev libstdc++-12-dev gcc g++ gcc-multilib g++-multilib golang-go tar coreutils zip rsync git-lfs docker.io clang # buildkit |
| RUN /bin/sh -c set -eux; install -m 0755 -d /etc/apt/keyrings; curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg; chmod a+r /etc/apt/keyrings/docker.gpg; echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo $VERSION_CODENAME) stable" > /etc/apt/sources.list.d/docker.list; apt-get update; apt-get install -y docker-buildx-plugin; docker buildx version # buildkit |
| COPY /usr/local/bin/run.sh /usr/local/bin/run.sh # buildkit |
| COPY /usr/local/bin/gitea-runner /usr/local/bin/gitea-runner # buildkit |
| COPY <<WRAPPER /usr/local/bin/entrypoint.sh # buildkit |
| RUN /bin/sh -c chmod +x /usr/local/bin/entrypoint.sh # buildkit |
| ENTRYPOINT ["/usr/bin/tini" "--" "entrypoint.sh"] |
| RUN /bin/sh -c set -eux; add-apt-repository -y ppa:dotnet/backports; apt-get update; apt-get install -y dotnet-sdk-10.0 dotnet-sdk-8.0 # buildkit |
| RUN /bin/sh -c set -eux; dotnet tool install --global dotnet-sonarscanner # buildkit |
| ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/.dotnet/tools |
| RUN /bin/sh -c set -eux; apt-get update; apt-get install -y openjdk-17-jdk openjdk-21-jdk # buildkit |
| ENV JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 |
| ENV PATH=/usr/lib/jvm/java-17-openjdk-amd64/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/.dotnet/tools |
| ENV ANDROID_HOME=/android/sdk |
| ENV ANDROID_SDK_ROOT=/android/sdk |
| ENV ANDROID_NDK_HOME=/android/sdk/ndk/27.2.12479018 |
| ENV PATH=/usr/lib/jvm/java-17-openjdk-amd64/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/.dotnet/tools:/android/sdk/cmdline-tools/latest/bin:/android/sdk/cmdline-tools/tools/bin:/android/sdk/platform-tools:/android/sdk/emulator:/android/sdk/build-tools/35.0.0:/android/sdk/ndk/27.2.12479018/toolchains/llvm/prebuilt/linux-x86_64/bin |
| ENV CMAKE_TOOLCHAIN_FILE=/android/sdk/ndk/27.2.12479018/build/cmake/android.toolchain.cmake |
| RUN /bin/sh -c set -eux; mkdir -p $ANDROID_HOME/cmdline-tools/tools /root/.cache/downloads; cd /root/.cache/downloads; wget -qnc https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip; unzip -qo commandlinetools-linux-11076708_latest.zip; cp -r cmdline-tools/* $ANDROID_HOME/cmdline-tools/tools # buildkit |
| RUN /bin/sh -c set -eux; yes | sdkmanager --licenses; sdkmanager "cmdline-tools;latest" "platforms;android-35" "platforms;android-36" "build-tools;35.0.0" "build-tools;36.0.0" "platform-tools" "ndk;27.2.12479018" "emulator" "system-images;android-35;google_apis;x86_64"; # buildkit |
| RUN /bin/sh -c set -eux; apt-get update; apt-get install -y libpulse0 libasound2 libgl1-mesa-glx libglu1-mesa mesa-utils qemu-kvm # buildkit |
| RUN /bin/sh -c echo "no" | avdmanager create avd -n test -k "system-images;android-35;google_apis;x86_64" --device "pixel_5" # buildkit |
| RUN /bin/sh -c set -eux; add-apt-repository -y ppa:instructure/ruby; apt-get update; apt-get install -y ruby3.3 ruby3.3-dev; update-alternatives --install /usr/bin/ruby ruby /usr/bin/ruby3.3 100; update-alternatives --install /usr/bin/gem gem /usr/bin/gem3.3 100; gem install fastlane --no-document # buildkit |
| RUN /bin/sh -c echo "JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64" >> /etc/environment && echo "ANDROID_HOME=/android/sdk" >> /etc/environment && echo "ANDROID_SDK_ROOT=/android/sdk" >> /etc/environment && echo "ANDROID_NDK_HOME=/android/sdk/ndk/27.2.12479018" >> /etc/environment && echo "CMAKE_TOOLCHAIN_FILE=/android/sdk/ndk/27.2.12479018/build/cmake/android.toolchain.cmake" >> /etc/environment && echo "PATH=$PATH" >> /etc/environment # buildkit |
| RUN /bin/sh -c set -eux; apt-get update; apt-get install -y xvfb libgtk2.0-0 libgtk-3-0 libgbm-dev libnotify-dev libnss3 libxss1 libxtst6 xauth # buildkit |
| ARG GODOT_VERSION=4.7 |
| RUN |1 GODOT_VERSION=4.7 /bin/sh -c set -eux; GODOT_DIR="Godot_v${GODOT_VERSION}-stable_mono_linux_x86_64"; cd /root/.cache/downloads; wget -qnc "https://github.com/godotengine/godot/releases/download/${GODOT_VERSION}-stable/${GODOT_DIR}.zip"; unzip -qo "${GODOT_DIR}.zip"; mv "${GODOT_DIR}/Godot_v${GODOT_VERSION}-stable_mono_linux.x86_64" /usr/local/bin/godot; mv "${GODOT_DIR}/GodotSharp" /usr/local/bin/; rm -rf "${GODOT_DIR}" # buildkit |
| RUN |1 GODOT_VERSION=4.7 /bin/sh -c set -eux; TEMPLATES_DIR="/root/.local/share/godot/export_templates/${GODOT_VERSION}.stable.mono"; cd /root/.cache/downloads; wget -qnc "https://github.com/godotengine/godot/releases/download/${GODOT_VERSION}-stable/Godot_v${GODOT_VERSION}-stable_mono_export_templates.tpz"; mkdir -p "${TEMPLATES_DIR}"; unzip -qo "Godot_v${GODOT_VERSION}-stable_mono_export_templates.tpz" -d "${TEMPLATES_DIR}"; mv "${TEMPLATES_DIR}/templates"/* "${TEMPLATES_DIR}/"; rmdir "${TEMPLATES_DIR}/templates" # buildkit |
| RUN /bin/sh -c set -eux; curl -fsSL https://deb.nodesource.com/setup_24.x | bash -; apt-get update; apt-get install -y nodejs; npm install -g npm@latest # buildkit |
| RUN /bin/sh -c set -eux; apt-get update; apt-get install -y ninja-build python3-pip; wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc | gpg --dearmor -o /usr/share/keyrings/kitware.gpg; echo "deb [signed-by=/usr/share/keyrings/kitware.gpg] https://apt.kitware.com/ubuntu/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/kitware.list; apt-get update; apt-get install -y cmake # buildkit |
| RUN /bin/sh -c set -eux; pip install --no-cache-dir conan; conan profile detect # buildkit |
| RUN /bin/sh -c set -eux; wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | gpg --dearmor -o /usr/share/keyrings/google-chrome.gpg; echo "deb [arch=amd64 signed-by=/usr/share/keyrings/google-chrome.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 google-chrome-stable; mv /usr/bin/google-chrome /usr/bin/google-chrome-real; printf '#!/bin/bash\nexec /usr/bin/google-chrome-real --no-sandbox --disable-dev-shm-usage "$@"\n' > /usr/bin/google-chrome; chmod +x /usr/bin/google-chrome # buildkit |
| ARG SONAR_SCANNER_VERSION=8.0.1.6346 |
| RUN |1 SONAR_SCANNER_VERSION=8.0.1.6346 /bin/sh -c set -eux; cd /opt; curl -fsSLo /root/.cache/downloads/sonar-scanner.zip "https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-${SONAR_SCANNER_VERSION}-linux-x64.zip"; unzip -qo /root/.cache/downloads/sonar-scanner.zip -d /opt; ln -sf "/opt/sonar-scanner-${SONAR_SCANNER_VERSION}-linux-x64/bin/sonar-scanner" /usr/local/bin/sonar-scanner; sonar-scanner --version # buildkit |
| ENV JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64 |