rust-lang / miri

An interpreter for Rust's mid-level intermediate representation
Apache License 2.0
4.31k stars 327 forks source link

experiment with macOS M1 runners #3433

Closed RalfJung closed 5 months ago

RalfJung commented 5 months ago

Try running our macOS CI on the new free M1 runners. This would mean that our 3 jobs run 3 different OSes and 3 different host CPU architectures. :)

RalfJung commented 5 months ago

Hm, that doesn't seem to work -- they don't have cargo? According to this Ruts is supposed to be installed.

RalfJung commented 5 months ago

Oh so the problem was the cache, interesting. No idea how a bad cache would lead to that kind of error, probably because some binaries have the wrong architecture or so?

And the build was very fast, too. @rust-lang/miri what do you think, shall we give these runners a try? It's easy to switch back to the old runners if we're getting problems.

bors commented 5 months ago

:umbrella: The latest upstream changes (presumably #3436) made this pull request unmergeable. Please resolve the merge conflicts.

RalfJung commented 5 months ago

One point I didn't realize is that this is still a tier 2 target. So there's some risk things break as rustc CI doesn't cover everything.

But it's also easy to revert this PR in the future, should it become a problem.

RalfJung commented 5 months ago

Judging from this GH announcement, macos-latest will switch to M1 machines some time soon (April - June). So we have to either do something like this PR or set the runner to macos-12 to get more time to migrate.

saethlin commented 5 months ago

I do not think the risk is very high. If aarch64 MacOS breaks, too many of us will know because we develop on it. Speed is nice. No objection to merging this.

RalfJung commented 5 months ago

I do not think the risk is very high. If aarch64 MacOS breaks, too many of us will know because we develop on it. Speed is nice. No objection to merging this.

Yeah, makes sense. And additionally we can serve as a canary for Rust compiler stuff breaking on M1 hosts, which is a good service to the compiler team. This target is clearly going to become tier 1, so we may as well be part of slowly increasing test coverage.

@bors r+

Cc @shepmaster since you seem to be tracking M1 progress. :) Cc https://github.com/rust-lang/rust/issues/73908

bors commented 5 months ago

:pushpin: Commit 9e7ff74282d1ec8ae923a2dc6c03327a348d6b63 has been approved by RalfJung

It is now in the queue for this repository.

bors commented 5 months ago

:hourglass: Testing commit 9e7ff74282d1ec8ae923a2dc6c03327a348d6b63 with merge 38ed8a8134501e7eeece3a249443ae80f0938c9a...

RalfJung commented 5 months ago

@bors r+

bors commented 5 months ago

:pushpin: Commit a99ed29661dc95522115baec7a42ec8f4fdd9624 has been approved by RalfJung

It is now in the queue for this repository.

bors commented 5 months ago

:hourglass: Testing commit a99ed29661dc95522115baec7a42ec8f4fdd9624 with merge 5918da6bb4de2b5a66a3762af04566b6ae0cdafe...

bors commented 5 months ago

:sunny: Test successful - checks-actions Approved by: RalfJung Pushing 5918da6bb4de2b5a66a3762af04566b6ae0cdafe to master...

shepmaster commented 5 months ago

this is still a tier 2 target

To the best of my knowledge, this is in name only. Right when the M1 runners came out we enabled tests and other things that the tier 1 platforms do. It’s mostly waiting on me to do the paperwork for the promotion and I’m just waiting for a bit of stability on GitHub’s side over a medium-length time period.

switch to M1 machines some time soon (April - June)

I had missed that, so that might be the sign I was waiting for…