Skip to content

rust: update msrv to 1.85 #15060

Closed
jasonish wants to merge 11 commits into
OISF:mainfrom
jasonish:rust-1.8x/v3
Closed

rust: update msrv to 1.85 #15060
jasonish wants to merge 11 commits into
OISF:mainfrom
jasonish:rust-1.8x/v3

Conversation

@jasonish
Copy link
Copy Markdown
Member

  • Updates MSRV to 1.85.
  • CI changes use newer Rust on Ubuntu

We are suppressing a clippy warning as Rust 1.85 has C string literals. However
the cbindgen availabe with apt on Ubuntu 24.04 does not support these. C string
literals are a handy construct for us, but can be left til later.

Not a draft, but consider a preview of whats needed to support Rust 1.85,
hopefully in the near future.

Previous PR: #15034

jasonish added 11 commits March 18, 2026 10:08
Don't install extra repo's in the script, do it in CI. These are covered
by the documentation as they vary depending on the version and variant.
Debian 13 ships Rust 1.85 by default, Ubuntu requires installing a
specific patch to get newer then 1.75. So to support a newer MSRV,
these operating systems need different examples.
1.85 was chosen for now as it supports edition 2024. However, we have
not set our edition to 2024 yet.
Disable the clippy warning for not using modern C string
literals. Ubuntu 24.04 still ships cbindgen 0.26.0 that doesn't
support these, so migrating to modern C string literals would require
Ubuntu 24.04 users wishing to build from git to install cbindgen with
cargo.
To pick up a newer version of Rust.
@suricata-qa
Copy link
Copy Markdown

WARNING:
ERROR: buid failure for build_asan QA build

field baseline test %
build_asan

Pipeline = 30375

@coveralls
Copy link
Copy Markdown

Coverage Status

coverage: 79.308% (-0.007%) from 79.315%
when pulling 1f2bbd4 on jasonish:rust-1.8x/v3
into 6587e36 on OISF:main.

@codecov
Copy link
Copy Markdown

codecov Bot commented Mar 19, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 82.57%. Comparing base (6587e36) to head (1f2bbd4).
⚠️ Report is 18 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #15060      +/-   ##
==========================================
- Coverage   82.59%   82.57%   -0.02%     
==========================================
  Files         990      990              
  Lines      271761   271761              
==========================================
- Hits       224465   224420      -45     
- Misses      47296    47341      +45     
Flag Coverage Δ
fuzzcorpus 61.02% <ø> (ø)
livemode 18.34% <ø> (-0.03%) ⬇️
netns 18.35% <ø> (-0.03%) ⬇️
pcap 45.21% <ø> (-0.05%) ⬇️
suricata-verify 66.09% <ø> (-0.05%) ⬇️
unittests 58.83% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@victorjulien victorjulien added the needs baseline update QA will need a new base line label Mar 19, 2026
- run: make -j ${{ env.CPUS }}
- run: ./src/suricata --build-info # check if we can run Suricata

debian-13-minimal-recommended-build:
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I wonder if we could remove some builders because they do not bring any value...

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

I wonder if we could remove some builders because they do not bring any value...

Yeah, probably. Killed one off a couple weeks ago as its just required a few lines added to another similar build. Probably many more like this.

But this one tests documentation as well for a popular distro, so some are hard to get rid off, even if they don't do much different than another build.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

That was a general idea, not criticizing this PR

libjansson-dev \
libevent-dev \
libevent-pthreads-2.1-7 \
libpython2.7 \
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Should we remove all these obsolete libpython2 ?

Copy link
Copy Markdown
Contributor

@catenacyber catenacyber left a comment

Choose a reason for hiding this comment

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

Looks good but...

Looks like this first needs changes on QA side

ERROR: Rust 1.85.0 or newer required.
Rust version 1.75.0 was found.

@victorjulien
Copy link
Copy Markdown
Member

Looks good but...

Looks like this first needs changes on QA side

ERROR: Rust 1.85.0 or newer required.
Rust version 1.75.0 was found.

Please don't set this changes requested state if there is nothing to change. Now we need a new PR to clear the state. A baseline update has a label, so it should not lead to a "changes requested" state.

@jasonish
Copy link
Copy Markdown
Member Author

Replaced by #15111

@jasonish jasonish closed this Mar 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs baseline update QA will need a new base line

Development

Successfully merging this pull request may close these issues.

5 participants