74 lines
2.1 KiB
YAML
74 lines
2.1 KiB
YAML
name: bld-ci
|
|
|
|
on: [ push, pull_request, workflow_dispatch ]
|
|
|
|
env:
|
|
COVERAGE_JDK: "21"
|
|
COVERAGE_KOTLIN: "2.1.20"
|
|
PINBOARD_API_TOKEN: ${{ secrets.PINBOARD_API_TOKEN }}
|
|
|
|
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 java example]
|
|
working-directory: examples/gradle/java
|
|
if: matrix.java-version != '24'
|
|
run: |
|
|
./gradlew run
|
|
|
|
- name: Run example [gradle kotlin example]
|
|
working-directory: examples/gradle/kotlin
|
|
if: matrix.java-version != '24'
|
|
run: |
|
|
./gradlew run
|
|
|
|
- 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 }}
|