feat: add Beta/Experimental settings section (R604) #657
Workflow file for this run
This file contains hidden or 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
| name: PR build check | |
| on: | |
| pull_request: | |
| paths: | |
| - '**' | |
| - '!i18n/src/commonMain/moko-resources/**/strings-aniyomi.xml' | |
| - '!i18n/src/commonMain/moko-resources/**/strings.xml' | |
| - '!i18n/src/commonMain/moko-resources/**/plurals-aniyomi.xml' | |
| - '!i18n/src/commonMain/moko-resources/**/plurals.xml' | |
| - 'i18n/src/commonMain/moko-resources/base/strings-aniyomi.xml' | |
| - 'i18n/src/commonMain/moko-resources/base/strings.xml' | |
| - 'i18n/src/commonMain/moko-resources/base/plurals-aniyomi.xml' | |
| - 'i18n/src/commonMain/moko-resources/base/plurals.xml' | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| env: | |
| # Temporary: remove this bootstrap and mavenLocal wiring once a released SqlDelight version includes AGP 9 compatibility. | |
| SQLDELIGHT_AGP9_FIX_SHA: c8f6011c014368544c71f5e490ef0409bb2f4705 | |
| jobs: | |
| prepare_sqldelight: | |
| name: Prepare SqlDelight artifacts | |
| runs-on: 'ubuntu-24.04' | |
| steps: | |
| - name: Restore SqlDelight local Maven cache | |
| id: sqldelight-cache | |
| uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.2.3 | |
| with: | |
| path: ~/.m2/repository/app/cash | |
| key: sqldelight-m2-${{ env.SQLDELIGHT_AGP9_FIX_SHA }} | |
| - name: Set up JDK | |
| uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12 # v4.7.0 | |
| with: | |
| java-version: 17 | |
| distribution: temurin | |
| - name: Build SqlDelight AGP 9 fix | |
| if: steps.sqldelight-cache.outputs.cache-hit != 'true' | |
| run: | | |
| set -euxo pipefail | |
| git clone --filter=blob:none https://github.com/cashapp/sqldelight.git /tmp/sqldelight | |
| cd /tmp/sqldelight | |
| git checkout --detach "$SQLDELIGHT_AGP9_FIX_SHA" | |
| ./gradlew publishToMavenLocal -x test --no-daemon | |
| - name: Upload SqlDelight local Maven artifacts | |
| uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 | |
| with: | |
| name: sqldelight-m2-${{ env.SQLDELIGHT_AGP9_FIX_SHA }} | |
| path: ~/.m2/repository/app/cash | |
| spotless: | |
| name: Check code format | |
| runs-on: 'ubuntu-24.04' | |
| needs: prepare_sqldelight | |
| steps: | |
| - name: Clone repo | |
| uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
| - name: Set up JDK | |
| uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12 # v4.7.0 | |
| with: | |
| java-version: 17 | |
| distribution: temurin | |
| - name: Set up gradle | |
| uses: gradle/actions/setup-gradle@94baf225fe0a508e581a564467443d0e2379123b # v4.3.0 | |
| - name: Download SqlDelight local Maven artifacts | |
| uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 | |
| with: | |
| name: sqldelight-m2-${{ env.SQLDELIGHT_AGP9_FIX_SHA }} | |
| path: ~/.m2/repository/app/cash | |
| - name: Check code format | |
| run: ./gradlew spotlessCheck | |
| build: | |
| name: Build app | |
| runs-on: 'ubuntu-24.04' | |
| needs: prepare_sqldelight | |
| steps: | |
| - name: Clone repo | |
| uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
| - name: Dependency Review | |
| if: github.repository == 'aniyomiorg/aniyomi' | |
| uses: actions/dependency-review-action@3b139cfc5fae8b618d3eae3675e383bb1769c019 # v4.5.0 | |
| - name: Set up JDK | |
| uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12 # v4.7.0 | |
| with: | |
| java-version: 17 | |
| distribution: temurin | |
| - name: Set up gradle | |
| uses: gradle/actions/setup-gradle@94baf225fe0a508e581a564467443d0e2379123b # v4.3.0 | |
| with: | |
| cache-read-only: false | |
| - name: Download SqlDelight local Maven artifacts | |
| uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 | |
| with: | |
| name: sqldelight-m2-${{ env.SQLDELIGHT_AGP9_FIX_SHA }} | |
| path: ~/.m2/repository/app/cash | |
| - name: Build app | |
| run: ./gradlew assembleRelease --build-cache | |
| - name: Upload APK | |
| uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 | |
| with: | |
| name: arm64-v8a-${{ github.sha }} | |
| path: app/build/outputs/apk/release/app-arm64-v8a-release-unsigned.apk | |
| - name: Upload mapping | |
| uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 | |
| with: | |
| name: mapping-${{ github.sha }} | |
| path: app/build/outputs/mapping/release | |
| test: | |
| name: Run unit tests | |
| runs-on: 'ubuntu-24.04' | |
| needs: prepare_sqldelight | |
| steps: | |
| - name: Clone repo | |
| uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
| - name: Set up JDK | |
| uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12 # v4.7.0 | |
| with: | |
| java-version: 17 | |
| distribution: temurin | |
| - name: Set up gradle | |
| uses: gradle/actions/setup-gradle@94baf225fe0a508e581a564467443d0e2379123b # v4.3.0 | |
| with: | |
| cache-read-only: false | |
| - name: Download SqlDelight local Maven artifacts | |
| uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 | |
| with: | |
| name: sqldelight-m2-${{ env.SQLDELIGHT_AGP9_FIX_SHA }} | |
| path: ~/.m2/repository/app/cash | |
| - name: Run unit tests | |
| run: ./gradlew :app:testDebugUnitTest --build-cache |