name: Android on: push: branches: [ master ] pull_request: branches: [ master ] schedule: - cron: '5 12 * * 0' jobs: build: name: ${{ matrix.type }}-build runs-on: ubuntu-latest strategy: matrix: type: [manager, libs, apps] fail-fast: false steps: - uses: actions/checkout@v2 with: fetch-depth: 2 - name: Set up JDK 1.9 uses: actions/setup-java@v1 with: java-version: 1.9 - name: Setup Android SDK uses: android-actions/setup-android@v2 - name: Cache dependencies uses: actions/cache@v2.1.3 with: path: 3rdParty/buildCache key: android-${{ matrix.type }}-${{ hashFiles('android/*.sh') }} - name: Build manager if: ${{ success() && matrix.type == 'manager' }} run: | ./android/ci_build_manager.sh - name: Build libs if: ${{ success() && matrix.type == 'libs' }} run: ./android/ci_build_libraries.sh - name: Build apps if: ${{ success() && matrix.type == 'apps' }} run: ./android/ci_build_apps.sh - name: Deploy to BinTray if: ${{ success() && ! contains(matrix.type, 'libs') }} env: BINTRAY_API_KEY: ${{ secrets.BINTRAY_API_KEY }} PULL_REQUEST: ${{ github.event.number }} PULL_REQUEST_SHA: ${{ github.event.pull_request.head.sha }} run: ./deploy/prepare_deployment.sh android_${{ matrix.type }} && ./deploy/deploy_to_bintray.sh deploy/android_${{ matrix.type }}/ - name: Upload artifacts uses: actions/upload-artifact@v2 if: ${{ ! contains(matrix.type, 'libs') }} with: name: android_${{ matrix.type }}_${{ github.event.pull_request.head.sha }} path: deploy/android_${{ matrix.type }}/*.7z - name: Upload coverage report uses: codecov/codecov-action@v1 if: ${{ success() && matrix.type == 'manager' }} with: fail_ci_if_error: true verbose: false