Skip to content

Use branch-specific package ids for Auto test builds#748

Merged
AndreyPavlenko merged 8 commits into
AndreyPavlenko:masterfrom
apollotsantos:tsa/branch-scoped-auto-test-id
May 16, 2026
Merged

Use branch-specific package ids for Auto test builds#748
AndreyPavlenko merged 8 commits into
AndreyPavlenko:masterfrom
apollotsantos:tsa/branch-scoped-auto-test-id

Conversation

@apollotsantos
Copy link
Copy Markdown
Contributor

Adds branch-scoped Android Auto test build identifiers so CI APKs can be installed and tested independently from the official release.

Why this is useful:

  • Android Auto/DHU test builds can conflict with the released app when they share the same package id but are signed differently. Giving CI test builds a separate package id makes them easier to install, discover, and validate in DHU.
  • Building locally is inconvenient on ARM-based development machines because the Android/NDK toolchain is easiest to run reliably in the GitHub Actions environment. This keeps pipeline-built APKs practical for day-to-day testing.
  • The package id is based on the fork owner and branch name, not the commit. That means new commits on the same branch update the same installed test app instead of creating a new app each time.
  • The short commit is still shown in the generated app name and artifact name, so it remains easy to identify exactly which CI build is installed.

What changed:

  • Computes a sanitized APP_ID_SFX in the APK workflow using the PR/fork owner and branch name.
  • Passes APP_ID_SFX into both Auto release APK builds.
  • Adds optional APP_NAME_SFX support so CI builds display owner/branch and short commit information in the app label.
  • Includes the test identifier in uploaded artifact names.

Validation:

  • Checked the edited workflow and Gradle file for reported editor errors.
  • Ran git diff --check.
  • Manually verified the package suffix sanitizer with branch names containing uppercase letters, slashes, hyphens, dots, and a leading number.

The actual APK build remains validated by the GitHub Actions pipeline.

Comment thread .github/workflows/build-apk.yml Outdated
Comment thread .github/workflows/build-apk.yml Outdated
Comment thread .github/workflows/build-apk.yml Outdated
Comment thread .github/workflows/build-apk.yml Outdated
Comment thread fermata/build.gradle Outdated
Comment thread fermata/build.gradle Outdated
Comment thread fermata/build.gradle Outdated
Comment thread fermata/build.gradle Outdated
Comment thread fermata/build.gradle Outdated
Co-authored-by: Andrey Pavlenko <andrey.a.pavlenko@gmail.com>
Comment thread .github/workflows/build-apk.yml Outdated
Comment thread .github/workflows/build-apk.yml Outdated
Co-authored-by: Andrey Pavlenko <andrey.a.pavlenko@gmail.com>
Comment thread .github/workflows/build-apk.yml Outdated
Comment thread .github/workflows/build-apk.yml Outdated
Comment thread .github/workflows/build-apk.yml Outdated
Co-authored-by: Andrey Pavlenko <andrey.a.pavlenko@gmail.com>
Comment thread .github/workflows/build-apk.yml
Comment thread .github/workflows/build-apk.yml Outdated
Comment thread .github/workflows/build-apk.yml
@AndreyPavlenko AndreyPavlenko merged commit 610b570 into AndreyPavlenko:master May 16, 2026
1 check passed
@AndreyPavlenko
Copy link
Copy Markdown
Owner

Thanks

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