Update qa-release.yml #268
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This is a workflow to help with continuous delivery of Stax App to the testing tracks and release track on Play Store | |
name: QA Release Workflow | |
# Define when the action will run | |
on: | |
# Triggers the workflow on push events to the specified branch | |
push: | |
branches: [ qa ] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
# Checkout the repository so that the job can access it | |
- name: Checkout the Repository | |
uses: actions/checkout@v3 | |
- name: Setup Gradle Properties | |
env: | |
HoverUsername: ${{ secrets.HOVER_USERNAME }} | |
HoverPassword: ${{ secrets.HOVER_PASSWORD }} | |
shell: bash | |
run: | | |
mkdir ~/.gradle | |
echo "GRADLE_USER_HOME=$HOME/.gradle" >> $GITHUB_ENV | |
echo "HoverUsername=$HoverUsername" >> ~/.gradle/gradle.properties | |
echo "HoverPassword=$HoverPassword" >> ~/.gradle/gradle.properties | |
- name: Set up JDK 11 | |
uses: actions/setup-java@v3 | |
with: | |
# Specify a supported distribution and java version to run | |
distribution: 'zulu' | |
java-version: 11 | |
- name: Read App Version from Gradle Build File so we can create a Git Tag | |
id: get_version | |
run: echo "APP_VERSION=$(./gradlew -q printVersion)" >> $GITHUB_OUTPUT | |
- name: Assemble QA Bundle | |
id: buildBundle | |
uses: gradle/gradle-build-action@v2 | |
with: | |
# Can be overridden with the desired gradle version | |
gradle-version: 7.6 | |
# Specifies the gradle command to be run, can be replaced with any desired task | |
arguments: bundleProductionRelease | |
- name: Sign Artifact | |
id: signArtifact | |
uses: r0adkll/sign-android-release@v1 | |
with: | |
releaseDirectory: app/build/outputs/bundle/productionRelease | |
signingKeyBase64: ${{ secrets.SIGNING_KEY }} | |
alias: ${{ secrets.ALIAS }} | |
keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }} | |
keyPassword: ${{ secrets.KEY_PASSWORD }} | |
- name: Deploy to Internal Test Track | |
uses: r0adkll/upload-google-play@v1.0.15 | |
with: | |
serviceAccountJsonPlainText: ${{ secrets.PLAYSTORE_SERVICE_ACCOUNT }} | |
packageName: com.hover.stax | |
releaseFiles: app/build/outputs/bundle/productionRelease/*.aab | |
track: internal | |
- name: Create Tag | |
uses: rickstaa/action-create-tag@v1 | |
with: | |
tag: "v${{steps.get_version.outputs.APP_VERSION}}" | |
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }} | |
gpg_passphrase: ${{ secrets.GPG_PASSPHRASE }} | |
- name: Send Slack Notification | |
uses: Ilshidur/action-slack@2.0.2 | |
env: | |
SLACK_WEBHOOK: ${{ secrets.STAX_SLACK_WEBHOOK }} | |
SLACK_USERNAME: StaxDeploymentBot | |
SLACK_CHANNEL: stax | |
SLACK_AVATAR: sender | |
with: | |
args: 'Stax ${{steps.get_version.outputs.APP_VERSION}} has just been deployed to Play Store internal track. :truck:' | |