Skip to content

Maintenance: Build and test GraalVM native images in GH Workflows for v2 #1803

Open
@phipag

Description

@phipag

Summary

After introducing GraalVM support for the Core Utilities (#764), we need to add an additional step to the GitHub build workflows (on v2 branch) to build and test the native image in addition to JVM.

Why is this needed?

This is needed to avoid regressions in GraalVM compatibility in the future and detect unsupported or breaking changes regarding native compilation before merging / releasing them. There is a related issue for running end-to-end tests to test the native images at runtime #1805.

Which area does this relate to?

Governance, GraalVM

Solution

The expected behavior is that the workflow fails if either the GraalVM Reachability Metadata generation fails or if the unit tests against the native image fail. Otherwise, the workflow should succeed.

It should also be possible to skip enable/disable native compilation and testing for specific submodules. This can be done by using the -pl argument in Maven. For example, if I would like to generate GRM files and run unit tests against the native image for all modules except for powertools-common I can run this command to exclude powertools-idempotency:

mvn -Pgenerate-graalvm-files clean test -pl "-powertools-idempotency" && mvn -Pgraalvm-native clean test -pl "-powertools-idempotency"

Acknowledgment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions