Skip to content

chore(deps): update tj-actions/changed-files action to v39.0.3 (#366) #199

chore(deps): update tj-actions/changed-files action to v39.0.3 (#366)

chore(deps): update tj-actions/changed-files action to v39.0.3 (#366) #199

Workflow file for this run

name: Android CI
on:
push:
branches:
- develop
env:
base_url: ${{ secrets.BASE_URL }}
password: ${{ secrets.PASSWORD }}
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
concurrency:
group: ${{ github.ref }}
cancel-in-progress: true
jobs:
file-changes:
runs-on: ubuntu-latest
outputs:
any: ${{ steps.changed-files.outputs.any_changed }}
steps:
- uses: actions/checkout@v4.0.0
with:
submodules: "recursive"
fetch-depth: 0
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v39.0.3
with:
files: |
.github/workflows/develop_ci.yml
gradle/libs.versions.toml
**/*.kt
**/*.kts
**/*.xml
check-codestyle:
needs: [file-changes]
runs-on: ubuntu-latest
if: needs.file-changes.outputs.any == 'true'
steps:
- name: Checkout repository
uses: actions/checkout@v4.0.0
with:
fetch-depth: 0
- name: Set up JDK
uses: actions/setup-java@v3.12.0
with:
distribution: "zulu"
java-version: "17"
cache: "gradle"
- name: Check codestyle
uses: gradle/gradle-build-action@v2.8.0
with:
arguments: spotlessCheck
gradle-home-cache-cleanup: true
build-apks:
needs: [check-codestyle]
strategy:
matrix:
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
if: needs.file-changes.outputs.any == 'true'
steps:
- name: Checkout repository
uses: actions/checkout@v4.0.0
with:
fetch-depth: 0
- name: Decode Keystore
env:
ENCODED_STRING: ${{ secrets.SIGNING_KEY }}
run: |
TMP_KEYSTORE_FILE_PATH="${GITHUB_WORKSPACE}"/app/keystore
mkdir "${TMP_KEYSTORE_FILE_PATH}"
echo $ENCODED_STRING | base64 --decode > "${TMP_KEYSTORE_FILE_PATH}"/qbit-key.jks
- name: Set up JDK
uses: actions/setup-java@v3.12.0
with:
distribution: "zulu"
java-version: "17"
cache: "gradle"
- name: Accept all SDK licenses
shell: bash
run: printf 'y\ny\ny\ny\ny\ny\n' | $ANDROID_HOME/tools/bin/sdkmanager --licenses
- name: Build signed APKs
uses: gradle/gradle-build-action@v2.8.0
with:
arguments: assembleRelease
gradle-home-cache-cleanup: true
env:
GITHUB_CI: true
SIGNING_KEY_ALIAS: ${{ secrets.SIGNING_KEY_ALIAS }}
SIGNING_KEY_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }}
SIGNING_STORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }}
- name: Upload signed APKs
uses: actions/upload-artifact@v3
with:
name: Signed APKs
path: |
app/build/outputs/apk/free/release/*.apk
app/build/outputs/apk/nonFree/release/*.apk