Skip to content

Fixes #728 - variable replacement for program and vm args, using envi… #681

Fixes #728 - variable replacement for program and vm args, using envi…

Fixes #728 - variable replacement for program and vm args, using envi… #681

Workflow file for this run

name: RSP CI
on:
schedule:
- cron: '0 6 * * *'
push:
branches: [master]
pull_request:
branches: [master]
workflow_dispatch:
jobs:
test:
runs-on: ${{ matrix.os }} # runs a test on Ubuntu, Windows and macOS
strategy:
matrix:
os: [ubuntu-latest]
java: ["11"]
fail-fast: false
steps:
- uses: actions/checkout@v2
- name: Setup Java 17 for quickstarts
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
- name: Setup Java ${{ matrix.java }}
uses: actions/setup-java@v4
with:
java-version: ${{ matrix.java }}
distribution: 'temurin'
- name: Build & Verify using Maven
run: mvn clean verify -Pintegration-tests -Dinvoker.javaHome=$JAVA_HOME_17_X64 -Dserver.vm.install.path=$JAVA_HOME_17_X64 -U -fae -e -B
- name: Generate JaCoCo coverage report
if: always()
run: |
JACOCO_JAR=$(find ~/.m2/repository/org/jacoco/org.jacoco.cli -name "org.jacoco.cli-*-nodeps.jar" | sort -V | tail -1)
if [ -z "$JACOCO_JAR" ]; then
mvn dependency:copy -Dartifact=org.jacoco:org.jacoco.cli:${JACOCO_VERSION:-0.8.4}:jar:nodeps -DoutputDirectory=/tmp
JACOCO_JAR=$(ls /tmp/org.jacoco.cli-*-nodeps.jar)
fi
find . -name "jacoco.exec" -path "*/target/*" | head -20
EXEC_FILES=$(find . -name "jacoco.exec" -path "*/target/*")
if [ -n "$EXEC_FILES" ]; then
java -jar "$JACOCO_JAR" merge $EXEC_FILES --destfile /tmp/merged-jacoco.exec
CLASS_DIRS=$(find . -path "*/target/classes" -not -path "*/test*" | sed 's/^/--classfiles /' | tr '\n' ' ')
SRC_DIRS=$(find . -path "*/src/main/java" | sed 's/^/--sourcefiles /' | tr '\n' ' ')
mkdir -p /tmp/jacoco-report
java -jar "$JACOCO_JAR" report /tmp/merged-jacoco.exec $CLASS_DIRS $SRC_DIRS --html /tmp/jacoco-report --csv /tmp/jacoco-report/jacoco.csv --xml /tmp/jacoco-report/jacoco.xml
echo "Coverage report generated"
else
echo "No jacoco.exec files found"
fi
- name: Upload JaCoCo coverage report
if: always()
uses: actions/upload-artifact@v4
with:
name: jacoco-report
path: /tmp/jacoco-report/
retention-days: 14
- name: Run SpotBugs analysis
if: always()
run: |
mvn spotbugs:spotbugs -fn -B 2>&1 | tail -5
mkdir -p /tmp/spotbugs-report
find . -path "*/target/spotbugsXml.xml" | while read f; do
module=$(echo "$f" | sed 's|./||;s|/target/spotbugsXml.xml||;s|/|_|g')
cp "$f" "/tmp/spotbugs-report/${module}.xml"
done
echo "SpotBugs reports collected: $(ls /tmp/spotbugs-report/*.xml 2>/dev/null | wc -l) modules"
- name: Upload SpotBugs report
if: always()
uses: actions/upload-artifact@v4
with:
name: spotbugs-report
path: /tmp/spotbugs-report/
retention-days: 14