58 lines
1.7 KiB
YAML
58 lines
1.7 KiB
YAML
name: bld-ci
|
|
|
|
on: [push, pull_request, workflow_dispatch]
|
|
|
|
env:
|
|
ALPHAVANTAGE_API_KEY: ${{ secrets.ALPHAVANTAGE_API_KEY }}
|
|
CHATGPT_API_KEY: ${{ secrets.CHATGPT_API_KEY }}
|
|
CI_NAME: "GitHub CI"
|
|
COVERAGE_JDK: "21"
|
|
COVERAGE_KOTLIN: "2.1.0"
|
|
EXCHANGERATE_API_KEY: ${{ secrets.EXCHANGERATE_API_KEY }}
|
|
KOTLIN_HOME: /usr/share/kotlinc
|
|
MASTODON_ACCESS_TOKEN: ${{ secrets.MASTODON_ACCESS_TOKEN }}
|
|
MASTODON_HANDLE: ${{ secrets.MASTODON_HANDLE }}
|
|
MASTODON_INSTANCE: ${{ secrets.MASTODON_INSTANCE }}
|
|
OWM_API_KEY: ${{ secrets.OWM_API_KEY }}
|
|
PINBOARD_API_TOKEN: ${{ secrets.PINBOARD_API_TOKEN }}
|
|
|
|
jobs:
|
|
build-bld-project:
|
|
runs-on: ubuntu-latest
|
|
|
|
strategy:
|
|
matrix:
|
|
java-version: [17, 21, 24]
|
|
kotlin-version: [1.9.25, 2.0.20, 2.1.20]
|
|
|
|
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
|
|
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
|
|
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
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
|