| name: Build |
| on: [ push, pull_request ] |
| |
| concurrency: |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} |
| cancel-in-progress: true |
| |
| permissions: |
| contents: read |
| actions: read |
| checks: write |
| |
| jobs: |
| build: |
| name: Build |
| |
| runs-on: ubuntu-latest |
| steps: |
| - name: Checkout the code |
| uses: actions/checkout@v3 |
| |
| - name: Android build cache |
| uses: actions/cache@v3 |
| with: |
| path: | |
| ~/.android/build-cache |
| key: ${{ runner.os }}-android |
| restore-keys: ${{ runner.os }}-android |
| |
| - name: Set up JDK 17 |
| uses: actions/setup-java@v3 |
| with: |
| distribution: 'corretto' |
| java-version: 17 |
| cache: 'gradle' |
| |
| - name: Build |
| run: ./gradlew compileDebugAndroidTestSources check assemble ktlintCheck |
| |
| - name: Upload APKs |
| uses: actions/upload-artifact@v3 |
| with: |
| name: seedvault-${{ github.sha }}-apks |
| path: | |
| app/build/outputs/apk/debug/app-debug.apk |
| contactsbackup/build/outputs/apk/debug/contactsbackup-debug.apk |
| storage/demo/build/outputs/apk/debug/demo-debug.apk |
| |
| - name: Publish Test Report |
| uses: mikepenz/action-junit-report@v4 |
| if: success() || failure() |
| with: |
| report_paths: '**/build/test-results/**/TEST-*.xml' |
| |