Files
birthday/.gitea/workflows/build-apk.yml
Aran Roig e640304f5f
Some checks failed
Build APK / build (push) Has been cancelled
kjd
2026-04-22 01:09:59 +02:00

82 lines
2.1 KiB
YAML

name: Build APK
on:
push:
branches: [ master ]
jobs:
build:
runs-on: docker
defaults:
run:
working-directory: apk
steps:
- name: 📥 Checkout
uses: actions/checkout@v4
- name: 🟢 Setup Node
uses: actions/setup-node@v4
with:
node-version: 18
- name: 📦 Install deps
run: npm install
- name: ☕ Setup Java
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 17
- name: 🤖 Setup Android SDK
run: |
set -euo pipefail
apt-get update
apt-get install -y unzip curl
export ANDROID_SDK_ROOT=$HOME/android
export ANDROID_HOME=$ANDROID_SDK_ROOT
export PATH=$ANDROID_SDK_ROOT/cmdline-tools/latest/bin:$PATH
mkdir -p $ANDROID_SDK_ROOT/cmdline-tools
cd $ANDROID_SDK_ROOT
curl -o tools.zip https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip
unzip -q tools.zip
rm tools.zip
mkdir -p cmdline-tools/latest
mv cmdline-tools/* cmdline-tools/latest/ 2>/dev/null || true
# 🔥 CRITICAL: disable all interactivity
export GRADLE_OPTS="-Dorg.gradle.daemon=false"
export TERM=dumb
export JAVA_TOOL_OPTIONS=-Djava.io.tmpdir=/tmp
sdkmanager --sdk_root=$ANDROID_SDK_ROOT --install \
"platform-tools" \
"platforms;android-33" \
"build-tools;33.0.0"
- name: 🔧 Set env
run: |
echo "ANDROID_HOME=$HOME/android" >> $GITHUB_ENV
echo "ANDROID_SDK_ROOT=$HOME/android" >> $GITHUB_ENV
echo "$HOME/android/platform-tools" >> $GITHUB_PATH
- name: ⚙️ Expo prebuild
run: npx expo prebuild --non-interactive
- name: 🏗️ Build APK
run: |
cd android
./gradlew assembleRelease
- name: 📦 Upload APK
uses: actions/upload-artifact@v4
with:
name: app-release
path: android/app/build/outputs/apk/release/app-release.apk