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@v2 with: path: /root/.gradle/ key: ${{ runner.os }}-gradle-${{ hashFiles('**/build.gradle') }} restore-keys: | ${{ runner.os }}-gradle- - name: Restore CXX Cache uses: actions/cache@v2 with: path: app/.cxx/ key: ${{ runner.os }}-cxx-${{ hashFiles('**/CMakeLists.txt') }} restore-keys: | ${{ runner.os }}-cxx- - name: Setup Environment for Gradle & Ninja Build & CMake run: | chmod +x gradlew sudo apt-get install -y ninja-build echo "yes" | $ANDROID_HOME/tools/bin/sdkmanager "cmake;3.18.1" --channel=3 - name: Android Lint run: ./gradlew --stacktrace lint - name: Upload Lint Report uses: actions/upload-artifact@v2 with: name: lint-result.html path: app/build/reports/lint-results-debug.html - name: Android Assemble run: ./gradlew --stacktrace assemble - name: Upload Debug APK uses: actions/upload-artifact@v2 with: name: app-debug.apk path: app/build/outputs/apk/debug/ - name: Upload Release APK uses: actions/upload-artifact@v2 with: name: app-release.apk path: app/build/outputs/apk/release/ - name: Upload R8 Mapping uses: actions/upload-artifact@v2 with: name: mapping.txt path: app/build/outputs/mapping/release/ - name: Delete Build Folder run: rm -rf app/build/