diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 59616de69..194b4d50c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -31,7 +31,7 @@ jobs: build: strategy: matrix: - os: [windows-latest, ubuntu-latest, ubuntu-24.04-arm] + os: [windows-latest, ubuntu-latest, ubuntu-26.04-arm] runs-on: ${{ matrix.os }} concurrency: main_tests_${{ github.ref }}_${{ matrix.os }} steps: @@ -64,31 +64,26 @@ jobs: with: java-version: 21 distribution: graalvm - # test pipeline to check native support + # Test pipeline to check GraalVM native image support: # - # - GraalVM is added to the runner - # - A simple native project is build and run - # - # At the something like that should be found in the log : - # - # INFO: name : FreeMarker Native Demo, version : 2.3.35-nightly - # Jan 15, 2025 4:28:19 PM freemarker.log._JULLoggerFactory$JULLogger info - # INFO: result : - # - #
- #Test template for Apache FreeMarker GraalVM native support (2.3.35-nightly)
- # - # + # - GraalVM 21 is added to the runner + # - The freemarker-test-graalvm-native executable is built (nativeCompile) and executed + # - The JUnit 5 native test suite is compiled and executed as a native image (nativeTest), + # exercising a broad percentage of the FreeMarker codebase across core directives, + # ranges/slicing, variadic/recursive macros and functions, built-ins, lambdas, dynamic + # evaluation (?eval, ?eval_json, ?interpret), BeansWrapper (Java records, enums, static + # models, overloaded methods, default/whitelist/blacklist/legacy member access policies), + # template loaders (#include, #import, auto_include, auto_import), TemplateConfiguration + # matchers, output formats, custom directives/methods, custom number/date formats, + # arithmetic engines, exception handlers, XML DOM NodeModel, Properties-based + # configuration, and logger resolution. - name: Test GraalVM native support (build and run) id: native_test if: runner.os != 'Windows' run: | ./gradlew :freemarker-test-graalvm-native:nativeCompile ./freemarker-test-graalvm-native/build/native/nativeCompile/freemarker-test-graalvm-native + ./gradlew :freemarker-test-graalvm-native:nativeTest - name: Upload Failed Report uses: actions/upload-artifact@v7 if: failure() && steps.build_step.outcome == 'failure' diff --git a/freemarker-core/src/main/resources/META-INF/native-image/org.freemarker/freemarker/reflect-config.json b/freemarker-core/src/main/resources/META-INF/native-image/org.freemarker/freemarker/reflect-config.json index 9cf36441f..5f1d9e69c 100644 --- a/freemarker-core/src/main/resources/META-INF/native-image/org.freemarker/freemarker/reflect-config.json +++ b/freemarker-core/src/main/resources/META-INF/native-image/org.freemarker/freemarker/reflect-config.json @@ -20,7 +20,7 @@ "condition" : { "typeReachable" : "freemarker.template.Configuration" }, - "name" : "freemarker.log._AvalonLoggerFactory.java", + "name" : "freemarker.log._AvalonLoggerFactory", "methods" : [ { "name" : "