Skip to content

Commit f540d06

Browse files
author
Tangem
committed
Cleaned commit
1 parent fd6e050 commit f540d06

2 files changed

Lines changed: 106 additions & 2 deletions

File tree

.github/workflows/ui_tests.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ jobs:
6565
6666
- name: Build Docker image
6767
run: |
68-
docker build --platform linux/x86_64 -t tangem_ci_android_environment_x86_64 -f tangem-android-tools/CI/dockerfiles/Dockerfile.android.x64 .
68+
docker build --platform linux/x86_64 -t tangem_ci_android_environment_x86_64 -f ci_resources/Dockerfile.android.x64 .
6969
7070
- name: Build internal
7171
id: build
@@ -86,5 +86,5 @@ jobs:
8686
bash -c '
8787
cd /workspace;
8888
89-
./gradlew assembleDebug
89+
fastlane buildInternal;
9090
'
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
FROM ubuntu:24.04
2+
3+
# Использование немецкого зеркала для ускорения загрузки
4+
RUN sed -i 's|archive.ubuntu.com|de.archive.ubuntu.com|g' /etc/apt/sources.list.d/ubuntu.sources || \
5+
sed -i 's|archive.ubuntu.com|de.archive.ubuntu.com|g' /etc/apt/sources.list || \
6+
true
7+
8+
ENV DEBIAN_FRONTEND=noninteractive
9+
ENV ANDROID_HOME=/opt/android-sdk
10+
ENV BUNDLE_PATH=vendor/bundle
11+
ENV PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/platform-tools:$ANDROID_HOME/build-tools/30.0.3:$ANDROID_HOME/emulator:$BUNDLE_PATH/bin
12+
ENV LC_ALL=en_US.UTF-8
13+
ENV LANG=en_US.UTF-8
14+
15+
# Оптимизированные JVM настройки для CI
16+
ENV JAVA_OPTS="-Xmx4g -XX:+UseG1GC -XX:MaxGCPauseMillis=200"
17+
ENV GRADLE_OPTS="-Dorg.gradle.daemon=false -Dorg.gradle.parallel=false -Dorg.gradle.jvmargs='-Xmx4g -XX:+UseG1GC' -Dorg.gradle.workers.max=4"
18+
19+
# Установка пакетов
20+
RUN apt-get update --fix-missing && apt-get install -y \
21+
locales \
22+
openjdk-17-jdk \
23+
wget \
24+
unzip \
25+
curl \
26+
git \
27+
build-essential \
28+
jq \
29+
libglu1-mesa \
30+
mesa-utils \
31+
libpulse0 \
32+
libvirt-daemon-system \
33+
libvirt-clients \
34+
bridge-utils \
35+
qemu-kvm \
36+
htop \
37+
procps \
38+
xvfb \
39+
x11-utils \
40+
libc6-dev \
41+
libstdc++6 \
42+
libgcc-s1 \
43+
zlib1g-dev \
44+
libvulkan1 \
45+
mesa-vulkan-drivers \
46+
libgl1-mesa-dri \
47+
libxext6 \
48+
libxtst6 \
49+
ruby \
50+
ruby-dev \
51+
&& apt-get clean \
52+
&& rm -rf /var/lib/apt/lists/*
53+
54+
# Настройка локали
55+
RUN locale-gen en_US.UTF-8 && \
56+
update-locale LANG=en_US.UTF-8
57+
58+
# Установка GitHub CLI
59+
RUN curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg && \
60+
chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg && \
61+
echo "deb [signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" > /etc/apt/sources.list.d/github-cli.list && \
62+
apt-get update && apt-get install -y gh && \
63+
apt-get clean && rm -rf /var/lib/apt/lists/*
64+
65+
# Установка Android SDK
66+
RUN mkdir -p $ANDROID_HOME/cmdline-tools && \
67+
wget --timeout=30 --tries=3 https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip -O /tmp/cmdline-tools.zip && \
68+
unzip /tmp/cmdline-tools.zip -d /tmp && \
69+
mv /tmp/cmdline-tools $ANDROID_HOME/cmdline-tools/latest && \
70+
rm -f /tmp/cmdline-tools.zip
71+
72+
# Установка Android SDK компонентов для API 30 (стабильная версия)
73+
RUN yes | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --licenses && \
74+
$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager \
75+
"platform-tools" \
76+
"platforms;android-30" \
77+
"build-tools;30.0.3" \
78+
"emulator" \
79+
"system-images;android-30;google_apis;x86_64"
80+
81+
RUN echo "* soft nofile 262144" >> /etc/security/limits.conf && \
82+
echo "* hard nofile 262144" >> /etc/security/limits.conf
83+
84+
RUN apt-get update && apt-get install -y libjemalloc2 && \
85+
echo "/usr/lib/x86_64-linux-gnu/libjemalloc.so.2" >> /etc/ld.so.preload && \
86+
apt-get clean && rm -rf /var/lib/apt/lists/*
87+
88+
# Создание необходимых директорий
89+
RUN mkdir -p /root/.gradle \
90+
&& mkdir -p /root/.android \
91+
&& mkdir -p /root/.emulator_console_auth_token
92+
93+
# Установка прав на выполнение для эмулятора
94+
RUN chmod +x $ANDROID_HOME/emulator/emulator* || true
95+
96+
# Создание базового профиля для эмулятора
97+
RUN echo "export ANDROID_HOME=$ANDROID_HOME" >> /root/.bashrc && \
98+
echo "export PATH=\$PATH:\$ANDROID_HOME/emulator:\$ANDROID_HOME/platform-tools" >> /root/.bashrc
99+
100+
RUN gem install bundler:2.5.23
101+
RUN gem install fastlane -v 2.225.0 -N -V
102+
RUN gem install fastlane-plugin-firebase_app_distribution -v 0.9.1 -N -V
103+
104+
CMD ["bash"]

0 commit comments

Comments
 (0)