ABW-2097 - Transaction fee is the same on both default and advanced v… #350
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
name: "App releases" | |
on: | |
push: | |
branches: | |
- "main" | |
release: | |
types: | |
- "published" | |
workflow_dispatch: | |
inputs: | |
flavor: | |
description: "Which flavor do you want to build and distribute?" | |
required: true | |
type: choice | |
options: | |
- "alpha" | |
default: "alpha" | |
release_notes: | |
description: "(Optional) Release notes for version you want to distribute (not needed for Alpha flavor)" | |
required: false | |
default: '' | |
groups: | |
description: "(Optional) Name of the group you want to notify about new version" | |
required: false | |
default: 'alpha-devs' | |
type: choice | |
options: | |
- "alpha-devs" | |
- "internal" | |
- "no" | |
jobs: | |
alpha_firebase_releases: | |
name: "Publish to firebase" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 | |
with: | |
token: ${{ secrets.RADIX_BOT_PAT }} | |
- name: Dump context | |
uses: crazy-max/ghaction-dump-context@516dbb0c760f39b4cdd750ae095f1688780f68f4 | |
- name: Download Ruby (action) | |
uses: ruby/setup-ruby@c7079efafd956afb5d823e8999c2506e1053aefa | |
with: | |
ruby-version: '3.1.2' | |
bundler-cache: true | |
- uses: actions/setup-java@v3 | |
with: | |
distribution: 'zulu' # See 'Supported distributions' for available options | |
java-version: '17' | |
- name: Decode Service account credentials | |
uses: timheuer/base64-to-file@48657ba25c726c2e3dcf02efa3639fff9b3d587e | |
id: firebase_keystore | |
with: | |
fileName: "service_account.json" | |
encodedString: ${{ secrets.GOOGLE_APPLICATION_CREDENTIALS_BASE_64 }} | |
- name: Decode keystore credentials | |
uses: timheuer/base64-to-file@48657ba25c726c2e3dcf02efa3639fff9b3d587e | |
id: keystore_file | |
with: | |
fileName: "debugPreview.jks" | |
encodedString: ${{ secrets.RADIX_DEBUG_PREVIEW_KEYSTORE_FILE_BASE_64 }} | |
- name: Distribute Alpha flavor | |
if: > | |
( github.ref == 'refs/heads/main' && github.event_name == 'push' ) || | |
( github.event.inputs.flavor == 'alpha' && github.event_name == 'workflow_dispatch' ) | |
run: | | |
export GROUPS=${GROUPS:-"alpha-devs"} | |
if [ "$GROUPS" == "no" ]; then | |
GROUPS='' | |
fi | |
git config user.name $GIT_USER | |
git config user.email $GIT_USER | |
bundle exec fastlane alpha | |
echo "### Alpha flavor distributed! :rocket:" >> $GITHUB_STEP_SUMMARY | |
env: | |
FIREBASE_APP_ID: ${{ secrets.FIREBASE_ALPHA_APP_ID }} | |
GOOGLE_APPLICATION_CREDENTIALS: ${{ steps.firebase_keystore.outputs.filePath }} | |
RELEASE_NOTES: ${{ github.event.inputs.release_notes }} | |
GROUPS: ${{ github.event.inputs.groups }} | |
SLACK_URL: ${{ secrets.SLACK_URL }} | |
GIT_USER: ${{ secrets.RADIX_BOT_USERNAME }} | |
GPR_USER: ${{ secrets.GPR_USER }} | |
GPR_TOKEN: ${{ secrets.GPR_TOKEN }} | |
RADIX_DEBUG_PREVIEW_KEYSTORE_FILE: ${{ steps.keystore_file.outputs.filePath }} | |
RADIX_ANDROID_KEYSTORE_PASSWORD: ${{ secrets.RADIX_ANDROID_KEYSTORE_PASSWORD }} | |
RADIX_ANDROID_KEYSTORE_PRIVATE_KEY_PASSWORD: ${{ secrets.RADIX_ANDROID_KEYSTORE_PRIVATE_KEY_PASSWORD }} | |
RADIX_ANDROID_KEYSTORE_ALIAS: ${{ secrets.RADIX_ANDROID_KEYSTORE_ALIAS }} | |
- name: Distribute Preview flavor | |
if: ( github.event_name == 'release' && github.event.release.prerelease ) | |
run: | | |
git config user.name $GIT_USER | |
git config user.email $GIT_USER | |
bundle exec fastlane preview | |
echo "### Preview flavor distributed! :rocket:" >> $GITHUB_STEP_SUMMARY | |
env: | |
FIREBASE_APP_ID: ${{ secrets.FIREBASE_PREVIEW_APP_ID }} | |
GOOGLE_APPLICATION_CREDENTIALS: ${{ steps.firebase_keystore.outputs.filePath }} | |
RELEASE_NOTES: ${{ github.event.inputs.release_notes }} | |
GROUPS: "internal" | |
SLACK_URL: ${{ secrets.SLACK_URL }} | |
GIT_USER: ${{ secrets.RADIX_BOT_USERNAME }} | |
GPR_USER: ${{ secrets.GPR_USER }} | |
GPR_TOKEN: ${{ secrets.GPR_TOKEN }} | |
RADIX_DEBUG_PREVIEW_KEYSTORE_FILE: ${{ steps.keystore_file.outputs.filePath }} | |
RADIX_ANDROID_KEYSTORE_PASSWORD: ${{ secrets.RADIX_ANDROID_KEYSTORE_PASSWORD }} | |
RADIX_ANDROID_KEYSTORE_PRIVATE_KEY_PASSWORD: ${{ secrets.RADIX_ANDROID_KEYSTORE_PRIVATE_KEY_PASSWORD }} | |
RADIX_ANDROID_KEYSTORE_ALIAS: ${{ secrets.RADIX_ANDROID_KEYSTORE_ALIAS }} | |
RELEASE_BRANCH: ${{ github.event.release.target_commitish }} | |
playstore_releases: | |
name: "Publish to playstore" | |
runs-on: ubuntu-latest | |
if: > | |
( github.event_name == 'release' && !github.event.release.prerelease ) | |
steps: | |
- uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 | |
with: | |
token: ${{ secrets.RADIX_BOT_PAT }} | |
- name: Dump context | |
uses: crazy-max/ghaction-dump-context@516dbb0c760f39b4cdd750ae095f1688780f68f4 | |
- name: Download Ruby (action) | |
uses: ruby/setup-ruby@c7079efafd956afb5d823e8999c2506e1053aefa | |
with: | |
ruby-version: '3.1.2' | |
bundler-cache: true | |
- uses: actions/setup-java@v3 | |
with: | |
distribution: 'zulu' # See 'Supported distributions' for available options | |
java-version: '17' | |
- name: Decode keystore credentials | |
uses: timheuer/base64-to-file@48657ba25c726c2e3dcf02efa3639fff9b3d587e | |
id: google_play_keystore | |
with: | |
fileName: "playstore_preview_upload_key.jks" | |
encodedString: ${{ secrets.GOOGLE_PLAY_PREVIEW_KEYSTORE_FILE_BASE_64 }} | |
- name: Decode Service account credentials | |
uses: timheuer/base64-to-file@48657ba25c726c2e3dcf02efa3639fff9b3d587e | |
id: google_play_service_account_json | |
with: | |
fileName: "service_account.json" | |
encodedString: ${{ secrets.GOOGLE_PLAY_PREVIEW_DEPLOYER_JSON_BASE_64 }} | |
- name: set commit branch for release | |
if: github.event_name == 'release' | |
run: | | |
echo "RELEASE_BRANCH=${{ github.event.release.target_commitish }}" >> $GITHUB_ENV | |
- name: Distribute Google Play flavor | |
run: | | |
git config user.name $GIT_USER | |
git config user.email $GIT_USER | |
bundle exec fastlane release_to_google_play | |
echo "### Distribute Google Play flavor distributed! :rocket:" >> $GITHUB_STEP_SUMMARY | |
env: | |
SLACK_URL: ${{ secrets.SLACK_URL }} | |
GIT_USER: ${{ secrets.RADIX_BOT_USERNAME }} | |
GPR_USER: ${{ secrets.GPR_USER }} | |
GPR_TOKEN: ${{ secrets.GPR_TOKEN }} | |
RADIX_DEBUG_PREVIEW_KEYSTORE_FILE: ${{ steps.google_play_keystore.outputs.filePath }} | |
RADIX_ANDROID_KEYSTORE_PASSWORD: ${{ secrets.GOOGLE_PLAY_KEYSTORE_PASSWORD }} | |
RADIX_ANDROID_KEYSTORE_PRIVATE_KEY_PASSWORD: ${{ secrets.GOOGLE_PLAY_KEYSTORE_PASSWORD }} | |
RADIX_ANDROID_KEYSTORE_ALIAS: "upload" | |
RELEASE_BRANCH: ${{ env.RELEASE_BRANCH }} | |
GOOGLE_PLAY_PREVIEW_DEPLOYER_JSON_FILE: ${{ steps.google_play_service_account_json.outputs.filePath }} | |
publish_sbom: | |
runs-on: ubuntu-latest | |
if: github.event_name == 'release' | |
steps: | |
- uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b | |
- uses: timheuer/base64-to-file@48657ba25c726c2e3dcf02efa3639fff9b3d587e | |
id: keystore_file | |
with: | |
fileName: "debugPreview.jks" | |
encodedString: ${{ secrets.RADIX_DEBUG_PREVIEW_KEYSTORE_FILE_BASE_64 }} | |
- name: Generate SBOM | |
uses: snyk/actions/gradle-jdk17@b98d498629f1c368650224d6d212bf7dfa89e4bf # v0.4.0 | |
with: | |
args: --all-projects --org=${{ secrets.SNYK_ORG_ID }} --format=cyclonedx1.4+json --json-file-output sbom.json | |
command: sbom | |
env: | |
SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }} | |
RADIX_DEBUG_PREVIEW_KEYSTORE_FILE: ${{ steps.keystore_file.outputs.filePath }} | |
- name: Upload SBOM | |
uses: svenstaro/upload-release-action@2b9d2847a97b04d02ad5c3df2d3a27baa97ce689 # v2.6.1 | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: sbom.json | |
tag: ${{ github.ref }} | |
overwrite: true |