Solve msgpack issue with --initialize-at-run-time.
Use quick build mode for 40% faster compilation and 20% smaller executable (tested on Linux amd64). If necessary, this can be disabled for release builds. Note that with the move from GraalVM CE 22 to Oracle GraalVM 23, native image compilation time has doubled and binary size has increased to 120 MiB on Linux amd64.
Use Intel Skylake (2015) CPU features for amd64 executables.
Remove options that are commented out.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.
## 📋 Pull Request Information
**Original PR:** https://github.com/apple/pkl/pull/455
**Author:** [@odenix](https://github.com/odenix)
**Created:** 4/25/2024
**Status:** ❌ Closed
**Base:** `main` ← **Head:** `graalvm-23`
---
### 📝 Commits (7)
- [`aac6c9c`](https://github.com/apple/pkl/commit/aac6c9c151e43337f7c29a7142c8ecac02f3ee29) Improve configuration of native image compilation
- [`4162ba6`](https://github.com/apple/pkl/commit/4162ba6ff971d0c4e21238b133cb390cdbfdc8dd) Eliminate duplicate task configuration code
- [`b6d5825`](https://github.com/apple/pkl/commit/b6d5825ed30d7960b55f6fce8337cad8a1ddf47a) Improve BinaryEvaluatorSnippetTests(Engine)
- [`13add6f`](https://github.com/apple/pkl/commit/13add6f9ab685b8a0cab187b7de6d5a1a9473111) Also run ServerTest against native executable
- [`6041355`](https://github.com/apple/pkl/commit/6041355357d8cdaf26431cdfdda7a61e4da59469) Incorporate review feedback
- [`48f98a6`](https://github.com/apple/pkl/commit/48f98a61adcdba35b8b0e300e7e9594427e36283) Revert "Improve BinaryEvaluatorSnippetTests(Engine)"
- [`16a3320`](https://github.com/apple/pkl/commit/16a3320f933d8d89903fb9fdf98837bb38727b95) Add pkl-server:testNative to build native job
### 📊 Changes
**12 files changed** (+249 additions, -182 deletions)
<details>
<summary>View changed files</summary>
📝 `.circleci/config.yml` (+12 -12)
📝 `.circleci/jobs/BuildNativeJob.pkl` (+1 -1)
📝 `pkl-cli/pkl-cli.gradle.kts` (+15 -31)
➕ `pkl-commons-test/src/main/kotlin/org/pkl/commons/test/PklExecutablePaths.kt` (+47 -0)
📝 `pkl-core/pkl-core.gradle.kts` (+28 -68)
📝 `pkl-core/src/test/kotlin/org/pkl/core/LanguageSnippetTestsEngine.kt` (+7 -6)
📝 `pkl-core/src/test/kotlin/org/pkl/core/http/RequestCapturingClient.kt` (+19 -19)
📝 `pkl-server/pkl-server.gradle.kts` (+21 -2)
📝 `pkl-server/src/test/kotlin/org/pkl/server/AbstractServerTest.kt` (+3 -41)
➕ `pkl-server/src/test/kotlin/org/pkl/server/JvmServerTest.kt` (+55 -0)
➕ `pkl-server/src/test/kotlin/org/pkl/server/NativeServerTest.kt` (+39 -0)
📝 `pkl-server/src/test/kotlin/org/pkl/server/TestTransport.kt` (+2 -2)
</details>
### 📄 Description
- Solve msgpack issue with `--initialize-at-run-time`.
- Use quick build mode for 40% faster compilation and 20% smaller executable (tested on Linux amd64). If necessary, this can be disabled for release builds. Note that with the move from GraalVM CE 22 to Oracle GraalVM 23, native image compilation time has doubled and binary size has increased to 120 MiB on Linux amd64.
- Use Intel Skylake (2015) CPU features for amd64 executables.
- Remove options that are commented out.
---
<sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
📋 Pull Request Information
Original PR: https://github.com/apple/pkl/pull/455
Author: @odenix
Created: 4/25/2024
Status: ❌ Closed
Base:
main← Head:graalvm-23📝 Commits (7)
aac6c9cImprove configuration of native image compilation4162ba6Eliminate duplicate task configuration codeb6d5825Improve BinaryEvaluatorSnippetTests(Engine)13add6fAlso run ServerTest against native executable6041355Incorporate review feedback48f98a6Revert "Improve BinaryEvaluatorSnippetTests(Engine)"16a3320Add pkl-server:testNative to build native job📊 Changes
12 files changed (+249 additions, -182 deletions)
View changed files
📝
.circleci/config.yml(+12 -12)📝
.circleci/jobs/BuildNativeJob.pkl(+1 -1)📝
pkl-cli/pkl-cli.gradle.kts(+15 -31)➕
pkl-commons-test/src/main/kotlin/org/pkl/commons/test/PklExecutablePaths.kt(+47 -0)📝
pkl-core/pkl-core.gradle.kts(+28 -68)📝
pkl-core/src/test/kotlin/org/pkl/core/LanguageSnippetTestsEngine.kt(+7 -6)📝
pkl-core/src/test/kotlin/org/pkl/core/http/RequestCapturingClient.kt(+19 -19)📝
pkl-server/pkl-server.gradle.kts(+21 -2)📝
pkl-server/src/test/kotlin/org/pkl/server/AbstractServerTest.kt(+3 -41)➕
pkl-server/src/test/kotlin/org/pkl/server/JvmServerTest.kt(+55 -0)➕
pkl-server/src/test/kotlin/org/pkl/server/NativeServerTest.kt(+39 -0)📝
pkl-server/src/test/kotlin/org/pkl/server/TestTransport.kt(+2 -2)📄 Description
--initialize-at-run-time.🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.