Files
codexbar-mobile/.gitea/workflows/build-android.yml
T
Space-Banane 6bf66c0afd
CodexBar Mobile Build / build-android (push) Failing after 52s
CodexBar Mobile Build / release (push) Has been skipped
ci: pre-install NDK 27.1.12297006 before EAS local build
Gradle's auto-download of the NDK was failing on the runner with
"Archive is not a ZIP archive" — the download was corrupted/unavailable.
Fix by explicitly installing the NDK via sdkmanager after setup-android
so it is present in $ANDROID_HOME before gradlew runs.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-24 21:54:18 +02:00

97 lines
2.4 KiB
YAML

name: CodexBar Mobile Build
on:
push:
branches:
- main
paths:
- '**/*.ts'
- '**/*.tsx'
- '**/*.js'
- '**/*.json'
- '.gitea/workflows/**'
jobs:
build-android:
runs-on: ubuntu-latest
steps:
- name: 🏗 Setup repo
uses: actions/checkout@v2
- name: 🏗 Setup Node
uses: actions/setup-node@v2
with:
node-version: 22
- name: 🏗 Setup Java
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 17
- name: 🏗 Setup Android SDK
uses: android-actions/setup-android@v3
- name: 🏗 Install Android NDK
run: yes | sdkmanager "ndk;27.1.12297006"
- name: 🏗 Setup Expo and EAS
uses: expo/expo-github-action@v8
with:
token: ${{ secrets.EXPO_TOKEN }}
eas-version: latest
packager: npm
- name: 📦 Install dependencies
run: npm ci --legacy-peer-deps
- name: 👷 Build app
run: |
eas build --local \
--non-interactive \
--output=./app-build \
--platform=android \
--profile=preview
- name: 📝 Rename build to APK
run: mv app-build codexbar-release.apk
- name: 🗜 Zip APK
run: zip codexbar-release.zip codexbar-release.apk
- name: 📤 Upload build artifact
uses: actions/upload-artifact@v3
with:
name: codexbar-android-preview-build
path: codexbar-release.zip
if-no-files-found: error
release:
runs-on: ubuntu-latest
needs: [build-android]
steps:
- name: 🏗 Setup repo
uses: actions/checkout@v2
- name: 📥 Download Android artifact
uses: actions/download-artifact@v3
with:
name: codexbar-android-preview-build
- name: 🏷 Create tag
run: |
TAG="codexbar-build-$(git rev-parse --short HEAD)"
git tag "$TAG"
git push origin "$TAG"
echo "RELEASE_TAG=$TAG" >> $GITHUB_ENV
- name: 🚀 Create release
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ env.RELEASE_TAG }}
name: ${{ env.RELEASE_TAG }}
files: codexbar-release.zip
generate_release_notes: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}