name: bld-ci on: [push, pull_request, workflow_dispatch] jobs: build-bld-project: env: COVERAGE_JDK: "17" strategy: matrix: java-version: [17, 21, 24] 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 }} uses: actions/setup-java@v4 with: distribution: "zulu" java-version: ${{ matrix.java-version }} - name: Download dependencies [bld example] working-directory: examples/java/bld run: ./bld download - name: Compile and run [bld example] working-directory: examples/java/bld run: | ./bld compile ./bld run ./bld run-example - name: Run example [gradle java examples] working-directory: examples/java/gradle if: matrix.java-version != '24' run: | ./gradlew run ./gradlew runExample - name: Run example [gradle kotlin examples] working-directory: examples/kotlin if: matrix.java-version != '24' run: | ./gradlew run ./gradlew runExample - 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.os == 'ubuntu-latest' run: rm -rf pom.xml - name: SonarCloud Scan uses: sonarsource/sonarcloud-github-action@master if: success() && matrix.java-version == env.COVERAGE_JDK && matrix.os == 'ubuntu-latest' env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - name: Upload coverage reports to Codecov uses: codecov/codecov-action@v3 if: success() && matrix.java-version == env.COVERAGE_JDK && matrix.os == 'ubuntu-latest' env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}