Add OS matrix for Ubuntu, Windows and macOS

This commit is contained in:
Erik C. Thauvin 2025-03-26 13:37:14 -07:00
parent fc785581ba
commit ed7a6ff9da
Signed by: erik
GPG key ID: 776702A6A2DA330E

View file

@ -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 }}