• Manishearth
    nrc: ping
  • Manishearth
    nrc: we're talking about different things re: broken nightlies
  • nrc
    Manishearth: pong
  • nrc
    how so?
  • Manishearth
    nrc: writing up a comment
  • Manishearth
    nrc: posted
  • Manishearth
    nrc: tldr, the plan we'd envisioned for broken nightlies is that if you have clippy installed, it's as if nightlies without clippy do not exist
  • Manishearth
    (we can of course have a note in `rustup update` saying that "there was a nightly for X but we updated to Y because X didn't contain clippy")
  • nrc
    rustup can actually do that, although we're not using the facility right now because there are never nightlies with tools missing
  • nrc
    well, we don't update to the last good version, we just don't update
  • Manishearth
    hmm
  • Manishearth
    latest good would be better, but nbd
  • nrc
    yeah, I think there are few things to do to polish that feature
  • Manishearth
    nrc: so is there an objection with shipping clippy with nightly now via this mechanism, provided we can commit to fixing rustup breakages?
  • Manishearth
    (we can, they're less than once a week, and minor to fix. would be nice to get notified immediately -- i think right now emails aren't going out?)
  • Manishearth
    (though that might be becaue clippy hasn't been broken for a month)
  • nrc
    Manishearth: I think we'd have to wait a little while to prove that the RLS is fixed and not going to offer up any more surprises - we're not comfortable with multiple potential sources of surprises
  • Manishearth
    nrc: okay
  • Manishearth
    nrc: wfm
  • nrc
    we should work out exactly what changes we'd want in Rustup and do some testing. I think we can start with what we have and improve, but we would need to check that it works as intended
  • Manishearth
    nrc: we could ship it now behind a secret env var
  • Manishearth
    I_AM_DEVTOOLS=true rustup component install clippy
  • nrc
    that wouldn't help with issues in the CI etc
  • Manishearth
    yeah
  • Manishearth
    that would help with finding out the kinks
  • nrc
    certainly when we do this, we can just not announce it, we don't even need an env var
  • Manishearth
    yeah
  • nrc
    to have some time to figure out the kinks
  • Manishearth
    nrc: oh, also, it's unclear to me why asking contributors to hand off PRs is a burden ?
  • nrc
    more important is we need to be as sure as possible that we're not going to be creating problems with CI, etc
  • Manishearth
    nrc: could you expand on that?
  • nrc
    Manishearth: it's just another little speed bump between writing code and landing it - and Rust is already fairly high friction what with being a huge code base, compile times, bors time, high review bar, etc.
  • Manishearth
    nrc: right, I'm saying bors time already encompasses this speed bump
  • nrc
    but there is more in recognising why a test has failed and who to ping and how much to care about it
  • nrc
    not the time
  • Manishearth
    that can be built into the CI
  • Manishearth
    we can have ./x.py build/test clippy output something about pinging people
  • Manishearth
    (we could also have it trigger a github bot, though that might be kinda weird)
  • nrc
    we'd have to talk it over with infra and core people, but my impression is that even with good automation, it would be pretty hard to make it zero friction
  • Manishearth
    hm
  • Manishearth
    nrc: how about this plan: we do not gate on it, however, travis will email or otherwise notify us on PRs that break clippy. If we catch it in time, we take over and fix it. If not, we have to fix it later
  • nrc
    I think that doesn't work because we only know it breaks Clippy when we're running the pre-landing tests and as soon as they complete, we merge
  • nrc
    we could propose a 24hr wait or something if tools break
  • Manishearth
    nrc: to clarify my motivation: it's the notifications I really care about -- because if we catch it early we can fix it in the same cycle, otherwise we have to make another PR and push it through bors
  • Manishearth
    the cycle time is the issue basically
  • nrc
    but we can land tools fixes with high priority, so I don't think that buys us much over landing, then fixing
  • Manishearth
    nrc: i guess yeah
  • Manishearth
    (because if the cycle time is too much we have a broken nightly)
  • Manishearth
    nrc: 24hr wait on what?
  • Manishearth
    oh, on landing?
  • nrc
    right
  • Manishearth
    that can work
  • Manishearth
    would need homu support
  • nrc
    yeah, plus any breaking PR is doubling the test runs and we don't have much margin for that right now :-(
  • Manishearth
    I have plans for that but I can't really help till I have time to hack on homu
  • Manishearth
    I'm the only one maintaining homu right now and major changes are hard. especially since it doesn't have tests
  • Manishearth
    (the basic plan is autorollups based on user signaling and travis)
  • nrc
    so, re "more important is we need to be as sure as possible that we're not going to be creating problems with CI, etc" basically the worry is unknowns - we don't want too many surprises. E.g., things (Clippy or compiler) breaking in unexpected ways, unexpected time pressure on builds or complicated processes for people involved, etc. It's hard to give
  • nrc
    specifics because it's the things that we're not expecting that are worrying - we found a lot of stuff on the RLS rollout and we don't want to repeat the experience with Clippy
  • nrc
    (although to be fair, Rustfmt was much smoother)
  • nrc
    e.g., the last surprise was updating Rustfmt is now blocked because we moved to workspaces for Rustfmt, and we can't have nested to workspaces
  • Manishearth
    nrc: what were the RLS issues?
  • Manishearth
    nrc: also, the RLS breaks when the AST/hir breaks, yeah?
  • nrc
    not any more - we use the version of libsyntax on crates.io
  • nrc
    but that would be one
  • nrc
    that users didn't like nightly RLS disappearing was a big one
  • Manishearth
    nrc: how does it do resolution?
  • nrc
    multiple rustup issues
  • nrc
    name resolution? Using the save-analysis data
  • Manishearth
    hmm
  • nrc
    I remember fixing a bunch of stuff in the CI, but I don't recall exactly what now
  • nrc
    sorry, build system, not CI
  • nrc
    being subject to rustfmt breakages
  • nrc
    getting broken by different versions of libs from crates.io c.f., the compiler
  • nrc
    some painful interaction with a Cargo update
  • Manishearth
    hmm
  • nrc
    I don't remember lots more - lots of little things, rather than anything big
  • Manishearth
    nrc: how far off is RLS from riding the trains?
  • nrc
    it already is
  • nrc
    it works on stable today
  • nrc
    Rustfmt too
  • Manishearth
    oh okay
  • Manishearth
    nrc: okay, you mentioned waiting for RLS to be smoothed out -- what's left there?
  • Manishearth
    and how long will that be?
  • nrc
    oh one thing we learnt from the RLS was that having something on nightly but not riding the trains was a pain, so we don't want to do that again (we didn't with Rustfmt for example)
  • nrc
    I'm not aware of anything that is broken right now, it's just a matter of time to prove out that the current situation is working, since the last changes were pretty recent
  • nrc
    it's a case of persuading the core team rather than anything technical, so "how long will that be" is a hard question to answer
  • nrc
    I hope we can talk through this all in Berlin and get a plan together
  • nrc
    but it might be that we need the higher level API in the compiler before the compiler team are happy
  • nrc
    I think Niko already started talking to you a bit about that?
  • Manishearth
    nrc: why was it a pain?
  • Manishearth
    nrc: wfm
  • nrc
    because it had to be done manually for every release
  • Manishearth
    nrc: yeah I have a plan. basically we can wrap most of the stuff clippy calls into into util functions, and put them in librustc_lint or something
  • Manishearth
    nrc: oh
  • nrc
    cool, I think it would be good to talk that over with compiler folk in Berlin and see what they think
  • nrc
    I don't have opinions about the details there, though I'm happy to share what has worked and what hasn't with RLS/Rustfmt
  • Manishearth
    nrc: thanks
  • nrc
    np, hopefully we can get this moving again soon
  • Manishearth
    thanks
Last Message: 2 hours ago