GitHub Actions workflow improvements (#1434)

* 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.

Also adds missing wildcards to the .gitattributes file.

Signed-off-by: Wouter Born <github@maindrain.net>
pull/1444/head
Wouter Born 2022-07-03 15:55:17 +02:00 committed by GitHub
parent 74666a102b
commit 2e46427c75
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 17 additions and 17 deletions

4
.gitattributes vendored
View File

@ -1,2 +1,2 @@
.java text=auto *.java text=auto
.xml text=auto *.xml text=auto

View File

@ -19,23 +19,23 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
java: [ '11', '17' ] java: [ '11', '17' ]
maven: [ '3.8.4'] maven: [ '3.8.6' ]
os: [ 'ubuntu-20.04' ] os: [ 'ubuntu-20.04' ]
name: Build (Java ${{ matrix.java }}, ${{ matrix.os }}) name: Build (Java ${{ matrix.java }}, ${{ matrix.os }})
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Checkout - name: Checkout
if: github.head_ref == '' if: github.head_ref == ''
uses: actions/checkout@v2 uses: actions/checkout@v3
- name: Checkout merge - name: Checkout merge
if: github.head_ref != '' if: github.head_ref != ''
uses: actions/checkout@v2 uses: actions/checkout@v3
with: with:
ref: refs/pull/${{github.event.pull_request.number}}/merge ref: refs/pull/${{github.event.pull_request.number}}/merge
- name: Set up Cache - name: Set up Cache
uses: actions/cache@v2 uses: actions/cache@v3
with: with:
path: | path: |
~/.m2/repository ~/.m2/repository
@ -47,11 +47,11 @@ jobs:
- name: Set up Java ${{ matrix.java }} - name: Set up Java ${{ matrix.java }}
uses: actions/setup-java@v2 uses: actions/setup-java@v2
with: with:
distribution: 'zulu' distribution: 'temurin'
java-version: ${{ matrix.java }} java-version: ${{ matrix.java }}
- name: Set up Maven ${{ matrix.maven }} - name: Set up Maven ${{ matrix.maven }}
uses: stCarolas/setup-maven@v4.2 uses: stCarolas/setup-maven@v4.4
with: with:
maven-version: ${{ matrix.maven }} maven-version: ${{ matrix.maven }}
@ -73,14 +73,14 @@ jobs:
- name: Upload Build Log - name: Upload Build Log
if: ${{ always() && ((steps.build.outcome == 'success') || (steps.build.outcome == 'failure')) }} if: ${{ always() && ((steps.build.outcome == 'success') || (steps.build.outcome == 'failure')) }}
uses: actions/upload-artifact@v2 uses: actions/upload-artifact@v3
with: with:
name: build-log-java-${{ matrix.java }}-${{ matrix.os }} name: build-log-java-${{ matrix.java }}-${{ matrix.os }}
path: build.log path: build.log
- name: Upload SAT Summary Report - name: Upload SAT Summary Report
if: ${{ always() && ((steps.build.outcome == 'success') || (steps.build.outcome == 'failure')) }} if: ${{ always() && ((steps.build.outcome == 'success') || (steps.build.outcome == 'failure')) }}
uses: actions/upload-artifact@v2 uses: actions/upload-artifact@v3
with: with:
name: sat-summary-report name: sat-summary-report
path: target/summary_report.html path: target/summary_report.html

View File

@ -18,14 +18,14 @@ jobs:
# Steps represent a sequence of tasks that will be executed as part of the job # Steps represent a sequence of tasks that will be executed as part of the job
steps: steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- uses: actions/setup-node@v2 - uses: actions/setup-node@v3
with: with:
node-version: '12.x' node-version: '12.x'
- name: Cache node modules - name: Cache node modules
id: cache id: cache
uses: actions/cache@v1 uses: actions/cache@v3
with: with:
path: node_modules # npm cache files are stored in `~/.npm` on Linux/macOS path: node_modules # npm cache files are stored in `~/.npm` on Linux/macOS
key: ${{ runner.os }}-node_modules-${{ hashFiles('**/package-lock.json') }} key: ${{ runner.os }}-node_modules-${{ hashFiles('**/package-lock.json') }}
@ -47,14 +47,14 @@ jobs:
# Steps represent a sequence of tasks that will be executed as part of the job # Steps represent a sequence of tasks that will be executed as part of the job
steps: steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- uses: actions/setup-node@v2 - uses: actions/setup-node@v3
with: with:
node-version: '12.x' node-version: '12.x'
- name: Cache node modules - name: Cache node modules
id: cache id: cache
uses: actions/cache@v1 uses: actions/cache@v3
with: with:
path: node_modules # npm cache files are stored in `~/.npm` on Linux/macOS path: node_modules # npm cache files are stored in `~/.npm` on Linux/macOS
key: ${{ runner.os }}-node_modules-${{ hashFiles('**/package-lock.json') }} key: ${{ runner.os }}-node_modules-${{ hashFiles('**/package-lock.json') }}
@ -70,7 +70,7 @@ jobs:
- name: Build and generate report - name: Build and generate report
run: npm run webpack-analyzer-report-stats run: npm run webpack-analyzer-report-stats
- uses: actions/upload-artifact@v2 - uses: actions/upload-artifact@v3
with: with:
name: report name: report
path: /home/runner/work/openhab-webui/openhab-webui/bundles/org.openhab.ui/web/report.html path: /home/runner/work/openhab-webui/openhab-webui/bundles/org.openhab.ui/web/report.html