mirror of
https://github.com/skyline-emu/skyline.git
synced 2024-12-24 17:41:53 +01:00
da79e2c8e3
The `restore-keys` parameter of `actions/cache@v3` is now utilized to add robust fallbacks for missing cache keys, it should automatically fall back to an older but still valid cache rather than entirely miss now.
77 lines
2.7 KiB
YAML
77 lines
2.7 KiB
YAML
name: CI
|
|
|
|
on: [ push, pull_request ]
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
env:
|
|
JVM_OPTS: -Xmx6G
|
|
|
|
steps:
|
|
- name: Git Checkout
|
|
uses: actions/checkout@v2
|
|
with:
|
|
submodules: recursive
|
|
|
|
- name: Restore Gradle Cache
|
|
uses: actions/cache@v3
|
|
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: Restore CXX Cache
|
|
uses: actions/cache@v3
|
|
with:
|
|
path: |
|
|
app/.cxx/
|
|
app/build/intermediates/cxx/
|
|
key: ${{ runner.os }}-cxx-${{ hashFiles('app/**/CMakeLists.txt') }}-${{ hashFiles('app/**/*.h', 'app/**/*.hpp', 'app/**/*.cpp', 'app/**/*.S') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-cxx-${{ hashFiles('app/**/CMakeLists.txt') }}-
|
|
${{ runner.os }}-cxx-
|
|
|
|
- name: Install Ninja Build
|
|
run: |
|
|
sudo apt-get install -y ninja-build
|
|
ln -s /usr/bin/ninja .
|
|
|
|
- name: Install CMake & Android NDK
|
|
run: echo "yes" | $ANDROID_HOME/tools/bin/sdkmanager "cmake;3.18.1" "ndk;25.0.8221429" --channel=3 | grep -v = || true
|
|
|
|
- name: Decode Keystore
|
|
env:
|
|
KEYSTORE_ENCODED: ${{ secrets.KEYSTORE }}
|
|
run: echo $KEYSTORE_ENCODED | base64 --decode > "$HOME/keystore.jks"
|
|
|
|
- name: Android Assemble
|
|
env:
|
|
SIGNING_STORE_PASSWORD: ${{ secrets.SIGNING_STORE_PASSWORD }}
|
|
SIGNING_KEY_ALIAS: ${{ secrets.SIGNING_KEY_ALIAS }}
|
|
SIGNING_KEY_PASSWORD: ${{ secrets.SIGNING_KEY_PASSWORD }}
|
|
run: ./gradlew --stacktrace --configuration-cache --build-cache --parallel --configure-on-demand assemble
|
|
|
|
- name: Rename APKs
|
|
run: |
|
|
mv app/build/outputs/apk/debug/app-debug.apk skyline-$GITHUB_RUN_NUMBER-debug.apk
|
|
mv app/build/outputs/apk/release/app-release.apk skyline-$GITHUB_RUN_NUMBER-release.apk
|
|
|
|
- name: Upload Debug APK
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: skyline-${{ github.run_number }}-debug.apk
|
|
path: skyline-${{ github.run_number }}-debug.apk
|
|
|
|
- name: Upload Release APK
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: skyline-${{ github.run_number }}-release.apk
|
|
path: skyline-${{ github.run_number }}-release.apk
|
|
|
|
- name: Delete Build Folder
|
|
run: rm -rf app/build/
|