From 3582b06cf75edbc391ec2ce7b905a5253751361b Mon Sep 17 00:00:00 2001 From: Alexander Shnaider Date: Thu, 23 Oct 2025 09:20:06 +0200 Subject: [PATCH 1/5] - add smoke run into pr-build-check.yaml - add workflow_dispatch: --- .github/workflows/pr-build-check.yaml | 30 +++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/.github/workflows/pr-build-check.yaml b/.github/workflows/pr-build-check.yaml index ac6ed6de..d2f5e2f1 100644 --- a/.github/workflows/pr-build-check.yaml +++ b/.github/workflows/pr-build-check.yaml @@ -3,6 +3,7 @@ name: PR build check (Compile against Java 25 using Maven) on: pull_request: types: [opened, synchronize, reopened] + workflow_dispatch: permissions: contents: read @@ -29,3 +30,32 @@ jobs: - name: Maven clean install (compile only) run: mvn -B -ntp -DskipTests clean install + + - name: Smoke run demos (fail on runtime exceptions) + if: always() + shell: bash + run: | + set -euo pipefail + mkdir -p tmp + export JAVA_TOOL_OPTIONS="-Djava.io.tmpdir=$(pwd)/tmp" + + java --enable-preview --add-modules=jdk.incubator.vector \ + -jar target/JavaDemos-25.0.jar > run.log 2>&1 || { + echo "Non-zero exit code:" + cat run.log + exit 1 + } + + # Fail if stack trace frames OR 'Exception in thread "main"' appear + if grep -F -q 'Exception in thread "main"'; then + echo "Detected stack trace or 'Exception in thread \"main\"':" + cat run.log + exit 1 + fi + + - name: Upload run.log on failure + if: failure() + uses: actions/upload-artifact@v4 + with: + name: run-log + path: run.log \ No newline at end of file From 8f64b6a32c2b31ff49764e3dd7b070a431afa9b4 Mon Sep 17 00:00:00 2001 From: Alexander Shnaider Date: Thu, 23 Oct 2025 09:32:32 +0200 Subject: [PATCH 2/5] test successful run --- src/main/java/org/javademos/init/Java17.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/javademos/init/Java17.java b/src/main/java/org/javademos/init/Java17.java index 43c61796..05b6f6cc 100644 --- a/src/main/java/org/javademos/init/Java17.java +++ b/src/main/java/org/javademos/init/Java17.java @@ -43,7 +43,7 @@ public static ArrayList getDemos() { // JEP 414 java17DemoPool.add(new VectorAPIDemo()); // JEP 415 - java17DemoPool.add(new ContextSpecificDeserializationFiltersDemo()); + //java17DemoPool.add(new ContextSpecificDeserializationFiltersDemo()); // older demos created with "non-JEP" style java17DemoPool.add(new String12Demo()); From 75e269c6885c9609b634ba47ebe962953bbce9aa Mon Sep 17 00:00:00 2001 From: Alexander Shnaider Date: Thu, 23 Oct 2025 09:35:40 +0200 Subject: [PATCH 3/5] test failed smoke run --- src/main/java/org/javademos/init/Java17.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/javademos/init/Java17.java b/src/main/java/org/javademos/init/Java17.java index 05b6f6cc..fb454173 100644 --- a/src/main/java/org/javademos/init/Java17.java +++ b/src/main/java/org/javademos/init/Java17.java @@ -43,7 +43,8 @@ public static ArrayList getDemos() { // JEP 414 java17DemoPool.add(new VectorAPIDemo()); // JEP 415 - //java17DemoPool.add(new ContextSpecificDeserializationFiltersDemo()); + //now should fail + java17DemoPool.add(new ContextSpecificDeserializationFiltersDemo()); // older demos created with "non-JEP" style java17DemoPool.add(new String12Demo()); From d06f0b68bfa09e5a84cb139cc589c3cd1fb830d4 Mon Sep 17 00:00:00 2001 From: Alexander Shnaider Date: Thu, 23 Oct 2025 10:58:25 +0200 Subject: [PATCH 4/5] provoke new build --- src/main/java/org/javademos/init/Java17.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/javademos/init/Java17.java b/src/main/java/org/javademos/init/Java17.java index fb454173..dfba3adc 100644 --- a/src/main/java/org/javademos/init/Java17.java +++ b/src/main/java/org/javademos/init/Java17.java @@ -44,7 +44,7 @@ public static ArrayList getDemos() { java17DemoPool.add(new VectorAPIDemo()); // JEP 415 //now should fail - java17DemoPool.add(new ContextSpecificDeserializationFiltersDemo()); + java17DemoPool.add(new ContextSpecificDeserializationFiltersDemo());// // older demos created with "non-JEP" style java17DemoPool.add(new String12Demo()); From 2064525d32ec507d082a8610ac40fa10ed1da67e Mon Sep 17 00:00:00 2001 From: Alexander Shnaider Date: Thu, 23 Oct 2025 11:00:37 +0200 Subject: [PATCH 5/5] compile time error --- src/main/java/org/javademos/init/Java17.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/javademos/init/Java17.java b/src/main/java/org/javademos/init/Java17.java index dfba3adc..9475f3f7 100644 --- a/src/main/java/org/javademos/init/Java17.java +++ b/src/main/java/org/javademos/init/Java17.java @@ -44,7 +44,7 @@ public static ArrayList getDemos() { java17DemoPool.add(new VectorAPIDemo()); // JEP 415 //now should fail - java17DemoPool.add(new ContextSpecificDeserializationFiltersDemo());// + java17DemoPool.add(new ContextSpecificDeserializationFiltersDemo()) // older demos created with "non-JEP" style java17DemoPool.add(new String12Demo());