-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Investigate non-reproducible build #27
Comments
Ah, a clue: git checkout b5a9c5cb7e41
cp Cargo.lock.eric Cargo.lock
cargo tree | grep -E 'esp-hal-common|esp32c3-hal' produced:
and, sure enough, the
|
Well, a more targeted solution seems to be
among others |
Still unknown: where did that v0.5.0 in the lock file come from? |
Wow love this trail of investigation! Yeah, also curious where v0.5.0 comes from. Did I have that in a Cargo.toml before an update to Cargo.toml, updating that dep? |
Hmm, I wonder? I can't find a complete story that's represented in the git history: in c75f742 we moved from explicitly providing the Lines 39 to 45 in 31b626f
to selecting version Lines 39 to 41 in c75f742
Lines 59 to 61 in c75f742
though that change didn't show up on the I can't quite form that into a coherent narrative: from the The time before that we touched Cargo.toml was 8f00fe0 , which was roughly contemporaneous with 0.5.0 being the latest version of the esp-hal stuff, which ran from esp-rs/esp-hal@d03c267 (Jan 26th) to esp-rs/esp-hal@4e88e48 (Feb 10th), but that fact doesn't help much unless we have a way to explain why cargo would use a (really) stale version of the crates-io repository? I guess now's as good a time as any to compare
aforementioned "more on
|
The test procedure I've got is:
(encoded as a script: https://gist.github.com/sethp/cc6a065fe3c73a2efa2872c40ad81489#file-test-sh ). I did turn off the patch for esp-hal-common in The good news is that in each of these, Trying again with the likely version of
Yields the same results. I didn't look too hard, but one difference that might be worth following up on between our versions is that mine is using the sparse registry protocol by default; it was noticeable in my testing just how much longer it took to update the crates.io index. Some ideas for what to try next:
I suppose the good news is that 2 is v. easy, and 1 should model the most common flow we expect (i.e. esp-rs/esp-hal releasing a new version into crates.io ahead of ours). So if those results are both negative, I think we can at least say we aren't mis-using cargo in an obvious way? And that it's at least somewhat reasonable to expect this to continue to work? Also, we'll be in a slightly better position if this happens again now that we've got an auditable history for |
What we know: when @dougli1sqrd tried to build b5a9c5c (pre-#19), he observed build failures, e.g.:
and
Spi::new_quad_send_only
is a function we've added in our rustbox/esp-hal fork, and the "failed to resolve" indicates an older version of the#[interrupt]
proc macro than I was using, so it seemed like he was building against a stale version of the upstream repository. Moving hisCargo.lock
aside, the nextcargo build
successfully produced an artifact.Why it is?
The text was updated successfully, but these errors were encountered: