From 00d80b9e026fab217b602b0d9a79a306f4a752d4 Mon Sep 17 00:00:00 2001 From: agnostic-apollo Date: Fri, 16 Jul 2021 17:08:26 +0500 Subject: [PATCH] Automatically attach debug APKs when a release is created --- .../attach_debug_apks_to_release.yml | 36 +++++++++++++++++++ .github/workflows/debug_build.yml | 10 +++--- app/build.gradle | 24 +++++++++---- 3 files changed, 58 insertions(+), 12 deletions(-) create mode 100644 .github/workflows/attach_debug_apks_to_release.yml diff --git a/.github/workflows/attach_debug_apks_to_release.yml b/.github/workflows/attach_debug_apks_to_release.yml new file mode 100644 index 00000000..35880818 --- /dev/null +++ b/.github/workflows/attach_debug_apks_to_release.yml @@ -0,0 +1,36 @@ +name: Attach Debug APKs To Release + +on: + release: + types: + - published + +jobs: + build: + runs-on: ubuntu-latest + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + steps: + - name: Set tag + id: vars + run: echo ::set-output name=tag::${GITHUB_REF/refs\/tags\//} + - name: Clone repository + uses: actions/checkout@v2 + with: + ref: ${{ env.GITHUB_REF }} + - name: Build + env: + RELEASE_TAG: ${{ steps.vars.outputs.tag }} + run: ./gradlew assembleDebug + - name: Attach debug APKs to release + env: + RELEASE_TAG: ${{ steps.vars.outputs.tag }} + run: >- + hub release edit + -m "" + -a ./app/build/outputs/apk/debug/termux-app-universal-$RELEASE_TAG-debug.apk + -a ./app/build/outputs/apk/debug/termux-app-arm64-v8a-$RELEASE_TAG-debug.apk + -a ./app/build/outputs/apk/debug/termux-app-armeabi-v7a-$RELEASE_TAG-debug.apk + -a ./app/build/outputs/apk/debug/termux-app-x86_64-$RELEASE_TAG-debug.apk + -a ./app/build/outputs/apk/debug/termux-app-x86-$RELEASE_TAG-debug.apk + $RELEASE_TAG diff --git a/.github/workflows/debug_build.yml b/.github/workflows/debug_build.yml index e1ea5e58..cc3051f0 100644 --- a/.github/workflows/debug_build.yml +++ b/.github/workflows/debug_build.yml @@ -24,33 +24,33 @@ jobs: with: name: termux-app-universal path: | - ./app/build/outputs/apk/debug/app-universal-debug.apk + ./app/build/outputs/apk/debug/termux-app-universal-debug.apk ./app/build/outputs/apk/debug/output-metadata.json - name: Store generated arm64-v8a APK file uses: actions/upload-artifact@v2 with: name: termux-app-arm64-v8a path: | - ./app/build/outputs/apk/debug/app-arm64-v8a-debug.apk + ./app/build/outputs/apk/debug/termux-app-arm64-v8a-debug.apk ./app/build/outputs/apk/debug/output-metadata.json - name: Store generated armeabi-v7a APK file uses: actions/upload-artifact@v2 with: name: termux-app-armeabi-v7a path: | - ./app/build/outputs/apk/debug/app-armeabi-v7a-debug.apk + ./app/build/outputs/apk/debug/termux-app-armeabi-v7a-debug.apk ./app/build/outputs/apk/debug/output-metadata.json - name: Store generated x86_64 APK file uses: actions/upload-artifact@v2 with: name: termux-app-x86_64 path: | - ./app/build/outputs/apk/debug/app-x86_64-debug.apk + ./app/build/outputs/apk/debug/termux-app-x86_64-debug.apk ./app/build/outputs/apk/debug/output-metadata.json - name: Store generated x86 APK file uses: actions/upload-artifact@v2 with: name: termux-app-x86 path: | - ./app/build/outputs/apk/debug/app-x86-debug.apk + ./app/build/outputs/apk/debug/termux-app-x86-debug.apk ./app/build/outputs/apk/debug/output-metadata.json diff --git a/app/build.gradle b/app/build.gradle index a7121ee5..651e1a27 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,5 +1,5 @@ plugins { - id "com.android.application" + id "com.android.application" } android { @@ -102,6 +102,16 @@ android { } } + applicationVariants.all { variant -> + variant.outputs.all { output -> + if (variant.buildType.name == "debug") { + def abi = output.getFilter(com.android.build.OutputFile.ABI) + def releaseTag = System.getenv("RELEASE_TAG") + outputFileName = new File("termux-app-" + (abi ? abi : "universal") + (releaseTag ? "-" + releaseTag : "") + "-debug.apk") + } + } + } + } dependencies { @@ -110,9 +120,9 @@ dependencies { } task versionName { - doLast { - print android.defaultConfig.versionName - } + doLast { + print android.defaultConfig.versionName + } } def downloadBootstrap(String arch, String expectedChecksum, String version) { @@ -175,7 +185,7 @@ task downloadBootstraps() { } afterEvaluate { - android.applicationVariants.all { variant -> - variant.javaCompileProvider.get().dependsOn(downloadBootstraps) - } + android.applicationVariants.all { variant -> + variant.javaCompileProvider.get().dependsOn(downloadBootstraps) + } }