-
Notifications
You must be signed in to change notification settings - Fork 5
feat: support for empty app name and android.injected.signing properties #12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| 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' | ||
| } | ||
| } | ||
| ``` |
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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 ;)
| 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" |
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done ✅