-
Notifications
You must be signed in to change notification settings - Fork 4
Add GitHub Action to publish releases to Play Store Internal Test track #192
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Conversation
Co-authored-by: ninovanhooff <10351007+ninovanhooff@users.noreply.github.com>
Co-authored-by: ninovanhooff <10351007+ninovanhooff@users.noreply.github.com>
Co-authored-by: ninovanhooff <10351007+ninovanhooff@users.noreply.github.com>
Co-authored-by: ninovanhooff <10351007+ninovanhooff@users.noreply.github.com>
Co-authored-by: ninovanhooff <10351007+ninovanhooff@users.noreply.github.com>
|
Tragically, the template's package name is already taken, not sure if I registered it sometime ago or someone else. But it is blocking publishing of the app. (also manually this is not possible) Changing the package name would mean changing the rename-project.py too. this is possible but feels a bit heavy handed |
| uses: ./.github/actions/prepare-release | ||
|
|
||
| # This will decode the keystore from base 64 text representation that we have stored in secrets | ||
| # and generates and keystore file and gets stored in /android-app path |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
typos
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed in ee2733d - changed "generates and keystore file" to "generates a keystore file"
| base64 -d <keystore-b64.txt >upload-keystore.jks | ||
| # The secrets.gradle file that is stored as text, does not need to be decoded | ||
| # and can be directly written to a file | ||
| # This file is used by the gradle build to sign the APK |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not apk, but aab
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed in ee2733d - updated comment to reference AAB instead of APK
README.MD
Outdated
| - _debug.yml_: any commit on any branch triggers a `devDebug` apk and a `prodDebug` apk build | ||
| - _release.yml_: any PR triggers signed release builds (`prodRelease` bundle and `prodRelease` apk) | ||
| - _firebase-app-distribution.yml_: any PR to develop triggers a release build that is uploaded to Firebase App Distribution | ||
| - _playstore-internal.yml_: any push to release branches (release/*) triggers a release build that is uploaded to Play Store Internal Test track |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
to a release branch
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed in ee2733d - simplified to "any push to a release branch"
README.MD
Outdated
| 3. Add the content of the JSON file to your Github repository secrets as `PLAYSTORE_SERVICE_ACCOUNT_JSON` | ||
| 4. Update the `packageName` in the [playstore-internal.yml](.github/workflows/playstore-internal.yml) file to match your app's package name | ||
|
|
||
| More details on creating a service account can be found in the [Google Play Android Developer API documentation](https://developers.google.com/android-publisher/getting_started). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Use this as the documentation url instead: https://github.com/r0adkll/upload-google-play?tab=readme-ov-file#configure-access-via-service-account
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed in ee2733d - updated documentation URL to point to the upload-google-play specific service account configuration instructions
Co-authored-by: ninovanhooff <10351007+ninovanhooff@users.noreply.github.com>
Co-authored-by: ninovanhooff <10351007+ninovanhooff@users.noreply.github.com>
Added an explicit reminder in the "Using this template" section (commit 3cc42e5) to update the packageName in the workflow file after running rename-project.py. Since this is a template, users are expected to customize the package name - the workflow includes a TODO comment and the README now has clear instructions in both the setup section and the Play Store deployment section. |
Co-authored-by: ninovanhooff <10351007+ninovanhooff@users.noreply.github.com>
Why is this important?
Automates Play Store deployments similar to existing Firebase App Distribution workflow. All Q42 apps use Play Store, so automating pushes to internal test track eliminates manual upload steps.
Notes
New workflow:
.github/workflows/playstore-internal.ymlrelease/**branches and manual dispatchr0adkll/upload-google-play@v1inAppUpdatePriority: 2andstatus: completedSetup required:
PLAYSTORE_SERVICE_ACCOUNT_JSONsecret (service account with Play Developer API access)packageName: nl.q42.templateto your app's package name (see "Using this template" section in README)Documentation updates:
Security:
permissions: contents: readto limit GITHUB_TOKEN scopeOriginal prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.