Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

make build work in native mode #14

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

make build work in native mode #14

wants to merge 1 commit into from

Conversation

rmanibus
Copy link
Contributor

@rmanibus rmanibus commented Aug 9, 2024

fix #8

@rmanibus rmanibus requested a review from a team as a code owner August 9, 2024 18:00
@rmanibus rmanibus force-pushed the native branch 5 times, most recently from 94a0cd5 to 13c86ed Compare August 9, 2024 18:49
@melloware
Copy link
Contributor

i think you might have to switch to this too: https://github.com/temporalio/sdk-java/tree/master/temporal-shaded

it packages everything up including GRPC for this exact reason

@rmanibus
Copy link
Contributor Author

rmanibus commented Aug 9, 2024

@melloware it is failing with

Error: Discovered unresolved method during parsing: io.grpc.netty.shaded.io.netty.handler.ssl.ConscryptAlpnSslEngine.newServerEngine(javax.net.ssl.SSLEngine, io.grpc.netty.shaded.io.netty.buffer.ByteBufAllocator, io.grpc.netty.shaded.io.netty.handler.ssl.JdkApplicationProtocolNegotiator). This error is reported at image build time because class io.grpc.netty.shaded.io.netty.handler.ssl.JdkAlpnApplicationProtocolNegotiator$AlpnWrapper is registered for linking at image build time by command line and command line.

would you know how to solve this ?

I tried to produce RuntimeInitializedClassBuildItem("io.grpc.netty.shaded.io.netty.handler.ssl.ConscryptAlpnSslEngine"));
but it does not seems to solve the issue

@melloware
Copy link
Contributor

Check out this thread. A guy posted his solution in this ticket for getting it to work natively: temporalio/sdk-java#295

@melloware
Copy link
Contributor

interesting its already included..

Melloware: hmmm temporal has native image stuff in their META-INF already: https://github.com/temporalio/sdk-java/blob/master/docs/AOT-native-image.md

Melloware: https://github.com/temporalio/sdk-java/tree/master/temporal-sdk/src/main/resources/META-INF/native-image/io/temporal/temporal-sdk

Melloware: does Quarkus ignore those META-INF GRaalVM settings?

@rmanibus
Copy link
Contributor Author

@melloware I my startWorkers test are not working on the CI right now which is the reason why this is failing.

The issue is that in order to start the workers, I need either the client to be mocked or a server to be started.
I tried to add the quarkus-temporal-test dependency via setForcedDependencies but it is not available when the tests are executed.

I will disable both failing tests for now.

I think the path forward might be to implement the dev service integration and actually start the container

@melloware
Copy link
Contributor

Totally agree with disabling for now.

@melloware
Copy link
Contributor

Native can be the very last thing we work on as its the "hardest" part. lets get everything else working.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Get Native Build Passing
2 participants