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

Type

No type

Projects

Status

Backlog

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions