Skip to content
Merged
Show file tree
Hide file tree
Changes from 23 commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
fb4e679
Graal Version can be just a single number
Akirathan Sep 17, 2025
2646d45
Upgrade graalVersion and graalMavenPackageVersion in build.sbt
Akirathan Sep 17, 2025
3a87b30
Lift graal dir name assumption
Akirathan Sep 18, 2025
af234fd
Add truffle-nfi-panama dependency of graalpy
Akirathan Sep 19, 2025
ad58ce5
Remove deprecated RunReachabilityHandlersConcurrently option
Akirathan Sep 19, 2025
ee49cb2
Add deps for native image
Akirathan Sep 19, 2025
77beb2d
Fix module path for small jdk
Akirathan Sep 19, 2025
61195c0
Exclude gax-grpc NI config file
Akirathan Sep 22, 2025
612cda1
svm must not be included in the class-path.
Akirathan Sep 22, 2025
e9d2d4d
java.prefs module is added in small jdk for NI.
Akirathan Sep 22, 2025
821bef2
jdk.attach module is added in small jdk for NI.
Akirathan Sep 22, 2025
e7270f3
Use Graalvm 25.0.0 in all CI workflows
Akirathan Sep 22, 2025
6ac2d05
Bump Mockito version.
Akirathan Sep 22, 2025
e63ac6a
Mockito tests are run with `-javaagent` cmdline option
Akirathan Sep 22, 2025
15b518f
Fix native lib versions in native_libs.json golden test file
Akirathan Sep 23, 2025
68294bc
Update expected error message when parsing foreign python method
Akirathan Sep 23, 2025
27f791d
Merge branch 'develop' into wip/akirathan/13918-update-graal-25
Akirathan Sep 23, 2025
9377972
Verify licenses
Akirathan Sep 23, 2025
a1e76be
Update Bazel GraalVM toolchain to version 25
Akirathan Sep 23, 2025
682e62b
Update bazel lock file
Akirathan Sep 23, 2025
c0b4a1f
java.prefs is only required for NI build
Akirathan Sep 24, 2025
19a3d5a
changelog
Akirathan Sep 24, 2025
dd1073c
fmt
Akirathan Sep 24, 2025
e1233fa
Fix GenerateUncached warnings
Akirathan Sep 26, 2025
5277f33
Don't include nativeimage.configure module in small JDK for NI.
Akirathan Sep 26, 2025
ba380df
Allow uncached loop node.
Akirathan Sep 28, 2025
b085b1c
Fix os-environemnt tests on Mac - get canonical path to tmp dir
Akirathan Sep 29, 2025
0f06013
Fix native-access warning when running os-environment/test
Akirathan Sep 29, 2025
2f9f697
Fix native-access warning when creating stdlib indexes
Akirathan Sep 29, 2025
7268b15
Specify download link when GraalVM version mismatches.
Akirathan Sep 30, 2025
3d9986b
typo
Akirathan Sep 30, 2025
e1251ac
[WIP] Print saving and loading cache
Akirathan Sep 30, 2025
8cdb45c
[WIP] Run only Base_Tests with --log-level TRACE on CI
Akirathan Oct 1, 2025
70a1622
Revert "[WIP] Print saving and loading cache"
Akirathan Oct 1, 2025
8262f97
[WIP] Print test name before it is executed.
Akirathan Oct 1, 2025
5d6779f
[WIP] Print test name before it is executed.
Akirathan Oct 2, 2025
f448073
Workaround Memory Access Violation error by converting to java.io.Fil…
JaroslavTulach Oct 3, 2025
e747690
Merge branch 'develop' into wip/akirathan/13918-update-graal-25
Akirathan Oct 3, 2025
ca502ad
Workarounding Windows FileSystem problems by catching NPE
JaroslavTulach Oct 4, 2025
1cd4e15
Revert "Workarounding Windows FileSystem problems by catching NPE"
Akirathan Oct 8, 2025
1308d5a
Revert "Workaround Memory Access Violation error by converting to jav…
Akirathan Oct 8, 2025
85b0346
Include base test helpers in NI
Akirathan Oct 8, 2025
5254099
Disable dual JVM mode in tests on Windows by default. Use ENSO_LAUNCH…
JaroslavTulach Oct 9, 2025
9763b5e
Revert "[WIP] Print test name before it is executed."
Akirathan Oct 9, 2025
52aa651
Revert "[WIP] Print test name before it is executed."
Akirathan Oct 9, 2025
3662c4f
Revert "[WIP] Run only Base_Tests with --log-level TRACE on CI"
Akirathan Oct 9, 2025
3b8fd5a
Fix dual test condition
Akirathan Oct 10, 2025
d4fc41c
Don't export any symbols from enso.exe
JaroslavTulach Oct 24, 2025
84bf379
Use absolute path when referring to enso.exp
JaroslavTulach Oct 24, 2025
4928295
Trace invocations of link that seem to fail
JaroslavTulach Oct 25, 2025
217c9c7
Link without enso.exp file
JaroslavTulach Oct 25, 2025
c2c42b8
Export necessary symbols needed for generating shims
JaroslavTulach Oct 25, 2025
da85c08
Make sure enso.lib is inside of native-image temporary directory
JaroslavTulach Oct 26, 2025
5e8aedd
Only copy the enso.lib on Windows
JaroslavTulach Oct 26, 2025
c516636
Merge branch 'develop' into wip/akirathan/13918-update-graal-25
mergify[bot] Oct 27, 2025
0360153
Merge branch 'develop' into wip/akirathan/13918-update-graal-25
mergify[bot] Oct 27, 2025
3278952
Merge branch 'develop' into wip/akirathan/13918-update-graal-25
mergify[bot] Oct 27, 2025
2d4d19e
Hide enso.* files in distribution/bin directory
JaroslavTulach Oct 28, 2025
0e2e247
Instructions how to regenerated enso.lib and enso.exp files
JaroslavTulach Oct 28, 2025
1461983
Merge branch 'develop' into wip/akirathan/13918-update-graal-25
mergify[bot] Oct 28, 2025
db2e696
Backing 5254099e55ca7d3208e2905c2d75e2c92c9f26f8 out
JaroslavTulach Oct 28, 2025
8b41e69
Removing other differences against develop branch
JaroslavTulach Oct 28, 2025
8031779
Use canonical path to temporary folder
JaroslavTulach Oct 29, 2025
dfc5207
Merge branch 'develop' into wip/akirathan/13918-update-graal-25
mergify[bot] Oct 29, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .bazelrc
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,11 @@ common --@aspect_rules_ts//ts:default_to_tsc_transpiler
startup --host_jvm_args=-DBAZEL_TRACK_SOURCE_DIRECTORIES=1

## GraalVM versions
common --tool_java_runtime_version=graalvm_24
common --tool_java_language_version=24
common --tool_java_runtime_version=graalvm_25
common --tool_java_language_version=25

common --java_runtime_version=graalvm_24
common --java_language_version=24
common --java_runtime_version=graalvm_25
common --java_language_version=25

## Rust
startup --windows_enable_symlinks
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/enso4igv.yml
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ jobs:

- uses: graalvm/setup-graalvm@v1
with:
java-version: "24.0.1"
java-version: "25.0.0"
distribution: "graalvm-community"

- name: Publish Enso Libraries to Local Maven Repository
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/formatting.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ on:

env:
# Please ensure that this is in sync with graalVersion in build.sbt
javaVersion: 24.0.1
javaVersion: 25.0.0
# Please ensure that this is in sync with project/build.properties
sbtVersion: 1.10.6

Expand Down
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@
- [Autocompletion for table expression builtin functions in table
expressions][13914]
- [Autocompletion for table expression operators and operands][13917]
- [Update to GraalVM 25][14019]

[14003]: https://github.com/enso-org/enso/pull/14003
[13978]: https://github.com/enso-org/enso/pull/13978
Expand All @@ -47,6 +48,7 @@
[13909]: https://github.com/enso-org/enso/pull/13909
[13914]: https://github.com/enso-org/enso/pull/13914
[13917]: https://github.com/enso-org/enso/pull/13917
[14019]: https://github.com/enso-org/enso/pull/14019

# Enso 2025.2

Expand Down
6 changes: 3 additions & 3 deletions MODULE.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ git_override(
commit = "81fc9b2de33c0429b716f1bfcd3223a82c0e1085",
patch_strip = 1,
patches = [
"patches/rules_graalvm_java24.patch",
"patches/rules_graalvm_java25.patch",
"patches/rules_graalvm_tool_toolchain.patch",
],
remote = "https://github.com/sgammon/rules_graalvm.git",
Expand All @@ -157,8 +157,8 @@ gvm = use_extension("@rules_graalvm//:extensions.bzl", "graalvm")
gvm.graalvm(
name = "graalvm",
distribution = "ce", # `oracle`, `ce`, or `community`
java_version = "24", # `17`, `20`, `21`, or `22` as supported by the version provided
version = "24.0.1", # gvm sdk version format like `24.x.x` also supported
java_version = "25", # `17`, `20`, `21`, or `22` as supported by the version provided
version = "25.0.0", # gvm sdk version format like `24.x.x` also supported
)
use_repo(gvm, "graalvm")

Expand Down
10 changes: 5 additions & 5 deletions MODULE.bazel.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

44 changes: 41 additions & 3 deletions build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -583,6 +583,36 @@ lazy val modularFatJarWrapperSettings = frgaalJavaCompilerSetting ++ Seq(
Compile / exportedModule := (Compile / exportedModuleBin).value
)

/** Mockito agent needs to be explicitly set as `-javaagent` to the JVM.
* Note that starting agent programatically was deprecated in JDK 21 and is scheduled to be removed.
* See https://javadoc.io/doc/org.mockito/mockito-core/latest/org.mockito/org/mockito/Mockito.html#0.3
*/
lazy val mockitoAgentSettings: SettingsDefinition = Seq(
libraryDependencies ++= Seq(
"org.mockito" % "mockito-core" % mockitoJavaVersion % Test
),
Test / javaOptions += {
val logger = streams.value.log
val mockitoJar = JPMSUtils.filterModulesFromUpdate(
update.value,
Seq(
"org.mockito" % "mockito-core" % mockitoJavaVersion
),
logger,
moduleName.value,
scalaBinaryVersion.value,
shouldContainAll = true
)
if (mockitoJar.length != 1) {
logger.error(
s"Expected exactly one mockito-core jar on the classpath, found: ${mockitoJar.map(_.name).mkString(", ")}"
)
}
val mockitoJarPath = mockitoJar.head.getAbsolutePath
s"-javaagent:$mockitoJarPath"
}
)

// ============================================================================
// === Internal Libraries =====================================================
// ============================================================================
Expand Down Expand Up @@ -3365,6 +3395,7 @@ lazy val `runtime-compiler` =
scalaModuleDependencySetting,
mixedJavaScalaProjectSetting,
annotationProcSetting,
mockitoAgentSettings,
inConfig(Test)(truffleRunOptionsSettings),
commands += WithDebugCommand.withDebug,
javaModuleName := "org.enso.runtime.compiler",
Expand Down Expand Up @@ -3964,6 +3995,10 @@ lazy val `engine-runner` = project
"org.enso.microsoft.nativeimage.AzureNativeImageFeature"
val databaseFeature =
"org.enso.database.nativeimage.SqliteJdbcPatchedFeature"
// Features from gax-grpc-2.31.0
val grpcFeatures =
"com.google.api.gax.grpc.nativeimage.ProtobufMessageFeature," +
"com.google.api.gax.grpc.nativeimage.GrpcNettyFeature"
val features = Seq(
"org.enso.interpreter.runtime.nativeimage.NativeLibraryFeature"
) ++ (if (areStdlibsIncluded) Seq(databaseFeature, azureFeature)
Expand Down Expand Up @@ -4001,14 +4036,14 @@ lazy val `engine-runner` = project
// native library from the jar.
excludeConfigs = Seq(
s".*sqlite-jdbc-.*\\.jar,META-INF/native-image/org\\.xerial/sqlite-jdbc/native-image\\.properties",
s".*snowflake-jdbc-.*\\.jar,META-INF/native-image/.*"
s".*snowflake-jdbc-.*\\.jar,META-INF/native-image/.*",
".*gax-grpc-.*\\.jar,META-INF/native-image/com.google.api/gax-grpc/native-image.properties"
),
modulePath = mp,
additionalOptions = Seq(
"-Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.NoOpLog",
"-H:+AddAllCharsets",
"-H:+IncludeAllLocales",
"-H:+RunReachabilityHandlersConcurrently",
"-R:-InstallSegfaultHandler",
// Workaround a problem with build-/runtime-initialization conflict
// by disabling this service provider
Expand All @@ -4018,7 +4053,9 @@ lazy val `engine-runner` = project
// Needed for the NativeLibraryFeature
"--add-opens=org.graalvm.nativeimage.builder/com.oracle.svm.core.jdk=ALL-UNNAMED",
// Snowflake uses Apache Arrow (equivalent of #9664 in native-image setup)
"--add-opens=java.base/java.nio=ALL-UNNAMED"
"--add-opens=java.base/java.nio=ALL-UNNAMED",
// Needed for grpc-gax
"--add-opens=java.base/java.time=ALL-UNNAMED"
) ++ enableHeapDumpOpts ++ debugOpts,
mainModule = Some("org.enso.runner"),
mainClass = Some("org.enso.runner.Main"),
Expand Down Expand Up @@ -5184,6 +5221,7 @@ lazy val `std-table` = project
.enablePlugins(Antlr4Plugin)
.settings(
frgaalJavaCompilerSetting,
mockitoAgentSettings,
autoScalaLibrary := false,
Compile / compile / compileInputs := (Compile / compile / compileInputs)
.dependsOn(SPIHelpers.ensureSPIConsistency)
Expand Down
2 changes: 1 addition & 1 deletion build_tools/ci_utils/src/cache/goodie/graalvm.rs
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ impl Goodie for GraalVM {
let dir_name = graalvm_dir.file_name();
let dir_name = dir_name.as_str();
ensure!(dir_name.contains("graalvm"));
ensure!(dir_name.contains(self.graal_version.to_string_core().as_str()));
ensure!(dir_name.contains(self.graal_version.major.to_string().as_str()));
let root = match TARGET_OS {
OS::MacOS => graalvm_dir.path().join_iter(["Contents", "Home"]),
_ => graalvm_dir.path(),
Expand Down
Loading
Loading