Skip to content

chore: release v1.2.6 #14

chore: release v1.2.6

chore: release v1.2.6 #14

Workflow file for this run

name: Build Android APK
on:
push:
tags:
- 'v*.*.*'
workflow_dispatch:
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: actions/setup-java@v6
with:
distribution: temurin
java-version: "17"
- uses: subosito/flutter-action@v2
with:
channel: stable
cache: true
- name: Decode Keystore
env:
KEYSTORE_BASE64: ${{ secrets.KEYSTORE_BASE64 }}
run: |
if [ -n "$KEYSTORE_BASE64" ]; then
echo $KEYSTORE_BASE64 | base64 --decode > android/app/upload-keystore.jks
else
echo "No KEYSTORE_BASE64 secret provided, skipping secure signing setup."
fi
- name: Build APK
env:
KEYSTORE_PATH: "upload-keystore.jks"
KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }}
KEY_ALIAS: ${{ secrets.KEY_ALIAS }}
KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}
run: |
args=()
if [[ "$GITHUB_REF" == refs/tags/v* ]]; then
args+=(--build-name "${GITHUB_REF_NAME#v}" --build-number "$GITHUB_RUN_NUMBER")
fi
sed -i -e '/maven.aliyun.com/d' android/settings.gradle.kts android/build.gradle.kts
sed -i -e 's/storage.flutter-io.cn/storage.googleapis.com/g' android/settings.gradle.kts android/build.gradle.kts
flutter build apk --target-platform android-arm64 --release "${args[@]}"
- uses: actions/upload-artifact@v7
with:
name: codeoff-android-arm64
path: build/app/outputs/flutter-apk/app-release.apk
if-no-files-found: error
release:
if: startsWith(github.ref, 'refs/tags/')
needs: build
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/download-artifact@v8
with:
name: codeoff-android-arm64
- name: Upload APK to release
env:
GH_TOKEN: ${{ github.token }}
GH_REPO: ${{ github.repository }}
run: |
gh release create "$GITHUB_REF_NAME" app-release.apk --title "$GITHUB_REF_NAME" --generate-notes