Update dependency org.mock-server:mockserver-client-java-no-dependencies to v7 #7825
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: | |
| push: | |
| branches: | |
| - master | |
| pull_request: | |
| types: [opened, labeled, unlabeled, synchronize] | |
| permissions: | |
| contents: read | |
| env: | |
| GRADLE_OPTS: "-Xmx4g -Dorg.gradle.daemon=false -Dkotlin.incremental=false" | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| publish: | |
| runs-on: ubuntu-latest | |
| if: github.repository == 'square/okhttp' && github.ref == 'refs/heads/master' | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v7 | |
| - name: Configure JDK | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'temurin' | |
| java-version: 21 | |
| - name: Setup Gradle | |
| uses: gradle/actions/setup-gradle@v5 | |
| - name: Upload Artifacts | |
| run: ./gradlew clean publish --stacktrace | |
| 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 }} | |
| validation: | |
| name: "Validation" | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: gradle/actions/wrapper-validation@v5 | |
| - name: Validate Renovate | |
| uses: rinchsan/renovate-config-validator@v0.2.1 | |
| with: | |
| pattern: '.github/renovate.json' | |
| checks: | |
| permissions: | |
| checks: write # for mikepenz/action-junit-report | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v7 | |
| - name: Configure JDK | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'temurin' | |
| java-version: | | |
| 11 | |
| 21 | |
| - uses: graalvm/setup-graalvm@v1 | |
| with: | |
| distribution: 'graalvm' | |
| java-version: 25 | |
| github-token: ${{ secrets.GITHUB_TOKEN }} | |
| native-image-job-reports: true | |
| - name: Setup Gradle | |
| uses: gradle/actions/setup-gradle@v5 | |
| - name: Run Checks | |
| run: ./gradlew check -PgraalBuild=true -x jvmTest -x test -x allTests -x java9Test | |
| jvm: | |
| permissions: | |
| checks: write # for mikepenz/action-junit-report | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| java-version: | |
| - 8 | |
| - 11 | |
| - 17 | |
| - 21 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v7 | |
| - name: Configure JDK | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'temurin' | |
| java-version: | | |
| ${{ matrix.java-version }} | |
| 21 | |
| - name: Setup Gradle | |
| uses: gradle/actions/setup-gradle@v5 | |
| - name: Run Tests | |
| run: ./gradlew test allTests -Ptest.java.version=${{ matrix.java-version }} | |
| - name: Publish Test Report | |
| if: github.repository == 'square/okhttp' && github.ref == 'refs/heads/master' && matrix.java-version == '11' | |
| uses: mikepenz/action-junit-report@v6 | |
| with: | |
| report_paths: '**/build/test-results/*/TEST-*.xml' | |
| check_name: OpenJDK 11 Test Report | |
| - name: Publish Test Results | |
| uses: EnricoMi/publish-unit-test-result-action@v2 | |
| if: github.repository == 'square/okhttp' && github.ref == 'refs/heads/master' && matrix.java-version == '11' | |
| with: | |
| files: | | |
| **/build/test-results/*/TEST-*.xml | |
| openjdk8alpn: | |
| runs-on: ubuntu-latest | |
| if: github.ref == 'refs/heads/master' || contains(github.event.pull_request.labels.*.name, 'jdkversions') | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v7 | |
| - name: Install Old JDK 8 | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'zulu' | |
| java-version: 8.0.242 | |
| - name: Configure JDK | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'temurin' | |
| java-version: 21 | |
| - name: Setup Gradle | |
| uses: gradle/actions/setup-gradle@v5 | |
| - name: Run Tests | |
| run: ./gradlew test allTests -Ptest.java.version=8 -Pokhttp.platform=jdk8alpn -Palpn.boot.version=8.1.13.v20181017 -Dorg.gradle.java.installations.paths=/opt/hostedtoolcache/Java_Adopt_jdk/8.0.242-8.1/x64 | |
| providers: | |
| runs-on: ubuntu-latest | |
| if: github.ref == 'refs/heads/master' || contains(github.event.pull_request.labels.*.name, 'providers') | |
| strategy: | |
| matrix: | |
| include: | |
| - provider: openjsse | |
| java-version: 8 | |
| - provider: bouncycastle | |
| java-version: 21 | |
| - provider: corretto | |
| java-version: 21 | |
| - provider: conscrypt | |
| java-version: 21 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v7 | |
| - name: Configure JDK | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'temurin' | |
| java-version: | | |
| ${{ matrix.java-version }} | |
| 21 | |
| - name: Setup Gradle | |
| uses: gradle/actions/setup-gradle@v5 | |
| - name: Run Tests | |
| run: ./gradlew test allTests -Pokhttp.platform=${{ matrix.provider }} -Ptest.java.version=${{ matrix.java-version }} | |
| openjdklatest: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v7 | |
| - name: Configure JDKs | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'temurin' | |
| java-version: | | |
| 11 | |
| 17 | |
| 24 | |
| - name: Allow incompatible JVM versions | |
| run: | | |
| echo 'kotlin.jvm.target.validation.mode=ignore' >> ./gradle.properties | |
| - name: Setup Gradle | |
| uses: gradle/actions/setup-gradle@v5 | |
| - name: Run Tests | |
| run: ./gradlew test allTests -Ptest.java.version=24 | |
| openjdkearlyaccess: | |
| runs-on: ubuntu-latest | |
| if: false # https://youtrack.jetbrains.com/issue/KTOR-8489 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v7 | |
| - name: Configure JDK | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'temurin' | |
| java-version: | | |
| 11 | |
| 17 | |
| 25-ea | |
| - name: Allow incompatible JVM versions | |
| run: | | |
| echo 'kotlin.jvm.target.validation.mode=ignore' >> ./gradle.properties | |
| - name: Setup Gradle | |
| uses: gradle/actions/setup-gradle@v5 | |
| - name: Run Tests | |
| run: ./gradlew test allTests -Ptest.java.version=25 | |
| testwindows: | |
| runs-on: windows-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v7 | |
| - name: Configure JDK | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'temurin' | |
| java-version: 21 | |
| - name: Setup Gradle | |
| uses: gradle/actions/setup-gradle@v5 | |
| - name: Run Tests | |
| run: ./gradlew test allTests | |
| graal: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v7 | |
| - name: Configure JDK | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'temurin' | |
| java-version: 21 | |
| - uses: graalvm/setup-graalvm@v1 | |
| with: | |
| distribution: 'graalvm' | |
| java-version: 25 | |
| github-token: ${{ secrets.GITHUB_TOKEN }} | |
| native-image-job-reports: true | |
| - name: Setup Gradle | |
| uses: gradle/actions/setup-gradle@v5 | |
| - name: Build okcurl | |
| run: ./gradlew okcurl:nativeBuild | |
| - name: Setup Gradle | |
| uses: gradle/actions/setup-gradle@v5 | |
| - name: Run native-image tests | |
| run: ./gradlew -PgraalBuild=true native-image-tests:nativeTest | |
| android: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| # The pre-release API 37 emulator image is still maturing, so let the entry marked | |
| # experimental fail without blocking the build until the image is stable on CI. | |
| continue-on-error: ${{ matrix.experimental || false }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - api-level: 21 | |
| arch: x86 | |
| target: default | |
| - api-level: 23 | |
| arch: x86 | |
| target: default | |
| - api-level: 29 | |
| arch: x86 | |
| target: default | |
| - api-level: 34 | |
| arch: x86_64 | |
| target: default | |
| # API 37 only ships 16 KB page-size images; playstore_ps16k resolves to | |
| # google_apis_playstore_ps16k. Quoted so YAML keeps the ".0". | |
| - api-level: "37.0" | |
| arch: x86_64 | |
| target: playstore_ps16k | |
| # API 37 needs more headroom than the other levels. | |
| memory: 4096 | |
| gpu: -gpu auto | |
| # Pre-release emulator image; allowed to fail (see continue-on-error above). | |
| experimental: true | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v7 | |
| - name: Configure JDK | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'temurin' | |
| java-version: 21 | |
| - name: Enable KVM group perms | |
| # https://github.blog/changelog/2023-02-23-hardware-accelerated-android-virtualization-on-actions-windows-and-linux-larger-hosted-runners/ | |
| 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 | |
| - name: Verify KVM | |
| run: | | |
| sudo apt-get install -y cpu-checker | |
| kvm-ok || echo "KVM is not accelerated" | |
| kvm-ok || exit 1 | |
| - name: Setup Gradle | |
| uses: gradle/actions/setup-gradle@v5 | |
| - name: Warm the Gradle cache | |
| # Build the instrumentation APK to warm the cache, but don't run the Robolectric unit | |
| # tests (`:android-test:test`) here: they fetch the android-all artifact and can take | |
| # ~30 min. | |
| run: ./gradlew :android-test:assembleDebugAndroidTest | |
| - name: AVD System Image Cache | |
| uses: actions/cache@v6 | |
| id: avd-cache | |
| with: | |
| key: avd-${{ runner.os }}-${{ matrix.api-level }}-${{ matrix.target }}-${{ matrix.arch }} | |
| path: | | |
| ~/.android/avd/* | |
| ~/.android/adb* | |
| # Added the actual system image path | |
| ${{ env.ANDROID_HOME }}/system-images/android-${{ matrix.api-level }} | |
| - name: Create AVD and generate snapshot for caching | |
| if: steps.avd-cache.outputs.cache-hit != 'true' | |
| uses: reactivecircus/android-emulator-runner@v2 | |
| with: | |
| api-level: ${{ matrix.api-level }} | |
| force-avd-creation: false | |
| target: ${{ matrix.target }} | |
| arch: ${{ matrix.arch }} | |
| emulator-boot-timeout: 120 | |
| # No window, no audio, and use dynamic GPU and feature flags for headless environments | |
| emulator-options: > | |
| -no-window | |
| ${{ matrix.gpu || '-gpu swiftshader_indirect' }} | |
| -noaudio | |
| -no-boot-anim | |
| -camera-back none | |
| -memory ${{ matrix.memory || '2048' }} | |
| -feature GLDirectMem,HasSharedSlotsHostMemoryAllocator | |
| disable-animations: true | |
| script: echo "Generated AVD snapshot for caching." | |
| - name: Run Tests | |
| uses: reactivecircus/android-emulator-runner@v2 | |
| with: | |
| api-level: ${{ matrix.api-level }} | |
| target: ${{ matrix.target }} | |
| arch: ${{ matrix.arch }} | |
| emulator-boot-timeout: 120 | |
| # These must match the options used to create the snapshot above: the emulator only | |
| # restores a cached snapshot when the boot options are identical. The action default | |
| # includes -no-snapshot, which would otherwise force a slow cold boot. | |
| emulator-options: > | |
| -no-window | |
| ${{ matrix.gpu || '-gpu swiftshader_indirect' }} | |
| -noaudio | |
| -no-boot-anim | |
| -camera-back none | |
| -memory ${{ matrix.memory || '2048' }} | |
| -feature GLDirectMem,HasSharedSlotsHostMemoryAllocator | |
| script: ./gradlew -PandroidBuild=true connectedCheck | |
| env: | |
| API_LEVEL: ${{ matrix.api-level }} | |
| - name: Build Release App | |
| run: ./gradlew android-test-app:lint android-test-app:assembleRelease | |
| loom: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v7 | |
| - name: Configure JDK | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'temurin' | |
| java-version: | | |
| 21 | |
| 24 | |
| - name: Setup Gradle | |
| uses: gradle/actions/setup-gradle@v5 | |
| - name: Run Tests | |
| run: ./gradlew test allTests -Pokhttp.platform=loom -Ptest.java.version=24 -PcontainerTests=true | |
| maven: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v7 | |
| - name: Configure JDK | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'temurin' | |
| java-version: 21 | |
| - name: Setup Gradle | |
| uses: gradle/actions/setup-gradle@v5 | |
| - name: Publish local snapshot | |
| run: ./gradlew publishToMavenLocal | |
| - name: Run maven test | |
| working-directory: ./maven-tests | |
| run: ./mvnw -q verify | |
| java9_modules: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v7 | |
| - name: Configure JDK | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'temurin' | |
| java-version: 24 | |
| - name: Setup Gradle | |
| uses: gradle/actions/setup-gradle@v5 | |
| - name: Test module-tests | |
| run: ./gradlew module-tests:test -PokhttpModuleTests=true | |
| - name: Run with Jlink | |
| run: ./gradlew module-tests:imageRun -PokhttpModuleTests=true | |