Rework CI to only upload artifacts for PR builds #4
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
# A workflow to build and upload APKs for pull requests | |
name: PR Build | |
on: | |
pull_request: | |
types: [ opened, synchronize, reopened ] | |
branches: [ master ] | |
# Only allow the latest build to run for a given PR, and cancel any previous builds | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Git Checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Restore CCache | |
uses: hendrikmuhs/ccache-action@v1.2 | |
with: | |
max-size: 3Gi | |
- name: Restore Gradle Cache | |
uses: actions/cache@v4 | |
with: | |
path: ~/.gradle/ | |
key: ${{ runner.os }}-gradle-${{ hashFiles('**/build.gradle') }}-${{ hashFiles('app/**/*.xml') }}-${{ hashFiles('app/**.kt', 'app/**.java') }} | |
restore-keys: | | |
${{ runner.os }}-gradle-${{ hashFiles('**/build.gradle') }}-${{ hashFiles('app/**/*.xml') }}- | |
${{ runner.os }}-gradle-${{ hashFiles('**/build.gradle') }}- | |
${{ runner.os }}-gradle- | |
- name: Install Java 17 | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'temurin' # Temurin should come pre-installed on GitHub-hosted runners | |
java-version: '17' | |
- name: Install Ninja Build | |
run: | | |
sudo apt-get install -y ninja-build | |
ln -s /usr/bin/ninja . | |
- name: Android Assemble | |
env: | |
CMAKE_C_COMPILER_LAUNCHER: "ccache" | |
CMAKE_CXX_COMPILER_LAUNCHER: "ccache" | |
CCACHE_COMPILERCHECK: "string:${{ env.NDK_VERSION }}" # Use NDK version instead of compiler timestamp | |
PR_NUMBER: ${{ github.event.number }} | |
run: ./gradlew --no-daemon --stacktrace --build-cache --parallel --configure-on-demand assembleDevRelease assembleDevReldebug | |
- name: Rename APKs | |
run: | | |
mv app/build/outputs/apk/dev/release/app-dev-release.apk strato-pr${{ github.event.number }}-release.apk | |
mv app/build/outputs/apk/dev/reldebug/app-dev-reldebug.apk strato-pr${{ github.event.number }}-reldebug.apk | |
- name: Upload Release APK | |
uses: actions/upload-artifact@v4 | |
with: | |
name: strato-pr${{ github.event.number }}-release.apk | |
path: strato-pr${{ github.event.number }}-release.apk | |
- name: Upload Debug APK | |
uses: actions/upload-artifact@v4 | |
with: | |
name: strato-pr${{ github.event.number }}-reldebug.apk | |
path: strato-pr${{ github.event.number }}-reldebug.apk |