name: bld-ci on: [ push, pull_request, workflow_dispatch ] env: COVERAGE_JDK: "21" COVERAGE_KOTLIN: "2.1.20" jobs: build-bld-project: strategy: matrix: java-version: [ 17, 21, 24 ] kotlin-version: [ 1.9.25, 2.0.21, 2.1.20 ] os: [ ubuntu-latest, windows-latest, macos-latest ] runs-on: ${{ matrix.os }} steps: - name: Checkout source repository uses: actions/checkout@v4 with: fetch-depth: 0 - name: Set up JDK ${{ matrix.java-version }} with Kotlin ${{ matrix.kotlin-version }} uses: actions/setup-java@v4 with: distribution: "zulu" java-version: ${{ matrix.java-version }} - name: Download dependencies [bld example] working-directory: examples/bld run: ./bld download - name: Compile and run [bld examples] working-directory: examples/bld run: | ./bld compile run ./bld run-java - name: Run example [gradle examples] working-directory: examples/gradle if: matrix.java-version != '24' run: | ./gradlew run ./gradlew runJava - name: Download dependencies run: ./bld download - name: Compile source run: ./bld compile - name: Run tests run: ./bld jacoco - name: Remove pom.xml if: success() && matrix.java-version == env.COVERAGE_JDK && matrix.kotlin-version == env.COVERAGE_KOTLIN && matrix.os == 'unbuntu-latest' run: rm -rf pom.xml - name: SonarCloud Scan uses: sonarsource/sonarcloud-github-action@master if: success() && matrix.java-version == env.COVERAGE_JDK && matrix.kotlin-version == env.COVERAGE_KOTLIN && matrix.os == 'unbuntu-latest' env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}