Drop the redundant release.jks gitignore entry - #23243
Conversation
`release.jks` is the pre-Play-App-Signing master key, now enrolled and held by Google. Nothing in the build reads it — grepping `storeFile`, `storePassword`, `keyAlias` and `keyPassword` across the Gradle files, fastlane and the pipeline returns no hits, and nothing injects them as Gradle properties either. Leaving the path named here implies the build still produces or consumes one. The line is also already covered by `WordPress/*.jks` two lines below, so removing it changes nothing: the path stays ignored, verified with `git check-ignore`. `WordPress/debug.keystore` is dormant by the same argument but is kept — no glob covers `.keystore`, so it is the only guard against a stray debug key. This is the repo half of AINFRA-2581 and carries no security value on its own. The dormant credential set in the vault is the actual deliverable. --- Generated with the help of Claude Code, https://claude.ai/code Co-Authored-By: Claude Code Opus 5 <noreply@anthropic.com>
…igning-key-references-from
There was a problem hiding this comment.
Copilot wasn't able to review any files in this pull request.
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
Thanks @mokagio !
"stray debug key landing in the tree" - I don't think it can ever happen, we don't seem to use a shared key anymore. I'd vote to remove Also, as you clean up keys, do you mind double checking if we use WordPress-Android/WordPress/build.gradle Lines 294 to 302 in 2f7d263 Some time ago I've cleaned up |
…igning-key-references-from
|
Thanks @wzieba ! First, Lines 16 to 20 in 00d8466 Then, the code you shared check if there is a path in Finally, because the check passes, the debug keystore is used. Up to you and @wordpress-mobile/android-developers to tell me if that's something we want to keep (maybe without the coupling of file path and Needless to say, removing it makes the system simpler, so if there's no clear advantage, I'm all for it. |
Description
Removes a dead reference to
release.jks. See AINFRA-2581AI-generated details
release.jksis the pre–Play App Signing master key. It is enrolled and now held by Google; release builds are signed locally with the upload key and Google re-signs. Nothing in this repo reads the master key's credentials — greppingstoreFile,storePassword,keyAliasandkeyPasswordacross the Gradle files,fastlane/and.buildkite/returns no hits, and nothing injects them as Gradle properties either. The only trace left was this.gitignoreline, which implies the build still produces or consumes arelease.jks.This is the repo half of AINFRA-2581 and does not close it. The issue's actual deliverable is removing the dormant
storeFile/storePassword/keyAlias/keyPasswordcredential set fromsecrets.propertiesin the mobile-secrets vault. That is where the security value is; this PR carries none on its own. Please don't tick the issue's acceptance criteria off the back of it.Intentional tradeoff worth flagging: the line being deleted is already covered by
WordPress/*.jkstwo lines below, so this is behaviour-neutral by design — the value is removing a misleading signal, not changing what git ignores.WordPress/debug.keystoreis dormant by the same argument (the debug keystore resolves out of the checkout) but is deliberately kept: no glob covers.keystore, so that line is the only guard against a stray debug key landing in the tree.Testing instructions
No build-visible behaviour changes. Verify the path is still ignored:
git checkout ainfra-2581-remove-dormant-releasejks-app-signing-key-references-fromgit check-ignore -v --no-index WordPress/release.jksWordPress/*.jksrather than by its own linegit check-ignore -v --no-index WordPress/upload.jks WordPress/debug.keystoreOptionally, to confirm the signing path is untouched:
./gradlew :WordPress:signingReporttrunk