Add OS matrix for Ubuntu, Windows and macOS #20
This file contains hidden or 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: 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 | |
| ./bld run --args="example.html" | |
| ./bld run-java --args="example.html" | |
| - name: Run example [gradle examples] | |
| working-directory: examples/gradle | |
| if: matrix.java-version != '24' | |
| run: | | |
| ./gradlew run --args="example.html" | |
| ./gradlew run --args="example.html" | |
| - 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 == '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.kotlin-version == env.COVERAGE_KOTLIN | |
| && matrix.os == 'ubuntu-latest' | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} |