chore: bump version to 1.4.3-mod-8 (PRE 20260804-113658, VERSION_CODE… #16
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Preview Build | |
| on: | |
| push: | |
| paths: | |
| - 'nb4a.properties' | |
| workflow_dispatch: | |
| inputs: | |
| jobs: | |
| libcore: | |
| name: Native Build (LibCore) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| - name: Golang Status | |
| run: find buildScript libcore/*.sh nb4a.properties | xargs cat | sha1sum > golang_status | |
| - name: Libcore Status | |
| run: git ls-files libcore | xargs cat | sha1sum > libcore_status | |
| - name: LibCore Cache | |
| id: cache | |
| uses: actions/cache@v5 | |
| with: | |
| path: | | |
| app/libs/libcore.aar | |
| key: ${{ hashFiles('.github/workflows/*', 'golang_status', 'libcore_status') }} | |
| - name: Install Golang | |
| if: steps.cache.outputs.cache-hit != 'true' | |
| uses: actions/setup-go@v6 | |
| with: | |
| go-version: ^1.25 | |
| - name: Native Build | |
| if: steps.cache.outputs.cache-hit != 'true' | |
| run: ./run lib core | |
| build: | |
| name: Build OSS APK | |
| runs-on: ubuntu-latest | |
| needs: | |
| - libcore | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| - name: Golang Status | |
| run: find buildScript libcore/*.sh nb4a.properties | xargs cat | sha1sum > golang_status | |
| - name: Libcore Status | |
| run: git ls-files libcore | xargs cat | sha1sum > libcore_status | |
| - name: LibCore Cache | |
| uses: actions/cache@v5 | |
| with: | |
| path: | | |
| app/libs/libcore.aar | |
| key: ${{ hashFiles('.github/workflows/*', 'golang_status', 'libcore_status') }} | |
| - name: Gradle cache | |
| uses: actions/cache@v5 | |
| with: | |
| path: ~/.gradle | |
| key: gradle-oss-${{ hashFiles('**/*.gradle.kts') }} | |
| - name: Gradle Build | |
| env: | |
| BUILD_PLUGIN: none | |
| run: | | |
| echo "sdk.dir=${ANDROID_HOME}" > local.properties | |
| echo "ndk.dir=${ANDROID_HOME}/ndk/25.0.8775105" >> local.properties | |
| export LOCAL_PROPERTIES="${{ secrets.LOCAL_PROPERTIES }}" | |
| ./run init action gradle | |
| ./gradlew app:assemblePreviewRelease | |
| # Sign unsigned APKs with fixed debug keystore if available, otherwise fallback to dynamic generation | |
| KEYSTORE_PATH="debug.keystore" | |
| if [ -f "$KEYSTORE_PATH" ]; then | |
| echo "Using fixed debug keystore from repository..." | |
| else | |
| echo "WARNING: Fixed debug keystore not found at $KEYSTORE_PATH!" | |
| echo "Please run the 'Initialize Debug Keystore' workflow first." | |
| echo "Falling back to dynamic debug.keystore generation..." | |
| KEYSTORE_PATH="$HOME/.android/debug.keystore" | |
| if [ ! -f "$KEYSTORE_PATH" ]; then | |
| mkdir -p ~/.android | |
| keytool -genkey -v -keystore "$KEYSTORE_PATH" -storepass android -alias androiddebugkey -keypass android -keyalg RSA -keysize 2048 -validity 10000 -dname "CN=Android Debug,O=Android,C=US" | |
| fi | |
| fi | |
| APKSIGNER=$(find ${ANDROID_HOME}/build-tools -name apksigner | sort -V | tail -n 1) | |
| if [ -z "$APKSIGNER" ]; then | |
| APKSIGNER="apksigner" | |
| fi | |
| echo "Using apksigner: $APKSIGNER" | |
| APK=$(find app/build/outputs/apk -name '*arm64-v8a*.apk') | |
| APK_DIR=$(dirname $APK) | |
| echo "Signing APKs in $APK_DIR..." | |
| for apk in "$APK_DIR"/*-unsigned.apk; do | |
| if [ -f "$apk" ]; then | |
| signed_apk="${apk%-unsigned.apk}-debug-signed.apk" | |
| echo "Signing $apk -> $signed_apk" | |
| $APKSIGNER sign --ks "$KEYSTORE_PATH" --ks-pass pass:android --key-pass pass:android --out "$signed_apk" "$apk" | |
| rm "$apk" | |
| fi | |
| done | |
| echo "APK=$APK_DIR" >> $GITHUB_ENV | |
| - uses: actions/upload-artifact@v5 | |
| with: | |
| name: APKs | |
| path: ${{ env.APK }} |