Skip to content

ci: coverage + permissions + merge-queue trigger + setup-gradle v6 (#13) #24

ci: coverage + permissions + merge-queue trigger + setup-gradle v6 (#13)

ci: coverage + permissions + merge-queue trigger + setup-gradle v6 (#13) #24

Workflow file for this run

name: CI
on:
push:
branches: [main, master]
pull_request:
branches: [main, master]
merge_group:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
build:
name: Build, test & API check (all KMP targets)
# macOS is required to compile the Apple/native klibs (iOS, macOS, tvOS) — the
# whole value of kzstd is its multiplatform reach, so CI compiles every target,
# not just the JVM one.
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v7
- name: Setup JDK 21
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 21
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v6
# `build` compiles all 13 targets, runs the common/jvm/js/wasm/macOS/iOS-sim
# tests, and runs `apiCheck` (binary-compatibility-validator). Linux/Windows
# native test binaries are cross-compiled but not executed on a macOS host.
- name: Build, test & API check
run: ./gradlew build --stacktrace
- name: Coverage report (Kover XML)
run: ./gradlew koverXmlReport
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v7
with:
files: build/reports/kover/report.xml
fail_ci_if_error: false
token: ${{ secrets.CODECOV_TOKEN }}