1- FROM debian:buster
1+ FROM debian:trixie
22
33LABEL tag="ackee-gitlab" \
44 author="Ackee 🦄" \
55 description="This Docker image serves as an environment for running Android builds on Gitlab CI in Ackee workspace"
66
77SHELL ["/bin/bash" , "-c" ]
88
9- RUN apt-get update && apt-get install -y \
9+ RUN apt update && apt install -y \
1010 curl \
1111 git \
12- libgl1-mesa-glx \
12+ libgl1 \
1313 unzip \
1414 zip \
15- python \
15+ python3 \
1616 wget \
17- fontconfig
17+ xz-utils \
18+ fontconfig \
19+ gnupg
1820
1921RUN curl -s "https://get.sdkman.io" | bash && \
2022 source "$HOME/.sdkman/bin/sdkman-init.sh" && \
2123 sdk install java 17.0.7-oracle && \
2224 sdk use java 17.0.7-oracle
2325
24- ENV JAVA_HOME /root/.sdkman/candidates/java/current
25- ENV ANDROID_HOME /opt/android-sdk-linux
26- ENV PATH "$PATH:$JAVA_HOME/bin"
26+ ENV JAVA_HOME= /root/.sdkman/candidates/java/current
27+ ENV ANDROID_HOME= /opt/android-sdk-linux
28+ ENV PATH= "$PATH:$JAVA_HOME/bin"
2729
2830# Download Android SDK command line tools into $ANDROID_HOME
2931RUN cd /opt && wget -q https://dl.google.com/android/repository/commandlinetools-linux-6858069_latest.zip -O android-sdk-tools.zip && \
3032 unzip -q android-sdk-tools.zip && mkdir -p "$ANDROID_HOME/cmdline-tools/" && mv cmdline-tools latest && mv latest/ "$ANDROID_HOME" /cmdline-tools/ && \
3133 rm android-sdk-tools.zip
3234
33- ENV PATH "$PATH:$ANDROID_HOME/cmdline-tools/latest:$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/platform-tools"
35+ ENV PATH= "$PATH:$ANDROID_HOME/cmdline-tools/latest:$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/platform-tools"
3436
3537# Accept licenses before installing components
3638# License is valid for all the standard components in versions installed from this file
@@ -44,17 +46,11 @@ RUN sdkmanager $(sdkmanager --list 2> /dev/null | grep platforms | awk -F' ' '{p
4446# list all build-tools, sort them in descending order and install them
4547RUN sdkmanager $(sdkmanager --list 2> /dev/null | grep build-tools | awk -F' ' '{print $1}' | sort -nr -k2 -t \; | uniq)
4648
47- # install gcloud
48- RUN wget -q https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-334.0.0-linux-x86_64.tar.gz -O g.tar.gz && \
49- tar xf g.tar.gz && \
50- rm g.tar.gz && \
51- mv google-cloud-sdk /opt/google-cloud-sdk && \
52- /opt/google-cloud-sdk/install.sh -q && \
53- /opt/google-cloud-sdk/bin/gcloud config set component_manager/disable_update_check true
54- # add gcloud SDK to path
55- ENV PATH="${PATH}:/opt/google-cloud-sdk/bin/"
56-
57- # # Danger-kotlin dependencies
49+ # setup gcloud
50+ RUN echo "deb https://packages.cloud.google.com/apt cloud-sdk main" >> /etc/apt/sources.list.d/google-cloud-sdk.list && \
51+ curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | gpg --dearmor >> /etc/apt/trusted.gpg.d/cloud.google.gpg && \
52+ apt update && apt install -y google-cloud-cli && \
53+ gcloud config set component_manager/disable_update_check true
5854
5955# nvm environment variables
6056ENV NVM_DIR=/usr/local/nvm \
@@ -75,7 +71,7 @@ ENV NODE_PATH=$NVM_DIR/v$NODE_VERSION/lib/node_modules \
7571 PATH=$NVM_DIR/versions/node/v$NODE_VERSION/bin:$PATH
7672
7773# install make which is needed in danger-kotlin install phase
78- RUN apt-get update && apt-get install -y \
74+ RUN apt update && apt install -y \
7975 make
8076
8177# install danger-js which is needed for danger-kotlin to work
@@ -101,12 +97,13 @@ ENV FLUTTER_CHANNEL="stable"
10197ENV FLUTTER_VERSION="3.24.3"
10298ENV FLUTTER_URL="https://storage.googleapis.com/flutter_infra_release/releases/$FLUTTER_CHANNEL/linux/flutter_linux_$FLUTTER_VERSION-$FLUTTER_CHANNEL.tar.xz"
10399ENV FLUTTER_HOME="/opt/flutter"
100+ ENV FLUTTER_FILE="flutter.tar.xz"
104101
105- RUN curl -o flutter.tar.xz $FLUTTER_URL \
102+ RUN curl -o $FLUTTER_FILE $FLUTTER_URL \
106103 && mkdir -p $FLUTTER_HOME \
107- && tar xf flutter.tar.xz -C /opt \
104+ && tar xf $FLUTTER_FILE -C /opt \
108105 && git config --global --add safe.directory /opt/flutter \
109- && rm flutter.tar.xz
106+ && rm $FLUTTER_FILE
110107
111108ENV PATH=$PATH:$FLUTTER_HOME/bin
112109
@@ -118,11 +115,11 @@ RUN flutter config --no-analytics \
118115
119116# git LFS support
120117RUN curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash \
121- && apt-get install -y git-lfs \
118+ && apt install -y git-lfs \
122119 && git lfs install
123120
124121# add gitlab helper functions
125- ENV GITLAB_CI_UTILS_VERSION 2.7.0
122+ ENV GITLAB_CI_UTILS_VERSION= 2.7.0
126123RUN curl -o helper_functions.sh "https://raw.githubusercontent.com/AckeeDevOps/gitlab-ci-utils/$GITLAB_CI_UTILS_VERSION/scripts/helper_functions.sh" \
127124 && curl -o android_ci_functions.sh "https://raw.githubusercontent.com/AckeeCZ/android-gitlab-ci-scripts/v1.0.0/android_ci_functions.sh" \
128125 && echo "source helper_functions.sh" >> /etc/profile \
0 commit comments