From 600c59cd04cb9df779e1db7dbbc165e57a794de0 Mon Sep 17 00:00:00 2001 From: Lukasz Modzelewski Date: Mon, 15 Dec 2025 09:21:18 +0100 Subject: [PATCH 1/2] fix: pass keystore inputs in re-sign step --- action.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/action.yml b/action.yml index 9f9d52c..91474d4 100644 --- a/action.yml +++ b/action.yml @@ -263,8 +263,13 @@ runs: - name: Re-sign APK if: ${{ env.ARTIFACT_URL && inputs.re-sign == 'true' }} run: | - npx rock sign:android ${{ env.ARTIFACT_PATH }} \ - --build-jsbundle + npx rock sign:android "${{ env.ARTIFACT_PATH }}" \ + --build-jsbundle \ + --keystore "${{ inputs.keystore-file }}" \ + --keystore-password "${{ inputs.keystore-store-password }}" \ + --key-alias "${{ inputs.keystore-key-alias }}" \ + --key-password "${{ inputs.keystore-key-password }}" + shell: bash working-directory: ${{ inputs.working-directory }} From 5f0adf87de28c286c3f19e39fb923bc391445e42 Mon Sep 17 00:00:00 2001 From: Lukasz Modzelewski Date: Mon, 15 Dec 2025 16:05:53 +0100 Subject: [PATCH 2/2] fix: use KEYSTORE_TARGET_PATH --- action.yml | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/action.yml b/action.yml index d4fc96b..bfb828b 100644 --- a/action.yml +++ b/action.yml @@ -202,7 +202,7 @@ runs: shell: bash - name: Determine Android sourceDir and appName - if: ${{ !env.ARTIFACT_URL }} + if: ${{ !env.ARTIFACT_URL || (env.ARTIFACT_URL && inputs.re-sign) }} run: | JSON_OUTPUT=$(npx rock config -p android) || (echo "$JSON_OUTPUT" && exit 1) echo "$JSON_OUTPUT" | jq -r '.project' @@ -214,7 +214,7 @@ runs: working-directory: ${{ inputs.working-directory }} - name: Decode and store keystore file - if: ${{ !env.ARTIFACT_URL && inputs.sign }} + if: ${{ (!env.ARTIFACT_URL && inputs.sign) || (env.ARTIFACT_URL && inputs.re-sign) }} run: | if [ -n "$APP_NAME" ]; then KEYSTORE_TARGET_PATH="$ANDROID_SOURCE_DIR/$APP_NAME/${{ inputs.keystore-path }}" @@ -236,6 +236,7 @@ runs: echo "${{ inputs.keystore-base64 }}" | base64 --decode > "$KEYSTORE_TARGET_PATH" echo "Successfully copied keystore base64 to target path: $KEYSTORE_TARGET_PATH" fi + echo "KEYSTORE_TARGET_PATH=$KEYSTORE_TARGET_PATH" >> $GITHUB_ENV shell: bash working-directory: ${{ inputs.working-directory }} @@ -269,11 +270,10 @@ runs: run: | npx rock sign:android "${{ env.ARTIFACT_PATH }}" \ --build-jsbundle \ - --keystore "${{ inputs.keystore-file }}" \ + --keystore "$KEYSTORE_TARGET_PATH" \ --keystore-password "${{ inputs.keystore-store-password }}" \ --key-alias "${{ inputs.keystore-key-alias }}" \ --key-password "${{ inputs.keystore-key-password }}" - shell: bash working-directory: ${{ inputs.working-directory }} @@ -344,10 +344,9 @@ runs: npx rock remote-cache delete --name ${{ env.ARTIFACT_NAME }} --all-but-latest --json shell: bash - - name: Clean Up Keystore and gradle properties (signed builds only) - if: ${{ !env.ARTIFACT_URL && inputs.sign }} + - name: Clean Up Keystore + if: ${{ (!env.ARTIFACT_URL && inputs.sign) || (env.ARTIFACT_URL && inputs.re-sign) }} run: | - rm $HOME/.gradle/gradle.properties if [ -n "$APP_NAME" ]; then rm "$ANDROID_SOURCE_DIR/$APP_NAME/${{ inputs.keystore-path }}" else @@ -356,6 +355,13 @@ runs: shell: bash working-directory: ${{ inputs.working-directory }} + - name: Clean Up gradle properties (signed builds only) + if: ${{ !env.ARTIFACT_URL && inputs.sign }} + run: | + rm $HOME/.gradle/gradle.properties + shell: bash + working-directory: ${{ inputs.working-directory }} + - name: Post Build if: ${{ github.event_name == 'pull_request' && inputs.comment-bot == 'true' }} uses: callstackincubator/android/.github/actions/rock-post-build@v3