Skip to content

Port new fuzzer to v1 - #678

Open
bolshoytoster wants to merge 9 commits into
servo:v1from
bolshoytoster:v1
Open

bolshoytoster wants to merge 9 commits into
servo:v1from
bolshoytoster:v1

Conversation

@bolshoytoster

@bolshoytoster bolshoytoster commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

Closes #663.

@alejandro-vaz

Copy link
Copy Markdown
Collaborator

this really requires the new CI as well

@bolshoytoster

Copy link
Copy Markdown
Contributor Author

I'm waiting for #677 to merge first.

@alejandro-vaz

Copy link
Copy Markdown
Collaborator

hey @bolshoytoster do you have a name?? just so I can name you without pinging you directly to GitHub??

@bolshoytoster

Copy link
Copy Markdown
Contributor Author

I'm Taylor :)

@alejandro-vaz

Copy link
Copy Markdown
Collaborator

okay #677 merged now, we can continue

@bolshoytoster

Copy link
Copy Markdown
Contributor Author

I'll be completely honest: I don't know how CI works and I don't really know how to debug it. If I copy over checks.yml and fuzzing.yml from v2 will it just work?

@bolshoytoster

Copy link
Copy Markdown
Contributor Author

Are we porting #675 to v1?

@alejandro-vaz

Copy link
Copy Markdown
Collaborator

yeah also #675

a few notes:

  • we have to downgrade MSRV
  • callgrind needs a dev-dep or something like that
  • everything else seems to magically work

@alejandro-vaz

Copy link
Copy Markdown
Collaborator

missing file now

I think you can copy-paste the callgrind one

@bolshoytoster

Copy link
Copy Markdown
Contributor Author

I copied the file over. I just had to convert to v1 syntax and remove the from_elem bench since that's only in v2.

@bolshoytoster

Copy link
Copy Markdown
Contributor Author

Miri checks not taking 10 minutes is quite refreshing :)

@alejandro-vaz

Copy link
Copy Markdown
Collaborator

hahaha new miri checks are peak

the workflow of MSRV still needs to be downgraded otherwise the first 2018-edition version

@alejandro-vaz

Copy link
Copy Markdown
Collaborator

no no that edition was okay

@alejandro-vaz

Copy link
Copy Markdown
Collaborator

revert that

Comment thread .github/workflows/checks.yml Outdated
- name: checkout
uses: actions/checkout@v7
- name: install rust MSRV
uses: dtolnay/rust-toolchain@1.86

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I meant this

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

What's v1's MSRV? I can't seem to find it anywhere.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

since v1 doesn't have an explicit MSRV but has edition set to 2018, it means the MSRV is the first version with the 2018 edition

@bolshoytoster bolshoytoster Sep 27, 2026 •

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I've used 1.36, since the old workflow uses it. This causes an issue because for some reason the MSRV check is trying to read fuzz/Cargo.toml (maybe because of the workspace). It might be fixed if I change the edition back to 2018.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

yeah then change the fuzzing edition to 2018 if necessary

@alejandro-vaz

Copy link
Copy Markdown
Collaborator

???

it was 2018 not 2021

@bolshoytoster

Copy link
Copy Markdown
Contributor Author

Oh, iai-callgrind uses edition = "2021".

Do you reckon making it optional is enough?

@alejandro-vaz

Copy link
Copy Markdown
Collaborator

what if we just disable callgrind for v1 and remove the complexity altogether

@bolshoytoster

Copy link
Copy Markdown
Contributor Author

Yeah, it doesn't look like you can have optional dev-dependencies anyway.

It would've been nice to be able to directly compare callgrind bench results between v1/v2, but I think the regular bechmarks are good enough.

@alejandro-vaz

Copy link
Copy Markdown
Collaborator

tomorrow I'll review your PR that I'm now dead tired

I'll also open a ton of issues

by the way, msrv fails because the associated constant wasn't stabilized then, we have to use the module constant in std

@bolshoytoster

Copy link
Copy Markdown
Contributor Author

Thanks.

It looks like the previous workflow disabled tests on MSRV (#288). Should I keep them disabled or see if they'll work now?

@alejandro-vaz

Copy link
Copy Markdown
Collaborator

let's have them enabled better

@bolshoytoster

Copy link
Copy Markdown
Contributor Author

The test_size test seems to fail because MSRV doesn't do niches.

I'm not really sure what I can do.

I can't use #[cfg(version(..))] because it's unstable.

You don't have to respond immediately - I'm going to bed.

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