Skip to content

Conversation

@rinej
Copy link
Collaborator

@rinej rinej commented Oct 15, 2025

  • add support for empty app name
  • add support for android standard signing properties

action.yml Outdated
echo "android.injected.signing.key.password=${{ inputs.keystore-key-password }}" >> $HOME/.gradle/gradle.properties
# Rock custom properties (for apps that explicitly read them in signingConfigs)
echo "ROCK__UPLOAD_STORE_FILE=${{ inputs.keystore-store-file }}" >> $HOME/.gradle/gradle.properties
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
echo "ROCK__UPLOAD_STORE_FILE=${{ inputs.keystore-store-file }}" >> $HOME/.gradle/gradle.properties
echo "ROCK_UPLOAD_STORE_FILE=${{ inputs.keystore-store-file }}" >> $HOME/.gradle/gradle.properties

keyPassword project.findProperty('RNEF_UPLOAD_KEY_PASSWORD') ?: 'placeholder'
}
}
```
Copy link
Contributor

@thymikee thymikee Oct 15, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

let's add mapping:

  • RNEF_UPLOAD_KEY_ALIAS -> populated by inputs.keystore-key-alias
  • ...

README.md Outdated

When `sign: true` is enabled, this action configures Android code signing by setting Gradle properties. It supports **two property conventions** for maximum compatibility:

### Standard Android Properties
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this named "standard properties" anywhere? I'd rather name it "Android injected properties" and mention this is an undocumented feature used by Fastlane and AGP or something

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sure, Android injected properties sounds better ;)

Comment on lines 221 to 225
echo "Keystore target path before normalizing: $KEYSTORE_TARGET_PATH"
while [[ "$KEYSTORE_TARGET_PATH" == *"/../"* ]]; do
KEYSTORE_TARGET_PATH=$(echo "$KEYSTORE_TARGET_PATH" | sed 's|/[^/][^/]*/\.\./|/|')
done
echo "Keystore target path after normalizing: $KEYSTORE_TARGET_PATH"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what's this about, why do we need normalization like this? seems quite brittle

Copy link
Collaborator Author

@rinej rinej Oct 15, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We have to set the path like that in the params:
keystore-path: '../tools/buildtools/upload-key.keystore'

Without normalization we ended up having:
/home/runner/work/App/App/Mobile-Expensify/Android/../tools/buildtools/upload-key.keystore
which caused error when copying

With normalization we have proper path:
/home/runner/work/App/App/Mobile-Expensify/tools/buildtools/upload-key.keystore

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok, can we use realpath then to get the absolute path instead of regex?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done ✅

@thymikee thymikee changed the title Feat/support for empty app name and standard signing properties feat: support for empty app name and standard signing properties Oct 16, 2025
@thymikee thymikee changed the title feat: support for empty app name and standard signing properties feat: support for empty app name and android.injected.signing properties Oct 16, 2025
@thymikee thymikee merged commit c04be7b into main Oct 16, 2025
1 check passed
@thymikee thymikee deleted the feat/support-for-empty-app-name branch October 16, 2025 11:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants