Update dependency androidx.test:runner to v1.7.0 (#36) #130
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: | |
- 'main' | |
tags: | |
- '**' | |
env: | |
GRADLE_OPTS: "-Dorg.gradle.jvmargs=-Xmx4g -Dorg.gradle.daemon=false -Dkotlin.incremental=false" | |
jobs: | |
static-checks: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # ratchet:actions/checkout@v4 | |
with: | |
submodules: true | |
- uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # ratchet:actions/setup-java@v4 | |
with: | |
distribution: 'zulu' | |
java-version-file: .github/workflows/.java-version | |
- name: Static checks | |
run: ./gradlew apiCheck spotlessCheck | |
jvm-test-binaries: | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # ratchet:actions/checkout@v4 | |
with: | |
submodules: true | |
- uses: mlugg/setup-zig@8d6198c65fb0feaa111df26e6b467fea8345e46f # v2 | |
with: | |
version: 0.14.0 | |
- run: zig build -p src/jvmMain/resources/jni | |
working-directory: zstd-kmp | |
- run: ./gradlew :zstd-kmp:installJvmTestDistribution | |
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # ratchet:actions/upload-artifact@v4 | |
with: | |
name: jni-binaries | |
path: zstd-kmp/src/jvmMain/resources/jni | |
if-no-files-found: error | |
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # ratchet:actions/upload-artifact@v4 | |
with: | |
name: zstd-kmp-jvm-tests | |
path: zstd-kmp/build/install/jvmTest | |
if-no-files-found: error | |
native-test-binaries: | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # ratchet:actions/checkout@v4 | |
with: | |
submodules: true | |
- run: ./gradlew :zstd-kmp:linkNativeDebugTests | |
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # ratchet:actions/upload-artifact@v4 | |
with: | |
name: zstd-kmp-native-tests | |
path: zstd-kmp/build/bin | |
if-no-files-found: error | |
platform-test: | |
needs: | |
- jvm-test-binaries | |
- native-test-binaries | |
strategy: | |
fail-fast: false | |
matrix: | |
platform: | |
- os: macOS-13 | |
native-target: macosX64 | |
- os: macOS-15 | |
native-target: macosArm64 | |
- os: ubuntu-24.04 | |
native-target: linuxX64 | |
- os: ubuntu-24.04-arm | |
native-target: linuxArm64 | |
- os: windows-2025 | |
native-target: mingwX64 | |
- os: windows-11-arm | |
native-target: skip | |
runs-on: ${{ matrix.platform.os }} | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # ratchet:actions/checkout@v4 | |
with: | |
sparse-checkout: .github/workflows/.java-version | |
sparse-checkout-cone-mode: false | |
- uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # ratchet:actions/setup-java@v4 | |
with: | |
distribution: 'zulu' | |
java-version-file: .github/workflows/.java-version | |
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # ratchet:actions/download-artifact@v4 | |
with: | |
name: zstd-kmp-jvm-tests | |
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # ratchet:actions/download-artifact@v4 | |
if: matrix.platform.native-target != 'skip' | |
with: | |
name: zstd-kmp-native-tests | |
- name: Run JVM tests | |
run: | | |
chmod +x bin/zstd-kmp-test | |
bin/zstd-kmp-test | |
- name: Run native tests | |
if: matrix.platform.native-target != 'skip' | |
shell: bash | |
run: | | |
chmod +x ${{ matrix.platform.native-target }}/debugTest/test.* | |
${{ matrix.platform.native-target }}/debugTest/test.* | |
android-test: | |
runs-on: ubuntu-latest | |
needs: | |
- jvm-test-binaries | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # ratchet:actions/checkout@v4 | |
with: | |
submodules: true | |
- uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # ratchet:actions/setup-java@v4 | |
with: | |
distribution: 'zulu' | |
java-version-file: .github/workflows/.java-version | |
- name: Enable KVM (for Android test) | |
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: Android test | |
uses: reactivecircus/android-emulator-runner@1dcd0090116d15e7c562f8db72807de5e036a4ed # ratchet:reactivecircus/android-emulator-runner@v2 | |
with: | |
api-level: 29 | |
emulator-boot-timeout: 20000 | |
script: ./gradlew assembleAndroidTest connectedCheck | |
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # ratchet:actions/upload-artifact@v4 | |
if: ${{ always() }} | |
with: | |
name: test-report-${{ matrix.os }} | |
path: '**/build/reports/tests/**' | |
retention-days: 1 | |
final-status: | |
if: ${{ !cancelled() }} | |
runs-on: ubuntu-latest | |
needs: | |
- platform-test | |
- android-test | |
- static-checks | |
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: | |
needs: | |
- final-status | |
runs-on: ubuntu-latest | |
if: ${{startsWith(github.ref, 'refs/tags/') && github.repository == 'square/zstd-kmp' }} | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # ratchet:actions/checkout@v4 | |
with: | |
submodules: true | |
- uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # ratchet:actions/setup-java@v4 | |
with: | |
distribution: 'zulu' | |
java-version-file: .github/workflows/.java-version | |
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # ratchet:actions/download-artifact@v4 | |
with: | |
name: jni-binaries | |
path: zstd-kmp/src/jvmMain/resources/jni | |
- run: ./gradlew publishToMavenCentral | |
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 }} |