Skip to content

Latest commit

 

History

History
65 lines (46 loc) · 3.23 KB

release.md

File metadata and controls

65 lines (46 loc) · 3.23 KB
title sidebar_label
Android release process
Release process

Android release process

This document outlines the steps to take an Android application from development on your machine to production for end users. It also covers the roles of CI/CD pipelines, internal testing, beta testing, and Google Play Store validation.

Release workflow: from debug to production

Development and debug builds

  • During development, you typically build the debug application on your local machine.
  • Once your changes are ready, you push a Pull Request (PR) to the repository.

Continuous integration (CI)

  • The CI system automatically:
    • Builds the application.
    • Runs linters and tests to ensure code quality.
  • If the PR is approved and merged into the main branch:
    • The CI builds the release application.
    • The release build is pushed to the internal tester group on both the Google Play Store and Firebase.

:::note You can download pre-built APKs for every commit on the main branch from the GitHub Actions page. :::

Internal testing

  • Internal testers validate the release build to ensure functionality.
  • Every approved and merged PR is pushed to the internal beta channel on Google Play Store for immediate feedback. This is the only way to do real‑world testing for Android Auto/Automotive, as the debug builds will not show up in an actual vehicle.
  • Due to the app's complexity, not all features can be tested exhaustively during this phase.

Weekly beta releases

  • Every Saturday at 9pm PST, the latest main build is pushed to the open beta channel.
  • Before that cutoff (Friday or Saturday), update the beta changelog to highlight new features and breaking changes.
  • Open beta users help test the application in real-world scenarios and report issues.

:::note You can join the beta program directly through the Google Play Store. :::

Production release

If the beta version is stable and approved by maintainers, it is promoted to production, making it available to all users. The following steps need to be checked for each release:

  • Update the change log to include all latest changes and the version number to the latest beta
  • Uncheck the pre-release checkbox in GitHub for the latest beta
  • Prepare companion docs PR removing all beta labels for the release, PR should be merged once Google approves the release
  • Notify Community Manager and Android Discord channel about the upcoming release and highlights for social media

:::note You can find the app on the Google Play Store. :::

Google Play Store validation

  • Google validates applications when they are pushed to the open beta phase.
  • Validation times can vary:
    • It may take more than a week in some cases.
    • Since releases are weekly, the previous beta release might still be under validation when a new beta is submitted. If this happens the previous beta is removed and not validated by Google.
  • This delay does not block the release process but requires careful planning to ensure timely updates.