You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+27-1Lines changed: 27 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -69,7 +69,33 @@ jobs:
69
69
|`keystore-path`| where the keystore should be placed | No |`release.keystore`|
70
70
|`rock-build-extra-params`| Extra parameters for rock build:android| No | - |
71
71
|`comment-bot`| Whether to comment PR with build link | No |`true`|
72
-
|`custom-ref`| Custom app reference for artifact naming | No | - |
72
+
|`custom-identifier`| Custom identifier used in artifact naming for re-sign and ad-hoc flows to distinguish builds with the same native fingerprint | No | - |
73
+
74
+
## Artifact Naming
75
+
76
+
The action uses two distinct naming strategies for uploads:
77
+
78
+
### ZIP Artifacts (native build caching)
79
+
80
+
ZIP artifacts store the native build for reuse. The naming depends on the flow:
81
+
82
+
-**Ad-hoc flow** (`ad-hoc: true`): ZIP name uses **fingerprint only** — `rock-android-{variant}-{fingerprint}`. One ZIP per fingerprint, shared across all builds with the same native code. Skipped if already uploaded.
83
+
-**Non-ad-hoc re-sign flow** (e.g. `pull_request` with `re-sign: true`): ZIP name includes an **identifier** — `rock-android-{variant}-{identifier}-{fingerprint}`. Used as the distribution mechanism without adhoc builds.
84
+
-**Regular builds** (no `re-sign`): ZIP name uses **fingerprint only**`rock-android-{variant}-{fingerprint}`
85
+
86
+
### Ad-Hoc Artifacts (distribution to testers)
87
+
88
+
When `ad-hoc: true`, distribution files (APK + `index.html`) are uploaded under a name that **always includes an identifier**: `rock-android-{variant}-{identifier}-{fingerprint}`. This ensures every uploaded adhoc build can point to unique distribution URL based on `{identifier}`, even when multiple builds share the same native fingerprint.
89
+
90
+
### Identifier Priority
91
+
92
+
The identifier distinguishes builds that share the same native fingerprint (e.g., concurrent builds from different branches).
93
+
It is resolved in this order:
94
+
1.`custom-identifier` input — explicit value provided by the caller (e.g., commit SHA of the head of the PR branch)
95
+
2. PR number — automatically extracted from `pull_request` events
96
+
3. Short commit SHA — 7-character fallback for push events and dispatches
97
+
98
+
> **Note:** The identifier becomes part of artifact names and S3 paths. Allowed characters: `a-z`, `A-Z`, `0-9`, `-`, `.`, `_`. Commas are used internally as trait delimiters and converted to hyphens (e.g., `debug,42` → `debug-42`), so they must not appear in the identifier. Spaces, slashes, and shell metacharacters are also not allowed.
0 commit comments