Github Action tuning

This commit is contained in:
antonio 2023-04-11 09:35:28 +02:00
parent 91454962b9
commit fbb3aeb4e4
2 changed files with 73 additions and 53 deletions

View file

@ -15,14 +15,6 @@ jobs:
distribution: 'temurin' distribution: 'temurin'
java-version: 8 java-version: 8
- name: Decode Keystore
env:
ENCODED_STRING: ${{ secrets.KEYSTORE_BASE64 }}
KEYSTORE_PATH: ${{ secrets.KEYSTORE_PATH }}
run: |
echo $ENCODED_STRING > keystore-b64.txt
base64 -di keystore-b64.txt > $KEYSTORE_PATH
build: build:
needs: setup needs: setup
runs-on: ubuntu-latest runs-on: ubuntu-latest
@ -40,43 +32,80 @@ jobs:
- name: Make gradlew executable - name: Make gradlew executable
run: chmod +x ./gradlew run: chmod +x ./gradlew
- name: Build Release bundle - name: Build APK
env: id: build
KEYSTORE_PATH: ${{ secrets.KEYSTORE_PATH }} run: bash ./gradlew assembleRelease
KEY_ALIAS_GITHUB: ${{ secrets.KEY_ALIAS_GITHUB }}
KEY_PASSWORD_GITHUB: ${{ secrets.KEY_PASSWORD_GITHUB }}
KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }}
run: ./gradlew bundleRelease
- name: Build Release apk - name: Sign APK
env: id: sign_apk
KEYSTORE_PATH: ${{ secrets.KEYSTORE_PATH }} uses: r0adkll/sign-android-release@v1
KEY_ALIAS_GITHUB: ${{ secrets.KEY_ALIAS_GITHUB }}
KEY_PASSWORD_GITHUB: ${{ secrets.KEY_PASSWORD_GITHUB }}
KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }}
run: ./gradlew assembleRelease
- name: Upload Release Build to Artifacts
uses: actions/upload-artifact@v3
with: with:
name: release-artifacts releaseDirectory: app/build/outputs/apk/release
path: | signingKeyBase64: ${{ secrets.KEYSTORE_BASE64 }}
app/build/outputs/apk/release/ alias: ${{ secrets.KEY_ALIAS_GITHUB }}
app/build/outputs/bundle/release/ keyStorePassword: ${{ secrets.KEYSTORE_PASSWORD }}
if-no-files-found: error keyPassword: ${{ secrets.KEY_PASSWORD_GITHUB }}
- name: Make artifact
release: uses: actions/upload-artifact@v2
needs: build
runs-on: ubuntu-latest
steps:
- name: Create Github Release
uses: softprops/action-gh-release@v1
with: with:
name: v${{ github.ref_name }} name: app-release-signed
generate_release_notes: true path: ${{steps.sign_apk.outputs.signedReleaseFile}}
prerelease: true
files: | - name: Build AAB
**/*.apk run: bash ./gradlew bundleRelease
**/*.aab
# body_path: app/src/main/play/release-notes/en-GB/default.txt - name: Sign AAB
id: sign_aab
uses: r0adkll/sign-android-release@v1
with:
releaseDirectory: app/build/outputs/bundle/release
signingKeyBase64: ${{ secrets.KEYSTORE_BASE64 }}
alias: ${{ secrets.KEY_ALIAS_GITHUB }}
keyStorePassword: ${{ secrets.KEYSTORE_PASSWORD }}
keyPassword: ${{ secrets.KEY_PASSWORD_GITHUB }}
- name: Make artifact
uses: actions/upload-artifact@v2
with:
name: app-release-signed
path: ${{steps.sign_aab.outputs.signedReleaseFile}}
- name: Build Changelog
id: changelog
uses: ardalanamini/auto-changelog@v3
with:
mention-authors: false
mention-new-contributors: false
include-compare: false
semver: false
- name: Create Release
id: create_release
uses: actions/create-release@v1
with:
tag_name: ${{ github.ref }}
release_name: Release ${{ github.ref }}
body: ${{ steps.changelog.outputs.changelog }}  
env:
GITHUB_TOKEN: ${{ github.token }}
- name: Upload APK
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ github.token }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ${{steps.sign_apk.outputs.signedReleaseFile}}
asset_name: app-release-signed-${{ steps.var.outputs.tag }}.apk
asset_content_type: application/zip
- name: Upload AAB
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ github.token }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ${{steps.sign_aab.outputs.signedReleaseFile}}
asset_name: app-release-signed-${{ steps.var.outputs.tag }}.aab
asset_content_type: application/zip

View file

@ -25,15 +25,6 @@ android {
} }
} }
signingConfigs {
release {
storeFile file("keystore.jks")
storePassword System.getenv("KEYSTORE_PASSWORD")
keyAlias System.getenv("KEY_ALIAS_GITHUB")
keyPassword System.getenv("KEY_PASSWORD_GITHUB")
}
}
buildTypes { buildTypes {
release { release {
shrinkResources true shrinkResources true