Update Gradle to v9.2.0 (#4544) #2099
  
    
      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: build | |
| on: | |
| pull_request: {} | |
| workflow_dispatch: {} | |
| push: | |
| branches: | |
| - 'trunk' | |
| tags-ignore: | |
| - '**' | |
| env: | |
| GRADLE_OPTS: "-Dorg.gradle.jvmargs=-Xmx4g -Dorg.gradle.daemon=false -Dkotlin.incremental=false -Dorg.gradle.logging.stacktrace=full" | |
| jobs: | |
| jvm: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'zulu' | |
| java-version-file: .github/workflows/.java-version | |
| - uses: gradle/actions/setup-gradle@v5 | |
| - run: ./gradlew build | |
| android: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| api-level: | |
| - 21 | |
| - 24 | |
| - 26 | |
| - 29 | |
| steps: | |
| - name: Enable KVM group perms | |
| run: | | |
| echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules | |
| sudo udevadm control --reload-rules | |
| sudo udevadm trigger --name-match=kvm | |
| ls /dev/kvm | |
| - uses: actions/checkout@v5 | |
| - uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'zulu' | |
| java-version-file: .github/workflows/.java-version | |
| - uses: gradle/actions/setup-gradle@v5 | |
| - name: Run Tests | |
| uses: reactivecircus/android-emulator-runner@v2 | |
| with: | |
| api-level: ${{ matrix.api-level }} | |
| script: ./gradlew connectedCheck | |
| env: | |
| API_LEVEL: ${{ matrix.api-level }} | |
| robovm: | |
| runs-on: macos-15-intel | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'zulu' | |
| java-version-file: .github/workflows/.java-version | |
| - uses: gradle/actions/setup-gradle@v5 | |
| - name: Run Tests | |
| run: ./gradlew retrofit:robovm-test:robovmTest | |
| website: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'zulu' | |
| java-version-file: .github/workflows/.java-version | |
| - uses: gradle/actions/setup-gradle@v5 | |
| - name: Build snapshot website | |
| run: | | |
| ./gradlew copyWebsiteDocs | |
| cd website | |
| npm install && npm run build -- --mode snapshot | |
| - uses: actions/upload-artifact@v5 | |
| with: | |
| name: website | |
| path: website/dist | |
| if-no-files-found: error | |
| final-status: | |
| runs-on: ubuntu-latest | |
| if: ${{ !cancelled() }} | |
| needs: | |
| - jvm | |
| - android | |
| - robovm | |
| - website | |
| steps: | |
| - name: Check | |
| run: | | |
| results=$(tr -d '\n' <<< '${{ toJSON(needs.*.result) }}') | |
| if ! grep -q -v -E '(failure|cancelled)' <<< "$results"; then | |
| echo "One or more required jobs failed" | |
| exit 1 | |
| fi | |
| publish: | |
| runs-on: ubuntu-latest | |
| if: github.repository == 'square/retrofit' && github.ref == 'refs/heads/trunk' | |
| needs: | |
| - final-status | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'zulu' | |
| java-version-file: .github/workflows/.java-version | |
| - uses: gradle/actions/setup-gradle@v5 | |
| - run: ./gradlew publish | |
| env: | |
| ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.SONATYPE_CENTRAL_USERNAME }} | |
| ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.SONATYPE_CENTRAL_PASSWORD }} | |
| ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.GPG_SECRET_KEY }} | |
| ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.GPG_SECRET_PASSPHRASE }} | |
| - uses: actions/download-artifact@v6 | |
| with: | |
| name: website | |
| path: website/dist | |
| - name: Deploy snapshot website | |
| uses: JamesIves/github-pages-deploy-action@releases/v3 | |
| with: | |
| branch: site | |
| folder: website/dist | |
| target_folder: latest | |
| clean: true |