diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 71ec2c5..5edf33c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -11,20 +11,20 @@ jobs: - uses: actions/setup-java@v1 with: java-version: 1.8 - - run: ./gradlew build --stacktrace - - if: startsWith(github.ref, 'refs/tags/v') + - if: ${{ !startsWith(github.ref, 'refs/tags/v') }} + run: ./gradlew build --stacktrace + - if: ${{ startsWith(github.ref, 'refs/tags/v') }} run: | - cd app/build/outputs/apk/release - echo $RELEASE_KEY | base64 -d > gotify-release-key.jks - jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore gotify-release-key.jks -storepass $STOREPASS -keypass $KEYPASS app-release-unsigned.apk gotify-release-key - jarsigner -verify app-release-unsigned.apk - sudo apt-get install zipalign -y - zipalign -v 4 app-release-unsigned.apk Gotify.apk + export RELEASE_STORE_FILE=$(pwd)/gotfy-release-key.jks + echo $RELEASE_KEY | base64 -d > $RELEASE_STORE_FILE + ./gradlew -Psign build --stacktrace + cp app/build/outputs/apk/release/app-release.apk app/build/outputs/apk/release/Gotify.apk env: RELEASE_KEY: ${{ secrets.RELEASE_KEY }} - KEYPASS: ${{ secrets.KEYPASS }} - STOREPASS: ${{ secrets.STOREPASS }} - - if: startsWith(github.ref, 'refs/tags/v') + RELEASE_STORE_PASSWORD: ${{ secrets.STOREPASS }} + RELEASE_KEY_ALIAS: gotify-release-key + RELEASE_KEY_PASSWORD: ${{ secrets.KEYPASS }} + - if: ${{ startsWith(github.ref, 'refs/tags/v') }} uses: svenstaro/upload-release-action@v2 with: repo_token: ${{ secrets.GITHUB_TOKEN }} diff --git a/app/build.gradle b/app/build.gradle index e14a346..d306995 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -33,6 +33,20 @@ android { } } +if (project.hasProperty('sign')) { + android { + signingConfigs { + release { + storeFile file(System.getenv("RELEASE_STORE_FILE")) + storePassword System.getenv("RELEASE_STORE_PASSWORD") + keyAlias System.getenv("RELEASE_KEY_ALIAS") + keyPassword System.getenv("RELEASE_KEY_PASSWORD") + } + } + } + android.buildTypes.release.signingConfig android.signingConfigs.release +} + dependencies { implementation project(':client') implementation fileTree(dir: 'libs', include: ['*.jar'])