Skip to content

feat: support elide 1.6.0-rc.2 and make it the default - #87

Closed
Sam Gammon (sgammon) wants to merge 1 commit into
mainfrom
fix/elide-1.6
Closed

Sam Gammon (sgammon) wants to merge 1 commit into
mainfrom
fix/elide-1.6

Conversation

@sgammon

Copy link
Copy Markdown
Member
  • Adds 1.6.0-rc.2 to versions.bzl (SRI from the published .sha256 assets) and makes it DEFAULT_VERSION. RCs and releases are tagged v<version>, so release_tag() maps a version to its tag for elide_download and the benchmark workflow; nightlies are unchanged.
  • elide_download restores the exec bit on lib/jspawnhelper. The archive ships it 0644, so every subprocess started from elide java failed with posix_spawn … error: 13; this broke the KotlinBuilder shim's fallback to the stock builder.
  • Fallback gated --sun-misc-unsafe-memory-access=allow on the shim's own JVM (Elide's, JDK 25) while the stock builder runs on the Bazel JDK (JAVA_HOME), which may be older: Unrecognized option on JDK 21. It now reads the feature version from $JAVA_HOME/release.

Verified locally on Bazel 9.2.0, linux-amd64, Elide 1.6.0-rc.2:

  • bazel test //tests:all //tests/kotlin_builder:all: 37/37 pass
  • e2e/integration: bazel build -- //... -//:native_app, //:HelloTest PASSED, //:app and //:kt_app run
  • e2e/kotlin_builder: bazel build //:greeter //:annotated succeeds (failed before the two fixes above)
  • tools/update_docs.sh regenerated docs/extensions.md

Release candidates and releases are tagged v<version>; map the version to its
tag for downloads (and in the benchmark workflow). Restore the exec bit on
lib/jspawnhelper, which the archive ships without, so subprocesses started from
elide java work. Gate the kapt fallback's JDK 23+ flag on the fallback JDK
(JAVA_HOME), not on the JVM running the shim.

Signed-off-by: Sam Gammon <sam@elide.dev>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟡 Changes recommended

Release-tag translation currently alters custom URL template semantics and can break BYO artifacts or mirrors.

1 open finding
What changed in this PR

Adds Elide 1.6.0-rc.2 as the default runtime and addresses compatibility issues affecting subprocesses and Kotlin fallback builds.

Changes:

  • Adds release-tag mapping and updates benchmark downloads.
  • Restores jspawnhelper execution permissions.
  • Detects the fallback builder’s JDK version from JAVA_HOME.
File Description
elide/​private/​versions.bzl Pins 1.6.0-rc.2 and maps its release tag.
elide/​private/​download.bzl Uses release tags and fixes helper permissions.
elide/​kotlin/​builder/​Fallback.kt Detects the fallback JDK feature version.
elide/​extensions.bzl Updates version documentation.
tests/​versions_test.bzl Tests tag mapping and default integrity.
tests/​kotlin_builder/​FallbackTest.kt Tests JDK version parsing.
docs/​extensions.md Regenerates extension documentation.
.github/​workflows/​benchmarks.yml Downloads benchmarks from the mapped tag.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

url = (ctx.attr.url_template or DEFAULT_URL_TEMPLATE).format(
channel = ctx.attr.channel or DEFAULT_CHANNEL,
version = ctx.attr.version,
version = release_tag(ctx.attr.version),
@codspeed

codspeed Bot commented Oct 13, 2026

Copy link
Copy Markdown

Merging this PR will degrade performance by 3.11%

⚠️ Unknown Walltime execution environment detected

Using the Walltime instrument on standard Hosted Runners will lead to inconsistent data.

For the most accurate results, we recommend using CodSpeed Macro Runners: bare-metal machines fine-tuned for performance measurement consistency.

⚠️ Different runtime environments detected

Some benchmarks with significant performance changes were compared across different runtime environments,
which may affect the accuracy of the results.

Open the report in CodSpeed to investigate

⚡ 2 improved benchmarks
❌ 2 regressed benchmarks
✅ 5 untouched benchmarks

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Benchmark BASE HEAD Efficiency
❌ test_javac_full[elide] 22.1 ms 29.3 ms -24.65%
❌ test_incremental[integration] 1.9 s 2.4 s -19.42%
⚡ test_kotlinc_abi_only 198 ms 163.4 ms +21.16%
⚡ test_kotlinc_full[elide] 191.1 ms 159.5 ms +19.82%

Tip

Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.


Comparing fix/elide-1.6 (b4744a4) with main (13539ef)

Open in CodSpeed

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.

2 participants