Workflow file for this run
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
# Overview | |
# This GitHub Action automates the generation of release notes for the Haqq Wallet project. | |
# It utilizes the release-drafter GitHub Action to create and update release drafts based on merged pull requests. | |
# Triggers on a new git tag, finds diff between latest and a new one, generate release notes, build the android app | |
# and create a new release. | |
# Usage case: You need to create a new Release in Github | |
# Example: git tag 1.7.2 f6eebd3f59 && git push --tags | |
name: Create Github Release [MANUAL] | |
on: | |
push: | |
tags: | |
- '*.*.*' | |
jobs: | |
prepareArtifact: | |
name: Prepare Artifact | |
runs-on: ubuntu-cpu16-ram64 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Setup NodeJS@18 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
- name: Setup Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: '3.2.0' | |
bundler-cache: true | |
- name: Decode secrets | |
run: | | |
echo ${{secrets.HAQQ_KEYSTORE}} | base64 -d > android/app/haqq-upload-key.keystore | |
echo ${{secrets.GOOGLE_SERVICE_ACCOUNT}} | base64 -d > android/app/google-account.json | |
echo ${{secrets.GOOGLE_SERVICE_ANDROID}} | base64 -d > android/app/google-services.json | |
echo "PROVIDER_NETWORK=${{secrets.PROVIDER_NETWORK}}" >> .env | |
echo "PROVIDER_CHAIN_ID=${{secrets.PROVIDER_CHAIN_ID}}" >> .env | |
echo "SENTRY_DSN=${{secrets.SENTRY_DSN}}" >> .env | |
echo "ENVIRONMENT=distribution" >> .env | |
echo "IS_DEVELOPMENT=false" >> .env | |
echo "WALLET_CONNECT_PROJECT_ID=${{secrets.WALLET_CONNECT_PROJECT_ID}}" >> .env | |
echo "WALLET_CONNECT_RELAY_URL=${{secrets.WALLET_CONNECT_RELAY_URL}}" >> .env | |
echo "HCAPTCHA_SITE_KEY=${{secrets.HCAPTCHA_SITE_KEY}}" >> .env | |
echo "GOOGLE_SIGNIN_WEB_CLIENT_ID=${{secrets.GOOGLE_SIGNIN_WEB_CLIENT_ID}}" >> .env | |
echo "HAQQ_BACKEND=${{secrets.HAQQ_BACKEND}}" >> .env | |
echo "HAQQ_BACKEND_DEV=${{secrets.HAQQ_BACKEND_DEV}}" >> .env | |
echo "ADJUST_TOKEN=${{secrets.ADJUST_TOKEN}}" >> .env | |
echo "ADJUST_ENVIRONMENT=${{secrets.ADJUST_ENVIRONMENT}}" >> .env | |
echo "GOOGLE_PLAY_PACKAGE=${{secrets.GOOGLE_PLAY_PACKAGE}}" >> .env | |
echo "APPSTORE_APP_ID=${{secrets.APPSTORE_APP_ID}}" >> .env | |
echo "TURNSTILE_URL=${{secrets.TURNSTILE_URL}}" >> .env | |
echo "TURNSTILE_SITEKEY=${{secrets.TURNSTILE_SITEKEY}}" >> .env | |
echo "RECAPTCHA_V2_URL=${{secrets.RECAPTCHA_V2_URL}}" >> .env | |
echo "RECAPTCHA_V2_SITEKEY=${{secrets.RECAPTCHA_V2_SITEKEY}}" >> .env | |
echo "HCAPTCHA_URL=${{secrets.HCAPTCHA_URL}}" >> .env | |
echo "STORIES_ENABLED=true" >> .env | |
echo "DETOX_MILK_PRIVATE_KEY=${{secrets.DETOX_MILK_PRIVATE_KEY}}" >> .env | |
echo "DETOX_PROVIDER=${{secrets.DETOX_PROVIDER}}" >> .env | |
echo "DETOX_CHAIN_ID=${{secrets.DETOX_CHAIN_ID}}" >> .env | |
echo "MMKV_KEY=${{secrets.MMKV_KEY}}" >> .env | |
echo "POSTHOG_API_KEY=${{secrets.POSTHOG_API_KEY}}" >> .env | |
echo "POSTHOG_HOST=${{secrets.POSTHOG_HOST}}" >> .env | |
- name: Install packages | |
run: yarn install | |
- name: Setup Zulu@17 | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'zulu' | |
java-version: '17' | |
- name: Setup Android SDK | |
uses: android-actions/setup-android@v2 | |
- name: Setup Gradle | |
uses: gradle/gradle-build-action@v2 | |
- name: Build Android App | |
run: bundle exec fastlane android build_release | |
env: | |
HAQQ_UPLOAD_STORE_FILE: ${{ secrets.HAQQ_UPLOAD_STORE_FILE }} | |
HAQQ_UPLOAD_STORE_PASSWORD: ${{ secrets.HAQQ_UPLOAD_STORE_PASSWORD }} | |
HAQQ_UPLOAD_KEY_ALIAS: ${{ secrets.HAQQ_UPLOAD_KEY_ALIAS }} | |
HAQQ_UPLOAD_KEY_PASSWORD: ${{ secrets.HAQQ_UPLOAD_KEY_PASSWORD }} | |
- name: Upload Artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: haqq.apk | |
path: android/app/build/outputs/apk/release/app-release.apk | |
release: | |
name: Generate Release | |
needs: prepareArtifact | |
runs-on: ubuntu-cpu16-ram64 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Download Artifact | |
uses: actions/download-artifact@v3 | |
with: | |
name: haqq.apk | |
- name: Generate Release Notes | |
uses: softprops/action-gh-release@v2 | |
with: | |
make_latest: true | |
generate_release_notes: true | |
files: haqq.apk |