Skip to content

feat: add GitHub Actions CI build and release workflows - #11

Draft
MossaabDev with Copilot wants to merge 2 commits into
masterfrom
copilot/create-builds-and-releases
Draft

MossaabDev with Copilot wants to merge 2 commits into
masterfrom
copilot/create-builds-and-releases

Conversation

Copilot AI commented Apr 12, 2026 •

Copy link
Copy Markdown

No CI/CD existed for this Android project. Adds automated debug builds on PRs and a release pipeline triggered by version tags.

Workflows

  • build.yml — Runs on push/PR to main/master. Builds a debug APK and uploads it as a workflow artifact (7-day retention).
  • release.yml — Runs on v* tag push. Builds a signed release APK and publishes a GitHub Release with the APK attached and auto-generated release notes. Tags matching -alpha/-beta/-rc are automatically marked as pre-releases.

Signing (app/build.gradle.kts)

Added a release signing config driven entirely by env vars, with a safe local fallback:

signingConfigs {
    create("release") {
        storeFile = file(System.getenv("KEYSTORE_PATH") ?: "release.keystore")
        storePassword = System.getenv("STORE_PASSWORD")
        keyAlias     = System.getenv("KEY_ALIAS")
        keyPassword  = System.getenv("KEY_PASSWORD")
    }
}
// Falls back to debug signing when keystore is absent (local dev)
signingConfig = if (file(System.getenv("KEYSTORE_PATH") ?: "release.keystore").exists())
    signingConfigs.getByName("release")
else
    signingConfigs.getByName("debug")

Required Repository Secrets

Secret Value
GOOGLE_SERVICES_JSON Base64-encoded google-services.json
KEYSTORE_BASE64 Base64-encoded release keystore (.jks)
STORE_PASSWORD Keystore password
KEY_ALIAS Key alias
KEY_PASSWORD Key password

Copilot AI changed the title [WIP] Add functionality to create builds and releases feat: add GitHub Actions CI build and release workflows Apr 12, 2026
Copilot AI requested a review from MossaabDev April 12, 2026 22:18
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.

2 participants