Migrate app to native Kotlin
android-release / build (push) Successful in 3m5s

This commit is contained in:
Space-Banane
2026-07-06 13:49:22 +02:00
parent 81e351aa38
commit 3d6548d77d
86 changed files with 2247 additions and 13199 deletions
+47 -69
View File
@@ -1,29 +1,21 @@
name: CodexBar Mobile Build
name: android-release
on:
push:
branches:
- main
paths:
- "**/*.ts"
- "**/*.tsx"
- "**/*.js"
- "**/*.json"
- ".gitea/workflows/**"
tags:
- 'v*'
workflow_dispatch:
jobs:
build-android:
build:
runs-on: ubuntu-latest
steps:
- name: 🏗 Setup repo
uses: actions/checkout@v2
- name: Checkout
uses: actions/checkout@v4
- name: 🏗 Setup Node
uses: actions/setup-node@v2
with:
node-version: 22
- name: 🏗 Setup Java
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: temurin
@@ -46,62 +38,48 @@ jobs:
- name: Set up Gradle cache
uses: gradle/actions/setup-gradle@v3
- 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
- name: Write release keystore
env:
CODEXMOBILE_KEYSTORE_BASE64: ${{ secrets.CODEXMOBILE_KEYSTORE_BASE64 }}
CODEXMOBILE_KEYSTORE_PASSWORD: ${{ secrets.CODEXMOBILE_KEYSTORE_PASSWORD }}
CODEXMOBILE_KEY_ALIAS: ${{ secrets.CODEXMOBILE_KEY_ALIAS }}
CODEXMOBILE_KEY_PASSWORD: ${{ secrets.CODEXMOBILE_KEY_PASSWORD }}
run: |
eas build --local \
--non-interactive \
--output=./app-build \
--platform=android \
--profile=preview
if [ -z "$CODEXMOBILE_KEYSTORE_BASE64" ] || [ -z "$CODEXMOBILE_KEYSTORE_PASSWORD" ] || [ -z "$CODEXMOBILE_KEY_ALIAS" ] || [ -z "$CODEXMOBILE_KEY_PASSWORD" ]; then
echo "Missing release signing secrets" >&2
exit 1
fi
echo "$CODEXMOBILE_KEYSTORE_BASE64" | base64 -d > "$HOME/codexmobile-release.jks"
{
echo "CODEXMOBILE_STORE_FILE=$HOME/codexmobile-release.jks"
echo "CODEXMOBILE_STORE_PASSWORD=$CODEXMOBILE_KEYSTORE_PASSWORD"
echo "CODEXMOBILE_KEY_ALIAS=$CODEXMOBILE_KEY_ALIAS"
echo "CODEXMOBILE_KEY_PASSWORD=$CODEXMOBILE_KEY_PASSWORD"
} >> "$GITHUB_ENV"
- 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
- name: Build release APK
run: |
TAG="codexbar-build-$(git rev-parse --short HEAD)"
git tag "$TAG"
git push origin "$TAG"
echo "RELEASE_TAG=$TAG" >> $GITHUB_ENV
chmod +x gradlew
./gradlew assembleRelease
- name: 🚀 Create release
uses: softprops/action-gh-release@v1
- name: Compute release tag
run: |
if [[ "${GITHUB_REF}" == refs/tags/* ]]; then
echo "RELEASE_TAG=${GITHUB_REF_NAME}" >> "$GITHUB_ENV"
else
echo "RELEASE_TAG=main-${GITHUB_RUN_NUMBER}-${GITHUB_SHA::7}" >> "$GITHUB_ENV"
fi
- name: Publish Gitea release
uses: akkuman/gitea-release-action@v1
env:
NODE_OPTIONS: --experimental-fetch
with:
tag_name: ${{ env.RELEASE_TAG }}
name: ${{ env.RELEASE_TAG }}
files: codexbar-release.zip
generate_release_notes: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
target_commitish: ${{ github.sha }}
files: |
app/build/outputs/apk/release/*.apk
body: |
CodexMobile release built from ${{ github.ref_name }} at ${{ github.sha }}.
prerelease: false
draft: false