Skip to content

Commit

Permalink
[Gradle] Fix copying signed release APK
Browse files Browse the repository at this point in the history
  • Loading branch information
kuba2k2 committed Jul 2, 2024
1 parent 137ea65 commit 3756a85
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 30 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

files = glob.glob(f"{project_dir}/app/release/*.*")
for file in files:
file_relative = file.replace(sys.argv[1] + "/", "")
file_relative = file.replace(project_dir + "/", "")
if "-aligned.apk" in file:
os.unlink(file)
elif "-signed.apk" in file:
Expand Down
45 changes: 19 additions & 26 deletions .github/workflows/_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -86,43 +86,33 @@ jobs:
- name: Bump nightly version
if: ${{ inputs.nightly }}
run: python $GITHUB_WORKSPACE/.github/utils/bump_nightly.py $GITHUB_WORKSPACE >> $GITHUB_OUTPUT
- name: Write signing passwords
- name: Write signing passwords and keystore
env:
DB_HOST: ${{ secrets.DB_HOST }}
DB_USER: ${{ secrets.DB_USER }}
DB_PASS: ${{ secrets.DB_PASS }}
DB_NAME: ${{ secrets.DB_NAME }}
run: python $GITHUB_WORKSPACE/.github/utils/sign.py $GITHUB_WORKSPACE commit >> $GITHUB_OUTPUT
KEY_STORE: ${{ secrets.KEY_STORE }}
run: |
python $GITHUB_WORKSPACE/.github/utils/sign.py $GITHUB_WORKSPACE commit >> $GITHUB_OUTPUT
echo $KEY_STORE | base64 --decode > keystore.jks
- name: Clean build artifacts
run: |
rm -rf app/release/*
rm -rf app/build/outputs/apk/*
rm -rf app/build/outputs/bundle/*
- name: Build APK with Gradle
if: ${{ inputs.build-apk }}
uses: gradle/gradle-build-action@v2
with:
arguments: assembleOfficialRelease
- name: Build AAB with Gradle
if: ${{ inputs.build-aab }}
uses: gradle/gradle-build-action@v2
- name: Build app with Gradle
if: ${{ inputs.build-apk || inputs.build-aab }}
uses: gradle/actions/setup-gradle@v3
with:
arguments: bundlePlayRelease

- name: Sign build artifacts
uses: r0adkll/sign-android-release@v1
with:
releaseDirectory: app/release
signingKeyBase64: ${{ secrets.KEY_STORE }}
alias: ${{ secrets.KEY_ALIAS }}
keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }}
keyPassword: ${{ secrets.KEY_ALIAS_PASSWORD }}
env:
BUILD_TOOLS_VERSION: "34.0.0"
- name: Rename signed artifacts
id: artifacts
run: python $GITHUB_WORKSPACE/.github/utils/rename_artifacts.py $GITHUB_WORKSPACE >> $GITHUB_OUTPUT
arguments: |
${{ inputs.build-apk && 'assembleOfficialRelease' || '' }}
${{ inputs.build-aab && 'bundlePlayRelease' || '' }}
-P android.injected.signing.store.file=keystore.jks
-P android.injected.signing.store.password=${{ secrets.KEY_STORE_PASSWORD }}
-P android.injected.signing.key.alias=${{ secrets.KEY_ALIAS }}
-P android.injected.signing.key.password=${{ secrets.KEY_ALIAS_PASSWORD }}
- name: Upload release to server
if: ${{ inputs.release-ssh }}
Expand All @@ -131,9 +121,12 @@ jobs:
REMOTE_HOST: ${{ secrets.SSH_IP }}
REMOTE_USER: ${{ secrets.SSH_USERNAME }}
SSH_PRIVATE_KEY: ${{ secrets.SSH_KEY }}
SOURCE: ${{ steps.artifacts.outputs.signedReleaseFileRelative }}
SOURCE: app/release/
TARGET: ${{ inputs.nightly && secrets.SSH_PATH_NIGHTLY || secrets.SSH_PATH_RELEASE }}

- name: Find signed artifacts
id: artifacts
run: python $GITHUB_WORKSPACE/.github/utils/find_artifacts.py $GITHUB_WORKSPACE >> $GITHUB_OUTPUT
- name: Extract release changelogs
id: changelog
run: python $GITHUB_WORKSPACE/.github/utils/extract_changelogs.py $GITHUB_WORKSPACE >> $GITHUB_OUTPUT
Expand Down
7 changes: 4 additions & 3 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -153,9 +153,10 @@ tasks.whenTaskAdded { task ->
dependsOn(task.name)
duplicatesStrategy DuplicatesStrategy.FAIL
from file("${projectDir}/${flavor}/release/"),
file("${buildDir}/outputs/mapping/${flavor}Release/"),
file("${buildDir}/outputs/bundle/${flavor}Release/")
include "*.aab", "*.apk", "mapping.txt", "output-metadata.json"
file("${projectDir}/build/outputs/apk/${flavor}/release/"),
file("${projectDir}/build/outputs/mapping/${flavor}Release/"),
file("${projectDir}/build/outputs/bundle/${flavor}Release/")
include "*-release.aab", "*-release.apk", "mapping.txt", "output-metadata.json"
destinationDir file("${projectDir}/release/")
rename ".+?\\.(.+)", "Edziennik_${android.defaultConfig.versionName}_${flavor}." + '$1'
}
Expand Down

0 comments on commit 3756a85

Please sign in to comment.