From ed7a6ff9da2596accb3238b5969e7c586d4394f7 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Wed, 26 Mar 2025 13:37:14 -0700 Subject: [PATCH] Add OS matrix for Ubuntu, Windows and macOS --- .github/workflows/bld.yml | 35 ++++++++++++++++++++++++++++++----- 1 file changed, 30 insertions(+), 5 deletions(-) diff --git a/.github/workflows/bld.yml b/.github/workflows/bld.yml index d4d743a..90e4234 100644 --- a/.github/workflows/bld.yml +++ b/.github/workflows/bld.yml @@ -4,14 +4,15 @@ on: [push, pull_request, workflow_dispatch] jobs: build-bld-project: - runs-on: ubuntu-latest - 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 @@ -25,6 +26,30 @@ jobs: 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 run + ./bld run-java + + - name: Run example [gradle java examples] + working-directory: examples/java/gradle + if: matrix.java-version != '24' + run: | + ./gradlew run + ./gradlew runJava + + - name: Run example [gradle kotlin examples] + working-directory: examples/kotlin + if: matrix.java-version != '24' + run: | + ./gradlew run + ./gradlew runJava + - name: Download dependencies run: ./bld download @@ -35,18 +60,18 @@ jobs: run: ./bld jacoco - name: Remove pom.xml - if: success() && matrix.java-version == env.COVERAGE_JDK + 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 + 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 + if: success() && matrix.java-version == env.COVERAGE_JDK && matrix.os == 'ubuntu-latest' env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}