Update ci.yml workflow with template.

This commit is contained in:
Fabio Niephaus 2025-01-21 13:19:45 +01:00
parent ee1b2d994c
commit 51d59d0348
No known key found for this signature in database
GPG Key ID: F21CF5275F31DFD6

View File

@ -1,4 +1,4 @@
name: 'build-test' name: Continuous Integration
on: on:
push: push:
@ -8,19 +8,32 @@ on:
paths-ignore: paths-ignore:
- '**.md' - '**.md'
workflow_dispatch: workflow_dispatch:
permissions: permissions:
contents: read contents: read
jobs: jobs:
build: # make sure build/ci work properly test-typescript:
name: TypeScript Tests
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - name: Checkout
- run: | uses: actions/checkout@v4
npm install - name: Setup Node.js
- run: | uses: actions/setup-node@v4
npm run all with:
test: node-version-file: .node-version
cache: npm
- name: Install Dependencies
run: npm clean-install
- name: Check Format
run: npm run format:check
- name: Lint
run: npm run lint
- name: Test
run: npm run test
test-action:
name: GraalVM name: GraalVM
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
strategy: strategy:
@ -95,8 +108,9 @@ jobs:
java --version java --version
native-image --version native-image --version
if: runner.os == 'Windows' if: runner.os == 'Windows'
test-ce: # make sure the action works on a clean machine without building
needs: test test-action-ce: # make sure the action works on a clean machine without building
needs: test-action
name: CE ${{ matrix.version }} + JDK${{ matrix.java-version }} on ${{ matrix.os }} name: CE ${{ matrix.version }} + JDK${{ matrix.java-version }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
strategy: strategy:
@ -164,8 +178,9 @@ jobs:
native-image --version native-image --version
gu.cmd remove native-image gu.cmd remove native-image
if: runner.os == 'Windows' if: runner.os == 'Windows'
test-ee:
needs: test test-action-ee:
needs: test-action
name: EE ${{ matrix.version }} + JDK${{ matrix.java-version }} on ${{ matrix.os }} name: EE ${{ matrix.version }} + JDK${{ matrix.java-version }} on ${{ matrix.os }}
if: github.event_name != 'pull_request' if: github.event_name != 'pull_request'
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
@ -212,8 +227,9 @@ jobs:
native-image --version native-image --version
gu.cmd remove native-image gu.cmd remove native-image
if: runner.os == 'Windows' if: runner.os == 'Windows'
test-mandrel:
needs: test test-action-mandrel:
needs: test-action
name: ${{ matrix.version }} + JDK${{ matrix.java-version }} on ${{ matrix.os }} name: ${{ matrix.version }} + JDK${{ matrix.java-version }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
strategy: strategy:
@ -256,8 +272,9 @@ jobs:
java --version java --version
native-image --version native-image --version
if: runner.os == 'Windows' if: runner.os == 'Windows'
test-liberica:
needs: test test-action-liberica:
needs: test-action
name: Liberica (${{ matrix.java-version }}, '${{ matrix.java-package }}', ${{ matrix.os }}) name: Liberica (${{ matrix.java-version }}, '${{ matrix.java-package }}', ${{ matrix.os }})
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
strategy: strategy:
@ -298,7 +315,8 @@ jobs:
exit 24 exit 24
} }
if: runner.os == 'Windows' if: runner.os == 'Windows'
test-native-image-windows:
test-action-native-image-windows:
name: native-image on windows-latest name: native-image on windows-latest
runs-on: windows-latest runs-on: windows-latest
permissions: permissions:
@ -320,7 +338,8 @@ jobs:
javac HelloWorld.java javac HelloWorld.java
native-image HelloWorld native-image HelloWorld
./helloworld ./helloworld
test-native-image-windows-msvc:
test-action-native-image-windows-msvc:
name: native-image on windows-2022 name: native-image on windows-2022
runs-on: windows-2022 runs-on: windows-2022
permissions: permissions:
@ -342,7 +361,8 @@ jobs:
javac HelloWorld.java javac HelloWorld.java
native-image HelloWorld native-image HelloWorld
./helloworld ./helloworld
test-native-image-musl:
test-action-native-image-musl:
name: native-image-musl on ubuntu-latest name: native-image-musl on ubuntu-latest
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions: permissions:
@ -365,7 +385,8 @@ jobs:
javac HelloWorld.java javac HelloWorld.java
native-image --static --libc=musl HelloWorld native-image --static --libc=musl HelloWorld
./helloworld ./helloworld
test-extensive:
test-action-extensive:
name: extensive tests on ubuntu-latest name: extensive tests on ubuntu-latest
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions: permissions:
@ -420,7 +441,8 @@ jobs:
# popd > /dev/null # popd > /dev/null
- name: Remove components - name: Remove components
run: gu remove espresso llvm-toolchain nodejs python ruby wasm run: gu remove espresso llvm-toolchain nodejs python ruby wasm
test-sbom:
test-action-sbom:
name: test 'native-image-enable-sbom' option name: test 'native-image-enable-sbom' option
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
permissions: permissions: