Skip to content

Commit

Permalink
Fix integration with the GraalVM Metadata Repository (#643)
Browse files Browse the repository at this point in the history
* Fix integration with the GraalVM Metadata Repository

Blocked by graalvm/native-build-tools#408

* Fix build

* Skipping invoker tests

* Address Sonar issues, and improve the Dockerfile mojo

* Yet another Sonar issue
  • Loading branch information
alvarosanchez committed Mar 7, 2023
1 parent 1e13ef6 commit f750bf4
Show file tree
Hide file tree
Showing 62 changed files with 281 additions and 126 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/graalvm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ jobs:
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Run tests
run: |
./mvnw install && ./mvnw verify
./mvnw install -Dinvoker.skip=true && ./mvnw verify
env:
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
GRADLE_ENTERPRISE_CACHE_USERNAME: ${{ secrets.GRADLE_ENTERPRISE_CACHE_USERNAME }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/snapshot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:

- name: Run tests
run: |
(./mvnw install && ./mvnw verify 2>&1) | tee /tmp/maven.out
(./mvnw install -Dinvoker.skip=true && ./mvnw verify 2>&1) | tee /tmp/maven.out
env:
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
GRADLE_ENTERPRISE_CACHE_USERNAME: ${{ secrets.GRADLE_ENTERPRISE_CACHE_USERNAME }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/sonarqube.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:

- name: Analyse with Maven
run: |
./mvnw install && ./mvnw verify sonar:sonar
./mvnw install -Dinvoker.skip=true && ./mvnw verify sonar:sonar
env:
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
GRADLE_ENTERPRISE_CACHE_USERNAME: ${{ secrets.GRADLE_ENTERPRISE_CACHE_USERNAME }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/windows-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ jobs:
- name: Build with Maven
shell: cmd
run: |
.\mvnw install && .\mvnw verify
.\mvnw install -Dinvoker.skip=true && .\mvnw verify
env:
TESTCONTAINERS_RYUK_DISABLED: true
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
Expand Down
4 changes: 2 additions & 2 deletions examples/java/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
<micronaut.aot.packageName>io.micronaut.maven.examples</micronaut.aot.packageName>
<micronaut.test.resources.enabled>false</micronaut.test.resources.enabled>
<micronaut.test.resources.version>2.0.0-SNAPSHOT</micronaut.test.resources.version>
<maven.native.plugin.version>0.9.19</maven.native.plugin.version>
<maven.native.plugin.version>0.9.20</maven.native.plugin.version>
<maven-resources-plugin.version>3.2.0</maven-resources-plugin.version>
<maven-enforcer-plugin.version>3.2.1</maven-enforcer-plugin.version>
</properties>
Expand Down Expand Up @@ -53,7 +53,7 @@
<scope>compile</scope>
</dependency>
<dependency>
<groupId>io.micronaut</groupId>
<groupId>io.micronaut.validation</groupId>
<artifactId>micronaut-validation</artifactId>
<scope>compile</scope>
</dependency>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
<scope>compile</scope>
</dependency>
<dependency>
<groupId>io.micronaut</groupId>
<groupId>io.micronaut.validation</groupId>
<artifactId>micronaut-validation</artifactId>
<scope>compile</scope>
</dependency>
Expand Down
3 changes: 2 additions & 1 deletion micronaut-maven-integration-tests/src/it/deploy/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
<micronaut.version>@it.micronaut.version@</micronaut.version>
<micronaut-maven-plugin.version>@project.version@</micronaut-maven-plugin.version>
<exec.mainClass>io.micronaut.build.examples.Application</exec.mainClass>
<maven.native.plugin.version>@native-maven-plugin.version@</maven.native.plugin.version>
<packaging>jar</packaging>
<micronaut.runtime>netty</micronaut.runtime>
</properties>
Expand All @@ -27,7 +28,7 @@
<scope>compile</scope>
</dependency>
<dependency>
<groupId>io.micronaut</groupId>
<groupId>io.micronaut.validation</groupId>
<artifactId>micronaut-validation</artifactId>
<scope>compile</scope>
</dependency>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
<scope>compile</scope>
</dependency>
<dependency>
<groupId>io.micronaut</groupId>
<groupId>io.micronaut.validation</groupId>
<artifactId>micronaut-validation</artifactId>
<scope>compile</scope>
</dependency>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
<scope>compile</scope>
</dependency>
<dependency>
<groupId>io.micronaut</groupId>
<groupId>io.micronaut.validation</groupId>
<artifactId>micronaut-validation</artifactId>
<scope>compile</scope>
</dependency>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,9 @@ WORKDIR /home/app

COPY classes /home/app/classes
COPY dependency/* /home/app/libs/
COPY *.args /home/app/graalvm-native-image.args
ENV USE_NATIVE_IMAGE_JAVA_PLATFORM_MODULE_SYSTEM=false
RUN native-image -H:+StaticExecutableWithDynamicLibC -Ob -H:Class=io.micronaut.build.examples.Application -H:Name=application --no-fallback -cp "/home/app/libs/*:/home/app/classes/"
RUN native-image @/home/app/graalvm-native-image.args -H:Class=io.micronaut.build.examples.Application -H:Name=application -cp "/home/app/libs/*:/home/app/classes/"

FROM gcr.io/distroless/cc-debian10
COPY --from=builder /home/app/application /app/application
Expand Down
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
invoker.goals = -ntp mn:dockerfile -Dpackaging=docker-native
invoker.goals = -ntp -e mn:dockerfile -Dpackaging=docker-native
invoker.os.family = !windows
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
<micronaut.version>@it.micronaut.version@</micronaut.version>
<micronaut-maven-plugin.version>@project.version@</micronaut-maven-plugin.version>
<exec.mainClass>io.micronaut.build.examples.Application</exec.mainClass>
<maven.native.plugin.version>@native-maven-plugin.version@</maven.native.plugin.version>
<packaging>jar</packaging>
<micronaut.runtime>netty</micronaut.runtime>
</properties>
Expand All @@ -27,7 +28,7 @@
<scope>compile</scope>
</dependency>
<dependency>
<groupId>io.micronaut</groupId>
<groupId>io.micronaut.validation</groupId>
<artifactId>micronaut-validation</artifactId>
<scope>compile</scope>
</dependency>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,11 @@
File dockerfile = new File("$basedir/target", "Dockerfile")
File expectedDockerfile = new File(basedir, "Dockerfile")

assert dockerfile.text == expectedDockerfile.text
assert dockerfile.text == expectedDockerfile.text

File log = new File(basedir, 'build.log')
assert log.exists()
assert log.text.contains("BUILD SUCCESS")
assert log.text.contains("Generating a mostly static native image")
assert log.text.contains("GraalVM native image build args:")
assert log.text.contains("-H:+StaticExecutableWithDynamicLibC")
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,9 @@ ENV PATH=/usr/lib/graalvm/bin:${PATH}
WORKDIR /home/app
COPY classes /home/app/classes
COPY dependency/* /home/app/libs/
COPY *.args /home/app/graalvm-native-image.args
ENV USE_NATIVE_IMAGE_JAVA_PLATFORM_MODULE_SYSTEM=false
RUN native-image -Ob -H:Class=io.micronaut.function.aws.runtime.MicronautLambdaRuntime -H:Name=application --no-fallback -cp "/home/app/libs/*:/home/app/classes/"
RUN native-image @/home/app/graalvm-native-image.args -H:Class=io.micronaut.function.aws.runtime.MicronautLambdaRuntime -H:Name=application -cp "/home/app/libs/*:/home/app/classes/"

FROM amazonlinux:latest
WORKDIR /function
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,9 @@ ENV PATH=/usr/lib/graalvm/bin:${PATH}
WORKDIR /home/app
COPY classes /home/app/classes
COPY dependency/* /home/app/libs/
COPY *.args /home/app/graalvm-native-image.args
ENV USE_NATIVE_IMAGE_JAVA_PLATFORM_MODULE_SYSTEM=false
RUN native-image -Ob -H:Class=io.micronaut.function.aws.runtime.MicronautLambdaRuntime -H:Name=application --no-fallback -cp "/home/app/libs/*:/home/app/classes/"
RUN native-image @/home/app/graalvm-native-image.args -H:Class=io.micronaut.function.aws.runtime.MicronautLambdaRuntime -H:Name=application -cp "/home/app/libs/*:/home/app/classes/"

FROM amazonlinux:latest
WORKDIR /function
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
<micronaut.version>@it.micronaut.version@</micronaut.version>
<micronaut-maven-plugin.version>@project.version@</micronaut-maven-plugin.version>
<exec.mainClass>io.micronaut.function.aws.runtime.MicronautLambdaRuntime</exec.mainClass>
<maven.native.plugin.version>@native-maven-plugin.version@</maven.native.plugin.version>
<micronaut.runtime>lambda</micronaut.runtime>
</properties>

Expand All @@ -26,7 +27,7 @@
<scope>compile</scope>
</dependency>
<dependency>
<groupId>io.micronaut</groupId>
<groupId>io.micronaut.validation</groupId>
<artifactId>micronaut-validation</artifactId>
<scope>compile</scope>
</dependency>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,9 @@ WORKDIR /home/app

COPY classes /home/app/classes
COPY dependency/* /home/app/libs/
COPY *.args /home/app/graalvm-native-image.args
ENV USE_NATIVE_IMAGE_JAVA_PLATFORM_MODULE_SYSTEM=false
RUN native-image -Ob -H:Class=io.micronaut.build.examples.Application -H:Name=application --no-fallback -cp "/home/app/libs/*:/home/app/classes/"
RUN native-image @/home/app/graalvm-native-image.args -H:Class=io.micronaut.build.examples.Application -H:Name=application -cp "/home/app/libs/*:/home/app/classes/"

FROM frolvlad/alpine-glibc:alpine-3.12
RUN apk update && apk add libstdc++
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
<micronaut.version>@it.micronaut.version@</micronaut.version>
<micronaut-maven-plugin.version>@project.version@</micronaut-maven-plugin.version>
<exec.mainClass>io.micronaut.build.examples.Application</exec.mainClass>
<maven.native.plugin.version>@native-maven-plugin.version@</maven.native.plugin.version>
<packaging>jar</packaging>
<micronaut.runtime>netty</micronaut.runtime>
</properties>
Expand All @@ -27,7 +28,7 @@
<scope>compile</scope>
</dependency>
<dependency>
<groupId>io.micronaut</groupId>
<groupId>io.micronaut.validation</groupId>
<artifactId>micronaut-validation</artifactId>
<scope>compile</scope>
</dependency>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,9 @@ WORKDIR /home/app

COPY classes /home/app/classes
COPY dependency/* /home/app/libs/
COPY *.args /home/app/graalvm-native-image.args
ENV USE_NATIVE_IMAGE_JAVA_PLATFORM_MODULE_SYSTEM=false
RUN native-image -Ob --report-unsupported-elements-at-runtime -H:Class=com.fnproject.fn.runtime.EntryPoint -H:Name=application --no-fallback -cp "/home/app/libs/*:/home/app/classes/"
RUN native-image @/home/app/graalvm-native-image.args --report-unsupported-elements-at-runtime -H:Class=com.fnproject.fn.runtime.EntryPoint -H:Name=application -cp "/home/app/libs/*:/home/app/classes/"

FROM fnproject/fn-java-fdk:jre17-latest AS fnfdk

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
<micronaut.version>@it.micronaut.version@</micronaut.version>
<micronaut-maven-plugin.version>@project.version@</micronaut-maven-plugin.version>
<exec.mainClass>io.micronaut.build.examples.Application</exec.mainClass>
<maven.native.plugin.version>@native-maven-plugin.version@</maven.native.plugin.version>
<packaging>jar</packaging>
<micronaut.runtime>netty</micronaut.runtime>
</properties>
Expand All @@ -27,7 +28,7 @@
<scope>compile</scope>
</dependency>
<dependency>
<groupId>io.micronaut</groupId>
<groupId>io.micronaut.validation</groupId>
<artifactId>micronaut-validation</artifactId>
<scope>compile</scope>
</dependency>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,9 @@ RUN curl -L -o zlib.tar.gz https://zlib.net/zlib-1.2.12.tar.gz && \
WORKDIR /home/app
COPY classes /home/app/classes
COPY dependency/* /home/app/libs/
COPY *.args /home/app/graalvm-native-image.args
ENV USE_NATIVE_IMAGE_JAVA_PLATFORM_MODULE_SYSTEM=false
RUN native-image -Ob --static --libc=musl -H:Class=io.micronaut.build.examples.Application -H:Name=application --no-fallback -cp "/home/app/libs/*:/home/app/classes/"
RUN native-image @/home/app/graalvm-native-image.args --static --libc=musl -H:Class=io.micronaut.build.examples.Application -H:Name=application -cp "/home/app/libs/*:/home/app/classes/"

FROM scratch
COPY --from=builder /home/app/application /app/application
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
<micronaut.version>@it.micronaut.version@</micronaut.version>
<micronaut-maven-plugin.version>@project.version@</micronaut-maven-plugin.version>
<exec.mainClass>io.micronaut.build.examples.Application</exec.mainClass>
<maven.native.plugin.version>@native-maven-plugin.version@</maven.native.plugin.version>
<packaging>jar</packaging>
<micronaut.runtime>netty</micronaut.runtime>
</properties>
Expand All @@ -27,7 +28,7 @@
<scope>compile</scope>
</dependency>
<dependency>
<groupId>io.micronaut</groupId>
<groupId>io.micronaut.validation</groupId>
<artifactId>micronaut-validation</artifactId>
<scope>compile</scope>
</dependency>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
<scope>compile</scope>
</dependency>
<dependency>
<groupId>io.micronaut</groupId>
<groupId>io.micronaut.validation</groupId>
<artifactId>micronaut-validation</artifactId>
<scope>compile</scope>
</dependency>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
<scope>compile</scope>
</dependency>
<dependency>
<groupId>io.micronaut</groupId>
<groupId>io.micronaut.validation</groupId>
<artifactId>micronaut-validation</artifactId>
<scope>compile</scope>
</dependency>
Expand Down
2 changes: 1 addition & 1 deletion micronaut-maven-integration-tests/src/it/issue375/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
<scope>compile</scope>
</dependency>
<dependency>
<groupId>io.micronaut</groupId>
<groupId>io.micronaut.validation</groupId>
<artifactId>micronaut-validation</artifactId>
<scope>compile</scope>
</dependency>
Expand Down
2 changes: 1 addition & 1 deletion micronaut-maven-integration-tests/src/it/issue465/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
<scope>compile</scope>
</dependency>
<dependency>
<groupId>io.micronaut</groupId>
<groupId>io.micronaut.validation</groupId>
<artifactId>micronaut-validation</artifactId>
<scope>compile</scope>
</dependency>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
<scope>compile</scope>
</dependency>
<dependency>
<groupId>io.micronaut</groupId>
<groupId>io.micronaut.validation</groupId>
<artifactId>micronaut-validation</artifactId>
<scope>compile</scope>
</dependency>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
<scope>compile</scope>
</dependency>
<dependency>
<groupId>io.micronaut</groupId>
<groupId>io.micronaut.validation</groupId>
<artifactId>micronaut-validation</artifactId>
<scope>compile</scope>
</dependency>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
<scope>compile</scope>
</dependency>
<dependency>
<groupId>io.micronaut</groupId>
<groupId>io.micronaut.validation</groupId>
<artifactId>micronaut-validation</artifactId>
<scope>compile</scope>
</dependency>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
<micronaut.version>@it.micronaut.version@</micronaut.version>
<micronaut-maven-plugin.version>@project.version@</micronaut-maven-plugin.version>
<exec.mainClass>io.micronaut.build.examples.Application</exec.mainClass>
<maven.native.plugin.version>@native-maven-plugin.version@</maven.native.plugin.version>
<packaging>jar</packaging>
<micronaut.runtime>netty</micronaut.runtime>
</properties>
Expand All @@ -27,7 +28,7 @@
<scope>compile</scope>
</dependency>
<dependency>
<groupId>io.micronaut</groupId>
<groupId>io.micronaut.validation</groupId>
<artifactId>micronaut-validation</artifactId>
<scope>compile</scope>
</dependency>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@ File log = new File(basedir, 'build.log')
assert log.exists()
assert log.text.contains("Generating a mostly static native image")
assert log.text.contains("Using BASE_IMAGE_RUN: gcr.io/distroless/cc-debian10")
assert log.text.contains("Using GRAALVM_ARGS: -H:+StaticExecutableWithDynamicLibC")
assert log.text.contains("-H:+StaticExecutableWithDynamicLibC")
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
<micronaut.version>@it.micronaut.version@</micronaut.version>
<micronaut-maven-plugin.version>@project.version@</micronaut-maven-plugin.version>
<exec.mainClass>io.micronaut.build.examples.Application</exec.mainClass>
<maven.native.plugin.version>@native-maven-plugin.version@</maven.native.plugin.version>
<packaging>jar</packaging>
<micronaut.runtime>netty</micronaut.runtime>
</properties>
Expand All @@ -27,7 +28,7 @@
<scope>compile</scope>
</dependency>
<dependency>
<groupId>io.micronaut</groupId>
<groupId>io.micronaut.validation</groupId>
<artifactId>micronaut-validation</artifactId>
<scope>compile</scope>
</dependency>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
<micronaut.version>@it.micronaut.version@</micronaut.version>
<micronaut-maven-plugin.version>@project.version@</micronaut-maven-plugin.version>
<exec.mainClass>io.micronaut.build.examples.Application</exec.mainClass>
<maven.native.plugin.version>@native-maven-plugin.version@</maven.native.plugin.version>
<packaging>jar</packaging>
<micronaut.runtime>netty</micronaut.runtime>
</properties>
Expand All @@ -27,7 +28,7 @@
<scope>compile</scope>
</dependency>
<dependency>
<groupId>io.micronaut</groupId>
<groupId>io.micronaut.validation</groupId>
<artifactId>micronaut-validation</artifactId>
<scope>compile</scope>
</dependency>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
<scope>compile</scope>
</dependency>
<dependency>
<groupId>io.micronaut</groupId>
<groupId>io.micronaut.validation</groupId>
<artifactId>micronaut-validation</artifactId>
<scope>compile</scope>
</dependency>
Expand Down
Loading

0 comments on commit f750bf4

Please sign in to comment.