Skip to content

Conversation

@Quinn-With-Two-Ns
Copy link
Contributor

@Quinn-With-Two-Ns Quinn-With-Two-Ns commented Mar 17, 2025

Create an ARM64 build for time skipping test server. Move us off old palantir graal plugin to the official graal gradle plugin

closes #1407

@Quinn-With-Two-Ns Quinn-With-Two-Ns changed the title Issue 1407 ARM64 build for Test Server Apr 2, 2025
@Quinn-With-Two-Ns Quinn-With-Two-Ns marked this pull request as ready for review April 2, 2025 04:33
@Quinn-With-Two-Ns Quinn-With-Two-Ns requested a review from a team as a code owner April 2, 2025 04:33
Comment on lines -183 to +188
temporal-test-server/build/graal/temporal-test-server*
!temporal-test-server/build/graal/*.txt
temporal-test-server/build/native/nativeCompile/temporal-test-server*
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can I get confirmation that we believe the release artifact files will have the same name, just with arm ones now? So temporal-test-server_<version>_linux_arm64.tar.gz and temporal-test-server_<version>_maxOS_arm64.tar.gz will now be present?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep

Comment on lines +120 to +123
// If we're on linux, static link everything but libc. Otherwise link
// everything dynamically (note the '-' rather than '+' in front of
// StaticExecutable)
buildArgs.add(isLinux() ? "-H:+StaticExecutableWithDynamicLibC": "-H:-StaticExecutable")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suspect this may change a tad when we do #2402, specifically that I guess we'll add --libc=musl instead of dynamic libc.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

buildArgs.add("-H:+UnlockExperimentalVMOptions")
buildArgs.add("-O4")

runtimeArgs.add("7233")
Copy link
Member

@cretz cretz Apr 2, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you help me understand this a bit? Does it mean that this is the default arg if not provided? https://graalvm.github.io/native-build-tools/latest/gradle-plugin.html is not very clear to me.

(this is my only blocking concern/comment)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It sets the arg for ./gradlew -Pagent -PnativeBuild :temporal-test-server:nativeRun since there isn't another way I could find

Copy link
Member

@cretz cretz Apr 7, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So can you confirm this has no affect on the final binary and that the final binary still requires a port and uses that port?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct

@diogotorres97
Copy link

Let's goooooooooooo

@Quinn-With-Two-Ns Quinn-With-Two-Ns merged commit afb0183 into temporalio:master Apr 21, 2025
8 checks passed
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.

ARM64 build for Test Server

3 participants