56 lines
2.4 KiB
YAML
56 lines
2.4 KiB
YAML
# SPDX-FileCopyrightText: 2021-2024 Nextcloud GmbH and Nextcloud contributors
|
|
# SPDX-FileCopyrightText: 2023 Andy Scherzinger <info@andy-scherzinger.de>
|
|
# SPDX-License-Identifier: MIT
|
|
name: "QA"
|
|
|
|
on:
|
|
pull_request:
|
|
branches: [ main, master, stable-* ]
|
|
|
|
permissions:
|
|
pull-requests: write
|
|
contents: read
|
|
|
|
concurrency:
|
|
group: qa-build-${{ github.head_ref || github.run_id }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
qa:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Check if secrets are available
|
|
run: echo "ok=${{ secrets.KS_PASS != '' }}" >> "$GITHUB_OUTPUT"
|
|
id: check-secrets
|
|
|
|
- name: Checkout
|
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
if: ${{ steps.check-secrets.outputs.ok == 'true' }}
|
|
with:
|
|
persist-credentials: false
|
|
|
|
- name: set up JDK 17
|
|
uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0
|
|
if: ${{ steps.check-secrets.outputs.ok == 'true' }}
|
|
with:
|
|
distribution: "temurin"
|
|
java-version: 17
|
|
|
|
- name: Build QA
|
|
if: ${{ steps.check-secrets.outputs.ok == 'true' }}
|
|
env:
|
|
KS_PASS: ${{ secrets.KS_PASS }}
|
|
KEY_PASS: ${{ secrets.KEY_PASS }}
|
|
LOG_USERNAME: ${{ secrets.LOG_USERNAME }}
|
|
LOG_PASSWORD: ${{ secrets.LOG_PASSWORD }}
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
run: |
|
|
mkdir -p "$HOME/.gradle"
|
|
echo "org.gradle.jvmargs=-Xmx6g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:+UseParallelGC -XX:MaxMetaspaceSize=1g" > "$HOME/.gradle/gradle.properties"
|
|
echo "org.gradle.caching=true; org.gradle.parallel=true; org.gradle.configureondemand=true; kapt.incremental.apt=true" >> "$HOME/.gradle/gradle.properties"
|
|
sed -i "/qa/,/\}/ s/versionCode .*/versionCode ${{github.event.number}} /" "app/build.gradle"
|
|
sed -i "/qa/,/\}/ s/versionName .*/versionName \"${{github.event.number}}\"/" "app/build.gradle"
|
|
./gradlew assembleQaDebug
|
|
$(find /usr/local/lib/android/sdk/build-tools/*/apksigner | sort | tail -n1) sign --ks-pass pass:"$KS_PASS" --key-pass pass:"$KEY_PASS" --ks-key-alias key0 --ks ".github/workflows/QA_keystore.jks" app/build/outputs/apk/qa/debug/*qa-debug*.apk
|
|
.github/workflows/uploadArtifact.sh "$LOG_USERNAME" "$LOG_PASSWORD" "${{github.event.number}}" "${{github.event.number}}" "$GITHUB_TOKEN"
|