Skip to content

Conversation

@Frizi
Copy link
Contributor

@Frizi Frizi commented Oct 17, 2025

Pull Request Description

  • Migrate to current rust stable version - 1.90.0
  • Get rid of special build profile for buildscript, hopefully preventing random full-project recompiles from happening so often during development

All other code changes are caused by formatting changes, dead code removal or new clippy lint rules finding trivial replacements.

Important Notes

The few remaining #[bench] tests were the only thing that depended on running nightly. Since we don't run them in CI anyway, they are now hidden under a "nightly" flag and can be manually enabled when running them locally. We can migrate them to criterion if desired, but the scope of that change would be significantly bigger.

@Frizi Frizi added the CI: No changelog needed Do not require a changelog entry for this PR. label Oct 20, 2025
@Akirathan Akirathan added the CI: Clean build required CI runners will be cleaned before and after this PR is built. label Oct 20, 2025
@Akirathan Akirathan removed the CI: Clean build required CI runners will be cleaned before and after this PR is built. label Oct 20, 2025
@4e6
Copy link
Contributor

4e6 commented Oct 21, 2025

Please run the nightly workflow to verify the release artifacts

@vitvakatu vitvakatu self-assigned this Oct 22, 2025
@vitvakatu vitvakatu added the CI: Clean build required CI runners will be cleaned before and after this PR is built. label Oct 22, 2025
@vitvakatu
Copy link
Contributor

Overnight:

Rerunning to verify flakiness.

Copy link
Contributor

@kazcw kazcw left a comment

Choose a reason for hiding this comment

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

Additionally removed wasm-bindgen-test run, since the remaining singular test was a copy of native test anyway, adding no value.

This test is important, actually. It is the crux of our current strategy for ensuring the parser cannot be crashed by inputs with deep nesting.

See here:

/// Maximum allowed nesting depth of compound objects. This is empirically determined to be reached
/// before stack overflow on supported targets (see [`test::test_infinite_recursion`] and
/// [`test::wasm::test_infinite_recursion`]).
const RECURSION_LIMIT: usize = 1024;

If we really need to remove this test, we should first ensure that RECURSION_LIMIT is well below the value that would currently allow stack overflows, to reduce the risk that future changes cause a regression in our crash-safety; and we should update the docs to no longer suggest that we are protected by this test. However lowering the limit to rely on a larger safety margin would reject more valid programs than we can accept with a level that is validated by testing.

@Frizi
Copy link
Contributor Author

Frizi commented Oct 23, 2025

We could bring back the wasm-bindgen test, but I'd like to keep it removed just in order to simplify the CI pipeline a bit. We also run the built parser within the GUI tests, so we could create a unit test in GUI that attempts a parse of very nested expression and check for the expected "recursion limit" to be returned. Also, the stack size of wasm module is configurable.

@vitvakatu
Copy link
Contributor

I think we can bring back the test and add a short manually written workflow that runs wasm-pack test for this specific file. I don’t want to bring back all the removed Rust workflow generator code.

@vitvakatu vitvakatu requested a review from kazcw October 23, 2025 18:07
@vitvakatu
Copy link
Contributor

vitvakatu commented Oct 23, 2025

I’m getting a consistent failure of Nightly release workflow for this branch: https://github.com/enso-org/enso/actions/runs/18758162553/job/53520741538#step:10:6479

I have no explanation why this happens: nightly builds against develop succeed.

GitHub
Enso Analytics is a self-service data prep and analysis platform designed for data teams. - Nightly Release · 37e1f5a

@vitvakatu
Copy link
Contributor

vitvakatu commented Oct 24, 2025

Exactly the same failure is now happening on develop, so I consider CI green. Let’s merge it to avoid any merge conflicts.

https://github.com/enso-org/enso/actions/runs/18767774530/job/53549155638

@vitvakatu vitvakatu added the CI: Ready to merge This PR is eligible for automatic merge label Oct 24, 2025
@mergify mergify bot merged commit d6f8cad into develop Oct 24, 2025
103 of 106 checks passed
@mergify mergify bot deleted the wip/frizi/rust-stable-1.90.0 branch October 24, 2025 09:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI: Clean build required CI runners will be cleaned before and after this PR is built. CI: No changelog needed Do not require a changelog entry for this PR. CI: Ready to merge This PR is eligible for automatic merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants