Skip to content

Update qa-release.yml #268

Update qa-release.yml

Update qa-release.yml #268

Workflow file for this run

# 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:'