diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000..9c7cd6aa9f --- /dev/null +++ b/Dockerfile @@ -0,0 +1,50 @@ +FROM ubuntu:24.04 + +ENV DEBIAN_FRONTEND=noninteractive +ENV ANDROID_HOME=/opt/android-sdk +ENV BUNDLE_PATH=vendor/bundle +ENV PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/platform-tools:$ANDROID_HOME/build-tools/34.0.0:$BUNDLE_PATH/bin +ENV LC_ALL=en_US.UTF-8 +ENV LANG=en_US.UTF-8 + +RUN apt-get update && apt-get install -y \ + openjdk-17-jdk \ + wget \ + unzip \ + curl \ + git \ + ruby \ + ruby-dev \ + build-essential \ + && apt-get clean + +RUN mkdir -p $ANDROID_HOME/cmdline-tools/latest && \ + wget https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip -O /tmp/cmdline-tools.zip && \ + unzip /tmp/cmdline-tools.zip -d $ANDROID_HOME/cmdline-tools/latest && \ + mv $ANDROID_HOME/cmdline-tools/latest/cmdline-tools/* $ANDROID_HOME/cmdline-tools/latest/ && \ + rm -rf $ANDROID_HOME/cmdline-tools/latest/cmdline-tools && \ + rm -f /tmp/cmdline-tools.zip && \ + yes | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --licenses && \ + $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager "platform-tools" "platforms;android-31" "platforms;android-34" "build-tools;34.0.0" + +# aapt2 requires libs that are not provided in arm64 ubuntu image +RUN mkdir /lib/x86_64-linux-gnu +COPY ci_resources/x86_64_libs/libc.so.6 /lib/x86_64-linux-gnu/libc.so.6 +COPY ci_resources/x86_64_libs/libdl.so.2 /lib/x86_64-linux-gnu/libdl.so.2 +COPY ci_resources/x86_64_libs/libgcc_s.so.1 /lib/x86_64-linux-gnu/libgcc_s.so.1 +COPY ci_resources/x86_64_libs/libm.so.6 /lib/x86_64-linux-gnu/libm.so.6 +COPY ci_resources/x86_64_libs/libpthread.so.0 /lib/x86_64-linux-gnu/libpthread.so.0 +COPY ci_resources/x86_64_libs/librt.so.1 /lib/x86_64-linux-gnu/librt.so.1 +RUN mkdir /lib64 +COPY ci_resources/x86_64_libs/ld-linux-x86-64.so.2 /lib64/ld-linux-x86-64.so.2 + +RUN gem install bundler:2.5.23 +RUN gem install fastlane -v 2.211.0 -N -V +RUN gem install fastlane-plugin-firebase_app_distribution -v 0.9.1 -N -V + +COPY Gemfile Gemfile.lock ./ +RUN bundle install --jobs=4 --retry=3 --verbose + +RUN bundle exec fastlane -v + +CMD ["bash"] diff --git a/ci_resources/8gb_ram_ci_gradle.properties b/ci_resources/8gb_ram_ci_gradle.properties new file mode 100644 index 0000000000..05b91953ed --- /dev/null +++ b/ci_resources/8gb_ram_ci_gradle.properties @@ -0,0 +1,12 @@ +org.gradle.jvmargs=-Xmx6g -XX:MaxMetaspaceSize=512m -XX:+UseParallelGC -XX:ParallelGCThreads=3 -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 +org.gradle.parallel=true +org.gradle.workers.max=3 +org.gradle.daemon=false +org.gradle.unsafe.configuration-cache=false +org.gradle.console=plain +org.gradle.caching=false + +android.useAndroidX=true +android.nonTransitiveRClass=false + +kotlin.incremental=false diff --git a/ci_resources/x86_64_libs/ld-linux-x86-64.so.2 b/ci_resources/x86_64_libs/ld-linux-x86-64.so.2 new file mode 100755 index 0000000000..8ef4df1a3d Binary files /dev/null and b/ci_resources/x86_64_libs/ld-linux-x86-64.so.2 differ diff --git a/ci_resources/x86_64_libs/libc.so.6 b/ci_resources/x86_64_libs/libc.so.6 new file mode 100755 index 0000000000..4b600449a0 Binary files /dev/null and b/ci_resources/x86_64_libs/libc.so.6 differ diff --git a/ci_resources/x86_64_libs/libdl.so.2 b/ci_resources/x86_64_libs/libdl.so.2 new file mode 100644 index 0000000000..2862f8ef7e Binary files /dev/null and b/ci_resources/x86_64_libs/libdl.so.2 differ diff --git a/ci_resources/x86_64_libs/libgcc_s.so.1 b/ci_resources/x86_64_libs/libgcc_s.so.1 new file mode 100644 index 0000000000..0e7b8a5939 Binary files /dev/null and b/ci_resources/x86_64_libs/libgcc_s.so.1 differ diff --git a/ci_resources/x86_64_libs/libm.so.6 b/ci_resources/x86_64_libs/libm.so.6 new file mode 100644 index 0000000000..7a473b15f3 Binary files /dev/null and b/ci_resources/x86_64_libs/libm.so.6 differ diff --git a/ci_resources/x86_64_libs/libpthread.so.0 b/ci_resources/x86_64_libs/libpthread.so.0 new file mode 100644 index 0000000000..3e09ebef74 Binary files /dev/null and b/ci_resources/x86_64_libs/libpthread.so.0 differ diff --git a/ci_resources/x86_64_libs/librt.so.1 b/ci_resources/x86_64_libs/librt.so.1 new file mode 100644 index 0000000000..8edf9c4312 Binary files /dev/null and b/ci_resources/x86_64_libs/librt.so.1 differ diff --git a/fastlane/Fastfile b/fastlane/Fastfile index a411e3c160..1b4cd75d62 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -23,6 +23,8 @@ platform :android do desc "Runs all the tests" lane :test do + FileUtils.cp("../ci_resources/8gb_ram_ci_gradle.properties", "../gradle.properties") + puts File.read("../gradle.properties") gradle(task: "detekt") gradle(task: "testDebugUnitTest") end