diff --git a/.github/workflows/build-release-apk.yml b/.github/workflows/build-release-apk.yml index a5e6336f5..ca3940f3d 100644 --- a/.github/workflows/build-release-apk.yml +++ b/.github/workflows/build-release-apk.yml @@ -40,14 +40,21 @@ jobs: - name: Install node_modules run: npm install --production + - name: Generate Build Number based on timestamp + run: | + NEW_BUILD_NUMBER=$(date +%s) + echo "NEW_BUILD_NUMBER=$NEW_BUILD_NUMBER" >> $GITHUB_ENV + echo "::set-output name=build_number::$NEW_BUILD_NUMBER" + - name: Build env: KEYSTORE_FILE_HEX: ${{ secrets.KEYSTORE_FILE_HEX }} KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }} + BUILD_NUMBER: ${{ env.NEW_BUILD_NUMBER }} run: ./scripts/build-release-apk.sh - uses: actions/upload-artifact@v2 if: success() with: name: apk - path: ./android/app/build/outputs/apk/release/app-release.apk + path: ./android/app/build/outputs/apk/release/BlueWallet-6.5.0(${{ env.NEW_BUILD_NUMBER }}).apk \ No newline at end of file diff --git a/scripts/build-release-apk.sh b/scripts/build-release-apk.sh index 8df66d69d..d505057c1 100755 --- a/scripts/build-release-apk.sh +++ b/scripts/build-release-apk.sh @@ -1,23 +1,21 @@ #!/bin/bash - # assumes 2 env variables: KEYSTORE_FILE_HEX & KEYSTORE_PASSWORD -# + # PS. to turn file to hex and back: # $ xxd -plain test.txt > test.hex # $ xxd -plain -revert test.hex test2.txt - echo $KEYSTORE_FILE_HEX > bluewallet-release-key.keystore.hex xxd -plain -revert bluewallet-release-key.keystore.hex > ./android/bluewallet-release-key.keystore rm bluewallet-release-key.keystore.hex cd android -TIMESTAMP=$(date +%s) -sed -i'.original' "s/versionCode 1/versionCode $TIMESTAMP/g" app/build.gradle +# Use the BUILD_NUMBER environment variable set in the GitHub Actions workflow +sed -i'.original' "s/versionCode 1/versionCode $BUILD_NUMBER/g" app/build.gradle ./gradlew assembleRelease -mv ./app/build/outputs/apk/release/app-release-unsigned.apk ./app/build/outputs/apk/release/app-release.apk +# Rename the APK file to include the version and build number with parentheses +mv ./app/build/outputs/apk/release/app-release-unsigned.apk ./app/build/outputs/apk/release/BlueWallet-6.5.0($BUILD_NUMBER).apk echo wheres waldo? find $ANDROID_HOME | grep apksigner | grep -v jar -$ANDROID_HOME/build-tools/34.0.0/apksigner sign --ks ./bluewallet-release-key.keystore --ks-pass=pass:$KEYSTORE_PASSWORD ./app/build/outputs/apk/release/app-release.apk - +$ANDROID_HOME/build-tools/34.0.0/apksigner sign --ks ./bluewallet-release-key.keystore --ks-pass=pass:$KEYSTORE_PASSWORD ./app/build/outputs/apk/release/BlueWallet-6.5.0($BUILD_NUMBER).apk