Skip to content

Fix release signing config lookup in build workflow - #2

Merged
GeneralKaos666 merged 2 commits into
mainfrom
copilot/fix-failing-github-actions-job
Jul 18, 2026
Merged

GeneralKaos666 merged 2 commits into
mainfrom
copilot/fix-failing-github-actions-job

Conversation

Copilot AI commented Jul 18, 2026 •

Copy link
Copy Markdown
Contributor

The GitHub Actions build job was failing after a successful release build because the workflow expected a signed app-release.apk, while Gradle was falling back to an unsigned release artifact. The signing config lookup in the app module did not match where the workflow writes keystore.properties.

  • Root cause

    • app/build.gradle resolved keystore.properties relative to the app/ module.
    • The workflow writes keystore.properties at the repository root.
    • As a result, release signing was not applied in CI, and the expected signed APK was not produced.
  • Change

    • Updated the release signing config to load keystore.properties from the repository root via rootProject.file(...).
  • Effect

    • Aligns Gradle’s signing config with the existing workflow behavior.
    • Allows CI release builds to produce the expected signed APK artifact.
- def keystorePropertiesFile = file("keystore.properties")
+ def keystorePropertiesFile = rootProject.file("keystore.properties")

Copilot AI changed the title [WIP] Fix failing GitHub Actions job 'build' Fix release signing config lookup in build workflow Jul 18, 2026
@GeneralKaos666
GeneralKaos666 marked this pull request as ready for review July 18, 2026 02:27
Copilot AI review requested due to automatic review settings July 18, 2026 02:27
Copilot AI requested a review from GeneralKaos666 July 18, 2026 02:27
@GeneralKaos666
GeneralKaos666 merged commit ae02e3e into main Jul 18, 2026
@GeneralKaos666
GeneralKaos666 deleted the copilot/fix-failing-github-actions-job branch July 18, 2026 02:27
@qodo-code-review

Copy link
Copy Markdown

PR Summary by Qodo

Fix Gradle release signing config to read keystore.properties from repo root

🐞 Bug fix ⚙️ Configuration changes 🕐 Less than 10 minutes

Grey Divider

AI Description

• Load release signing properties from the repository root (matches CI workflow behavior).
• Restore signed release APK output in GitHub Actions build job.
• Prevent Gradle from silently falling back to unsigned release artifacts in CI.
Diagram

graph TD
  A["GitHub Actions build"] --> B[("keystore.properties\n(repo root)")] --> C["Gradle app module"] --> D["Release signing"] --> E["Signed APK"]
  subgraph Legend
    direction LR
    _ci["CI job"] ~~~ _cfg[("Config file")] ~~~ _step["Build step"]
  end
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Write keystore.properties into app/ instead
  • ➕ No Gradle change required if the workflow is the source of truth
  • ➖ Couples CI layout to module structure
  • ➖ Easy to regress if module path changes or multi-module signing is added
2. Use Gradle properties/env vars (no file)
  • ➕ Avoids managing a plaintext properties file in the workspace
  • ➕ Works well with GitHub Actions secrets and ephemeral runners
  • ➖ More workflow and Gradle wiring changes
  • ➖ Harder to debug locally compared to a single properties file
3. Centralize signing config in root build logic
  • ➕ Single source for signing across modules/variants
  • ➕ Better for multi-module Android setups
  • ➖ Overkill for a single-module project
  • ➖ Larger refactor than needed to fix the immediate CI failure

Recommendation: Keep the PR’s approach: switching to rootProject.file("keystore.properties") is the smallest, clearest fix that aligns Gradle with the existing workflow contract and restores signed APK generation without expanding the change surface.

Files changed (1) +1 / -1

Bug fix (1) +1 / -1
build.gradleResolve release keystore.properties from repository root +1/-1

Resolve release keystore.properties from repository root

• Changes the release signing configuration to load keystore.properties via rootProject.file(...), matching where the CI workflow writes the file. This ensures release signing is applied in CI and prevents unsigned release artifacts from being produced.

app/build.gradle

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

@qodo-code-review

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)

Grey Divider

Great, no issues found!

Qodo reviewed your code and found no material issues that require review

Grey Divider

Qodo Logo

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