Skip to content

Merge branch 'master' of https://github.com/gbenroscience/ParserNG #253

Merge branch 'master' of https://github.com/gbenroscience/ParserNG

Merge branch 'master' of https://github.com/gbenroscience/ParserNG #253

Workflow file for this run

name: Java CI
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
workflow_dispatch:
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
java-version: [ 8, 11, 17, 21, 25 ]
fail-fast: false
name: ${{ matrix.os }} - Java ${{ matrix.java-version }} - Maven
steps:
- name: Checkout ParserNG repo
uses: actions/checkout@v4
- name: Set up JDK ${{ matrix.java-version }}
uses: actions/setup-java@v5
with:
java-version: ${{ matrix.java-version }}
distribution: 'temurin'
cache: maven
- name: Build ParserNG with Maven
shell: bash
run: |
echo "Building with Java ${{ matrix.java-version }}"
if [ "${{ matrix.java-version }}" -eq 25 ]; then
echo "Java 25 detected → Building all modules, but skipping parser-ng-gpu-simd tests"
# 1. Build and install all modules into local .m2 without running tests
mvn -B --update-snapshots clean install -Dgpg.skip -DskipTests
# 2. Run tests for all modules EXCEPT parser-ng-gpu-simd
mvn -B test -pl "!parser-ng-gpu-simd"
elif [ "${{ matrix.java-version }}" -ge 22 ]; then
echo "Java 22-24 detected → Building core + CPU SIMD + GPU SIMD, but skipping parser-ng-gpu-simd tests"
# 1. Build without tests (excluding bench)
mvn -B --update-snapshots clean install -Dgpg.skip -pl "!parser-ng-bench" -DskipTests
# 2. Run tests excluding both bench AND gpu-simd
mvn -B test -pl "!parser-ng-bench,!parser-ng-gpu-simd"
elif [ "${{ matrix.java-version }}" -eq 21 ]; then
echo "Java 21 detected → Building core + CPU SIMD (excluding parser-ng-bench and parser-ng-gpu-simd)"
mvn -B --update-snapshots clean install -Dgpg.skip -pl "!parser-ng-bench,!parser-ng-gpu-simd"
else
echo "Legacy Java (< 21) detected → Building core engine only (excluding SIMD, GPU, and bench)"
mvn -B --update-snapshots clean install -Dgpg.skip -pl "!parser-ng-simd,!parser-ng-bench,!parser-ng-gpu-simd"
fi