BuildEnvironments/LinuxGeneralCompiler/Dockerfile

75 lines
2.4 KiB
Docker

FROM git.zontreck.com/ariascreations/buildenvironments:debianbuild
COPY ./agent.secret /agent.secret
ENV ANDROID_HOME "/opt/android-sdk-linux"
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
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}
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 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
WORKDIR /root/.ssh
ADD ./id_rsa ./id_rsa
ADD ./id_rsa.pub ./id_rsa.pub
RUN chmod 0600 id_rsa
WORKDIR /root/.gradle
ADD ./gradle.properties ./
WORKDIR /
ADD ./env /env.bash
RUN source /env.bash
ENTRYPOINT [ "java", "-jar", "/agent.jar", "-url", "https://ci.zontreck.com", "-secret", "@/agent.secret", "-name", "Linux", "-workDir", "/builder" ]