Skip to content

Commit

Permalink
CI / Guthub actions v2 (#65)
Browse files Browse the repository at this point in the history
* ADD github actions v2
  • Loading branch information
Frank1234 authored Jul 31, 2024
1 parent eb7ff27 commit 51d4e52
Show file tree
Hide file tree
Showing 15 changed files with 473 additions and 430 deletions.
34 changes: 34 additions & 0 deletions .github/workflows/debug.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Debug Build

on:
workflow_dispatch:
push:
branches: [ '*' ] # run on all pushes on any branch

jobs:
build:
runs-on: macos-latest # use [ self-hosted, macOS ] to host on our own mac mini, which is twice as fast and cheaper than hosting on a github runner. See README for more info.
steps:
- uses: actions/checkout@v3
- name: Prepare build
uses: ./.github/workflows/scripts/prepare

- name: Build Debug APK
run: ./gradlew assembleDevDebug --stacktrace

- name: Upload Dev Debug APK to Artifacts
uses: actions/upload-artifact@v3
with:
name: ${{ github.run_number }}_apk_dev_debug
path: |
${{ github.workspace }}/app/build/outputs/apk/devDebug/app-dev-debug.apk
- name: Build Prod APK
run: ./gradlew assembleProdDebug --stacktrace

- name: Upload Prod Debug APK to Artifacts
uses: actions/upload-artifact@v3
with:
name: ${{ github.run_number }}_apk_prod_debug
path: |
${{ github.workspace }}/app/build/outputs/apk/prodDebug/app-prod-debug.apk
43 changes: 0 additions & 43 deletions .github/workflows/pr.yml

This file was deleted.

65 changes: 65 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
name: Release Build

on:
workflow_dispatch:
inputs:
name:
description: "Release-Build"
default: "Generate release build"
pull_request:
branches: [ '*' ] # run on all pull requests

jobs:
build:
runs-on: macos-latest # use [ self-hosted, macOS ] to host on our own mac mini, which is twice as fast and cheaper than hosting on a github runner. See README for more info.
steps:
- uses: actions/checkout@v3
- name: Prepare build
uses: ./.github/workflows/scripts/prepare

- name: Update Version Code # we increase the version code with each build
uses: chkfung/[email protected]
with:
gradlePath: app/build.gradle
versionCode: ${{ github.run_number }}

# This will decode the keystore from base 64 text representation that we have stored in secrets
# and generates and keystore file and gets stored in /android-app path
- name: Decode Keystore
env:
ENCODED_STRING: ${{ secrets.KEYSTORE_BASE_64 }}
RELEASE_KEYSTORE_PASSWORD: ${{ secrets.RELEASE_KEYSTORE_PASSWORD }}
RELEASE_KEYSTORE_ALIAS: ${{ secrets.RELEASE_KEYSTORE_ALIAS }}
RELEASE_KEY_PASSWORD: ${{ secrets.RELEASE_KEY_PASSWORD }}

run: |
echo $ENCODED_STRING > keystore-b64.txt
base64 -d <keystore-b64.txt >upload-keystore.jks
- name: Build Prod Release APK
env:
RELEASE_KEYSTORE_PASSWORD: ${{ secrets.RELEASE_KEYSTORE_PASSWORD }}
RELEASE_KEYSTORE_ALIAS: ${{ secrets.RELEASE_KEYSTORE_ALIAS }}
RELEASE_KEY_PASSWORD: ${{ secrets.RELEASE_KEY_PASSWORD }}
run: ./gradlew assembleProdRelease --stacktrace

- name: Upload Release APK to Artifacts
uses: actions/upload-artifact@v3
with:
name: ${{ github.run_number }}_apk_debug
path: |
${{ github.workspace }}/app/build/outputs/apk/prodRelease/app-prod-release.apk
- name: Build Prod Release Bundle
env:
RELEASE_KEYSTORE_PASSWORD: ${{ secrets.RELEASE_KEYSTORE_PASSWORD }}
RELEASE_KEYSTORE_ALIAS: ${{ secrets.RELEASE_KEYSTORE_ALIAS }}
RELEASE_KEY_PASSWORD: ${{ secrets.RELEASE_KEY_PASSWORD }}
run: ./gradlew bundleProdRelease --stacktrace

- name: Upload Release Bundle to Artifacts
uses: actions/upload-artifact@v3
with:
name: ${{ github.run_number }}_apk_debug
path: |
${{ github.workspace }}/app/build/outputs/bundle/prodRelease/app-prod-release.aab
14 changes: 14 additions & 0 deletions .github/workflows/scripts/prepare/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: Preparation

runs:
using: "composite"
steps:
- name: Setup Java
uses: actions/setup-java@v3
with:
distribution: "corretto"
java-version: "21" # keep the same as your Android Studio version
cache: "gradle"

- name: Setup Android SDK
uses: android-actions/[email protected]
10 changes: 10 additions & 0 deletions .idea/deploymentTargetSelector.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 51d4e52

Please sign in to comment.