Faster Android builds: ccache, Gradle build cache, 64-bit only, no release lint

Most of a build was compiling the same C++ twice per APK with nothing reused between builds.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011Y2iUsKEWDuRGjK5FPmcUP
This commit is contained in:
2026-10-15 15:21:35 -04:00
co-authored by Claude Opus 5.5
parent 0a26e33bfe
commit c7bd8f0ad3
5 changed files with 29 additions and 11 deletions
+2 -2
View File
@@ -5,11 +5,11 @@
#
# Versions match what React Native 0.86 / Expo 57 ask for
# (node_modules/react-native/gradle/libs.versions.toml). Gradle downloads anything
# else it needs on first use; the workflow keeps ~/.gradle in a volume.
# else it needs on first use; the workflow keeps ~/.gradle (and ccache's ~/.ccache) in volumes.
FROM node:22-bookworm
RUN apt-get update \
&& apt-get install -y --no-install-recommends openjdk-17-jdk-headless unzip \
&& apt-get install -y --no-install-recommends openjdk-17-jdk-headless unzip ccache \
&& rm -rf /var/lib/apt/lists/*
ENV JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 \
+2 -1
View File
@@ -20,7 +20,8 @@ container:
# Use Docker's default network instead of creating one per job: a server with many compose
# projects runs out of address pools ("all predefined address pools have been fully subnetted").
network: bridge
# The volumes the workflow may mount (Gradle and npm caches), and nothing else.
# The volumes the workflow may mount (Gradle, npm and ccache caches), and nothing else.
valid_volumes:
- musicshare-gradle
- musicshare-npm
- musicshare-ccache