Skip to content

.github/workflows/android.yml #1

.github/workflows/android.yml

.github/workflows/android.yml #1

Workflow file for this run

on: [workflow_dispatch]
jobs:
build:
runs-on: ubuntu-latest
name: Build the project
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup java
uses: actions/setup-java@v3
with:
distribution: "zulu"
java-version: "17"
- name: Set up node
# ADD YOUR CUSTOM DEPENDENCY UPGRADE COMMANDS BELOW
uses: actions/setup-node@v3
with:
node-version: "20"
- name: Load secret
uses: 1password/load-secrets-action@v1
with:
# Export loaded secrets as environment variables
export-env: true
env:
OP_SERVICE_ACCOUNT_TOKEN: ${{ secrets.OP_SERVICE_ACCOUNT_TOKEN }}
AWS_KEY_ID: "op://DevOps/cloudflare-r2-token/access-key-id"
AWS_SECRET_ACCESS_KEY: "op://DevOps/cloudflare-r2-token/secret-access-key"
RELEASE_KEYSTORE: "op://DevOps/btt-android-keystore-key/base64-encoded-jks"
RELEASE_KEYSTORE_PASSWORD: "op://DevOps/btt-android-keystore-key/keystore-password"
ENDPOINT: "op://DevOps/cloudflare-r2-token/endpoint"
- name:
Install JS dependencies and build
# ADD YOUR CUSTOM DEPENDENCY UPGRADE COMMANDS BELOW
run: |
npm ci && npm run build-android
env:
VITE_POLICY_KEY: ${{ secrets.VITE_POLICY_KEY }}
VITE_BC_ACCOUNT_ID: ${{ secrets.VITE_BC_ACCOUNT_ID }}
- name: Get current date
id: date
run: echo "date=$(date +'%Y-%m-%d')" >> "$GITHUB_OUTPUT"
- name: Build app bundle
run: cd android && ./gradlew bundle
- name: Extract Android signing key from env
run: |
echo "${{ secrets.RELEASE_KEYSTORE }}" > android/release.jks.base64
base64 -d android/release.jks.base64 > android/release.decrypted.jks
- name: Sign dev build
run: jarsigner -keystore android/release.decrypted.jks -storepass "${{ secrets.RELEASE_KEYSTORE_PASSWORD }}" -signedjar ./android/app/build/outputs/bundle/release/app-release-signed.aab ./android/app/build/outputs/bundle/release/app-release.aab release
- name: Upload Android to R2
uses: shallwefootball/s3-upload-action@master
with:
aws_key_id: ${{ env.AWS_KEY_ID }}
aws_secret_access_key: ${{ env.AWS_SECRET_ACCESS_KEY}}
aws_bucket: dot-mobile
source_dir: "./android/app/build/outputs/bundle/release"
destination_dir: "android/${{steps.date.outputs.date}}"
endpoint: ${{ env.ENDPOINT }}