mirror of
https://github.com/openhab/openhab-addons.git
synced 2025-01-11 07:32:11 +01:00
0a2a85b448
* Upgrade actions to latest versions * Upgrade Maven to 3.8.6 * Use Temurin JDK instead of Zulu JDK The Temurin JDK is preinstalled in the [Ubuntu image](https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu2004-Readme.md#java) whereas the Zulu JDK first need to be downloaded. It should also perform better because the Temurin JDK is linked to glibc 2.12 whereas the Zulu JDK is linked to glibc 2.5. Signed-off-by: Wouter Born <github@maindrain.net>
103 lines
3.0 KiB
YAML
103 lines
3.0 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- 'main'
|
|
paths-ignore:
|
|
- '.github/**/*.md'
|
|
pull_request:
|
|
branches:
|
|
- 'main'
|
|
paths-ignore:
|
|
- '.github/**/*.md'
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
build:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
java: [ '11', '17' ]
|
|
maven: [ '3.8.6' ]
|
|
os: [ 'ubuntu-20.04' ]
|
|
name: Build (Java ${{ matrix.java }}, ${{ matrix.os }})
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- name: Checkout
|
|
if: github.head_ref == ''
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Checkout merge
|
|
if: github.head_ref != ''
|
|
uses: actions/checkout@v3
|
|
with:
|
|
ref: refs/pull/${{github.event.pull_request.number}}/merge
|
|
|
|
- name: Set up Cache
|
|
uses: actions/cache@v3
|
|
with:
|
|
path: |
|
|
~/.m2/repository
|
|
!~/.m2/repository/org/openhab
|
|
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-maven-
|
|
|
|
- name: Set up Java ${{ matrix.java }}
|
|
uses: actions/setup-java@v3
|
|
with:
|
|
distribution: 'temurin'
|
|
java-version: ${{ matrix.java }}
|
|
|
|
- name: Set up Maven ${{ matrix.maven }}
|
|
uses: stCarolas/setup-maven@v4.4
|
|
with:
|
|
maven-version: ${{ matrix.maven }}
|
|
|
|
- name: Register Problem Matchers
|
|
if: ${{ matrix.java == '11' }}
|
|
id: problem_matchers
|
|
run: |
|
|
echo "::add-matcher::.github/openhab-compile-problems.json"
|
|
|
|
- name: Get Changed Files
|
|
if: github.head_ref != ''
|
|
id: files
|
|
uses: Ana06/get-changed-files@v2.0.0
|
|
with:
|
|
format: 'csv'
|
|
|
|
- name: Build
|
|
id: build
|
|
run: './.github/scripts/maven-build'
|
|
env:
|
|
CHANGED_FILES: ${{ steps.files.outputs.all }}
|
|
MAVEN_OPTS: >-
|
|
-Xmx2g
|
|
-Dmaven.wagon.http.retryHandler.count=5
|
|
-Dmaven.wagon.httpconnectionManager.ttlSeconds=25
|
|
-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
|
|
|
|
- name: Upload Build Log
|
|
if: ${{ always() && ((steps.build.outcome == 'success') || (steps.build.outcome == 'failure')) }}
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: build-log-java-${{ matrix.java }}-${{ matrix.os }}
|
|
path: build.log
|
|
|
|
- name: Upload SAT Summary Report
|
|
if: ${{ always() && ((steps.build.outcome == 'success') || (steps.build.outcome == 'failure')) }}
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: sat-summary-report
|
|
path: target/summary_report.html
|
|
|
|
- name: Report SAT Errors as Annotations
|
|
if: ${{ matrix.java == '11' && always() && ((steps.build.outcome == 'success') || (steps.build.outcome == 'failure')) }}
|
|
uses: ghys/checkstyle-github-action@main
|
|
with:
|
|
title: CheckStyle Violations
|
|
path: '**/checkstyle-result.xml'
|
|
mode: inline
|