Hooks update #170
Workflow file for this run
This file contains 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: Kotlin SDK Test | |
on: | |
pull_request: | |
branches: [ main ] | |
paths-ignore: | |
- '**.md' | |
workflow_dispatch: | |
jobs: | |
test: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ macos-latest, ubuntu-latest, windows-latest ] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK | |
uses: actions/setup-java@v4 | |
with: | |
java-version: 17 | |
distribution: zulu | |
- name: Cache Konan | |
uses: ./.github/actions/cache-konan | |
- name: Cache Gradle | |
uses: ./.github/actions/cache-gradle | |
- name: Run all tests | |
run: ./gradlew allTests --stacktrace | |
shell: bash | |
- name: Archive results | |
if: failure() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: test-results | |
path: build/reports/tests | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK | |
uses: actions/setup-java@v4 | |
with: | |
java-version: 17 | |
distribution: zulu | |
- name: Cache Konan | |
uses: ./.github/actions/cache-konan | |
- name: Cache Gradle | |
uses: ./.github/actions/cache-gradle | |
- name: Run format check | |
run: ./gradlew ktlintCheck --stacktrace | |
shell: bash | |
analysis: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK | |
uses: actions/setup-java@v4 | |
with: | |
java-version: 17 | |
distribution: zulu | |
- name: Cache Konan | |
uses: ./.github/actions/cache-konan | |
- name: Cache Gradle | |
uses: ./.github/actions/cache-gradle | |
- name: Run code analysis | |
run: ./gradlew detekt --stacktrace | |
shell: bash | |
- name: Upload SARIF file | |
uses: github/codeql-action/upload-sarif@v3 | |
with: | |
sarif_file: build/reports/detekt/detekt.sarif | |
- name: Upload analysis report | |
uses: actions/upload-artifact@v4 | |
with: | |
name: analysis-report | |
path: build/reports/detekt | |
coverage: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK | |
uses: actions/setup-java@v4 | |
with: | |
java-version: 17 | |
distribution: zulu | |
- name: Cache Konan | |
uses: ./.github/actions/cache-konan | |
- name: Cache Gradle | |
uses: ./.github/actions/cache-gradle | |
- name: Calculate coverage | |
run: ./gradlew koverXmlReport --stacktrace | |
shell: bash | |
- name: Upload coverage report | |
uses: actions/upload-artifact@v4 | |
with: | |
name: coverage-report | |
path: build/reports/kover | |
upload-reports: | |
needs: [ test, analysis, coverage, lint ] | |
runs-on: ubuntu-latest | |
env: | |
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
BUILD_NUMBER: ${{ github.run_number }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Set up JDK | |
uses: actions/setup-java@v4 | |
with: | |
java-version: 17 | |
distribution: zulu | |
- name: SonarCloud cache | |
uses: actions/cache@v4 | |
with: | |
path: ~/.sonar/cache | |
key: ${{ runner.os }}-sonar | |
restore-keys: ${{ runner.os }}-sonar | |
- name: Cache Konan | |
uses: ./.github/actions/cache-konan | |
- name: Cache Gradle | |
uses: ./.github/actions/cache-gradle | |
- name: Download coverage report | |
uses: actions/download-artifact@v4 | |
with: | |
name: coverage-report | |
path: build/reports/kover | |
- name: Download analysis report | |
uses: actions/download-artifact@v4 | |
with: | |
name: analysis-report | |
path: build/reports/detekt | |
- name: Upload reports to SonarCloud | |
run: ./gradlew sonarqube --stacktrace | |
shell: bash |