111 lines
3.5 KiB
Docker
111 lines
3.5 KiB
Docker
FROM debian:latest
|
|
|
|
LABEL author="Tara Piccari" maintainer="tarapiccari@gmail.com"
|
|
|
|
COPY ./agent.secret /agent.secret
|
|
|
|
ENV DOCKER 1
|
|
USER root
|
|
WORKDIR /
|
|
|
|
ENV GRADLE_VERSION 8.3
|
|
|
|
ENV ANDROID_HOME "/opt/android-sdk-linux"
|
|
ENV HOME /root
|
|
ENV APPIMAGE_BUILDER_VER 1.1.0
|
|
ENV ANDROID_SDK_VER 11076708
|
|
ENV ANDROID_SDK_ROOT $ANDROID_HOME
|
|
ENV PATH $PATH:$ANDROID_HOME/cmdline-tools:$ANDROID_HOME/cmdline-tools/bin:$ANDROID_HOME/platform-tools:/flutter/bin
|
|
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
RUN apt update; apt-get upgrade -y
|
|
|
|
RUN apt install -y build-essential cmake ninja-build openjdk-17-jdk nasm git curl wget openjdk-17-jre android-sdk android-sdk-build-tools android-sdk-platform-tools clang pkg-config unzip libgtk-3-dev zip lldb libglu1-mesa libpulse0 cargo python3-dev libffi-dev libssl-dev apt-utils
|
|
|
|
RUN curl -sO https://ci.zontreck.com/jnlpJars/agent.jar
|
|
|
|
RUN curl -sO https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.22.3-stable.tar.xz
|
|
|
|
RUN tar -xf /flutter_linux_3.22.3-stable.tar.xz
|
|
|
|
RUN curl -sO https://dl.google.com/android/repository/commandlinetools-linux-${ANDROID_SDK_VER}_latest.zip
|
|
|
|
RUN unzip -qq /commandlinetools-linux-${ANDROID_SDK_VER}_latest.zip -d $ANDROID_SDK_ROOT
|
|
RUN rm -v /commandlinetools-linux-${ANDROID_SDK_VER}_latest.zip
|
|
|
|
RUN mkdir -p $ANDROID_HOME/licenses
|
|
RUN yes | $ANDROID_HOME/cmdline-tools/bin/sdkmanager --licenses --sdk_root=${ANDROID_SDK_ROOT}
|
|
|
|
SHELL [ "/bin/bash", "-c" ]
|
|
|
|
RUN mkdir -p /home/adk/.android \
|
|
&& mkdir -pv /home/adk/app \
|
|
&& touch /home/adk/.android/repositories.cfg
|
|
|
|
ENV HOME /home/adk
|
|
WORKDIR /home/adk
|
|
|
|
RUN curl -s "https://get.sdkman.io" | bash
|
|
|
|
ADD packages.txt $HOME
|
|
|
|
RUN apt install -y fonts-liberation libgtk-4-1 libgbm1 libu2f-udev libvulkan1 xdg-utils
|
|
|
|
RUN curl -sO https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
|
|
|
|
RUN dpkg -i google-chrome-stable_current_amd64.deb
|
|
|
|
RUN chown -R root:root /flutter
|
|
|
|
RUN /flutter/bin/flutter --disable-analytics
|
|
|
|
# Use SDK Manager to install necessary components
|
|
RUN $ANDROID_HOME/cmdline-tools/bin/sdkmanager --sdk_root=${ANDROID_SDK_ROOT} --update \
|
|
&& while read -r pkg; do PKGS="${PKGS}${pkg} "; done < $HOME/packages.txt \
|
|
&& $ANDROID_HOME/cmdline-tools/bin/sdkmanager --sdk_root=${ANDROID_SDK_ROOT} $PKGS \
|
|
&& rm $HOME/packages.txt
|
|
|
|
# Install Gradle
|
|
RUN source "${HOME}/.sdkman/bin/sdkman-init.sh" \
|
|
&& sdk install gradle ${GRADLE_VERSION}
|
|
|
|
RUN /flutter/bin/flutter doctor
|
|
|
|
RUN /flutter/bin/flutter precache
|
|
|
|
ADD pub.secret /
|
|
|
|
RUN cat /pub.secret | dart pub token add https://git.zontreck.com/api/packages/AriasCreations/pub
|
|
|
|
# Set up needed git and extra build components
|
|
|
|
RUN git config --global user.name "zontreck"
|
|
RUN git config --global user.email "tarapiccari@gmail.com"
|
|
|
|
RUN apt-get install -y rsync zip
|
|
|
|
WORKDIR /root/.ssh
|
|
ADD ./id_rsa ./id_rsa
|
|
ADD ./id_rsa.pub ./id_rsa.pub
|
|
RUN chmod 0600 id_rsa
|
|
|
|
# Precache SSH Host Keys
|
|
RUN ssh-keyscan github.com >> /root/.ssh/known_hosts
|
|
RUN ssh-keyscan -p 1212 git.zontreck.com >> /root/.ssh/known_hosts
|
|
|
|
|
|
WORKDIR /root/.gradle
|
|
ADD ./gradle.properties ./
|
|
|
|
WORKDIR /
|
|
ADD ./env /env.bash
|
|
RUN source /env.bash
|
|
|
|
# Install AppImage Builder
|
|
RUN curl -sO https://github.com/AppImageCrafters/appimage-builder/releases/download/v${APPIMAGE_BUILDER_VER}/appimage-builder-${APPIMAGE_BUILDER_VER}-x86_64.AppImage
|
|
|
|
RUN mv appimage-builder-${APPIMAGE_BUILDER_VER}-x86_64.AppImage /bin/appimage-builder
|
|
RUN chmod +x /bin/appimage-builder
|
|
|
|
ENTRYPOINT [ "java", "-jar", "/agent.jar", "-url", "https://ci.zontreck.com", "-secret", "@/agent.secret", "-name", "Linux", "-workDir", "/builder" ]
|