hey folks! assuming we can get a green build today...
# announce
w
hey folks! assuming we can get a green build today (gulp), i'd like to try and cut 1.24.x stable
h
I’d love to land the fix for multiple formatters and the passthrough args in this RC. Our travel plans got changed on us so I might have a little time this evening to address @average-vr-56795’s comments for multiple formatters. Although, it’s nothing more than clicking “commit suggestion” if you have a moment to do it earlier please
w
@hundreds-father-404: does toolchain use stable releases?
happy to do it, just wondering about the need to have it in the rc
h
We use any release, including dev. For the deprecation PRs, my sole motivation is to kick off the deprecation cycle sooner. I don’t want to have bump the removal version back one For the autoformatter, we aren’t using black yet in Toolchain so Toolchain doesn’t care about when that fix lands. Rather, I was thinking that it would be cool to explain in the release email that this is the first major release to offer a relatively stable V2 python linter/formatter experience (alpha -> beta?). Explain how to active Black, Flake8, and Isort, for example. V2 linters were a major push for the 1.24 series
w
ah, re: deprecations: absolutely.
re: explaining how to use v2 linting... possibly! really not sure how best to go about it
h
@happy-kitchen-89482’s possible changes to where and how we load backend packages is my only concern. Will those still stay in pants.backend.python.lint.*? Otherwise (to our knowledge) there is nothing more needed for Flake8, Isort, and Black! It would be great to rename fmt2 to fmt and lint2 to lint but we can’t do that for at least 2-3 major releases (deprecations)
w
yea, aligning around one lint command would be a significant step.
...but those deprecations don't exist yet...?
h
Yes I think those can stay in
pants.backend.python.lint
👍 1
h
Deprecating the default of —transitive is in the works. I think in 1.25 we switch the default iirc, and then we can remove the option outright in 1.27 We haven’t deprecated —skip yet. I think we default to not skipping, so all we’ll have to do is remove the option, ie we don’t need a deprecation cycle just to change the default. So, this is only blocked by landing the proposal we came up with yesterday for skip (I’ll draft a one pager on the flight) and then a deprecation cycle This means the rename is possible by 1.27.0 at the earliest, I believe
@happy-kitchen-89482 will you still load them the same through
backend_packages
? I haven’t closely followed the different PRs you have up
h
Well, through
backend_package2
for v2 rules.
But yes
w
i can wait until tonight to start cutting if that is helpful
if there is a clear plan of action, i might be able to help execute on it before then as well
h
That’d be great. Get to my new Airbnb in an hour-ish and then can try to land them. Is CI still broken though? Plan of action is: • get CI green for the two deprecations and merge with no modifications. Only fails due to the RBE token server outage • commit DWH’s suggested changes by clicking the buttons on the review. They looked good with no modifications. We wouldn’t have a test, but I verified it works and I can add an automated test when I’m back from the trip
w
Master is flaky but not broken, afaict
h
I suspect it’s Travis IP adddesses changing, meaning some shards will always fail no matter what and others will always pass. https://pantsbuild.slack.com/archives/C046T6T9U/p1576788828010200?thread_ts=1576786110.007300&channel=C046T6T9U&message_ts=1576788828.010200
Eh the bus keeps stopping to let people off. Probably won’t be at a computer for at least another hour and was planning on leaving pretty promptly to watch Star Wars tonight 😍 (will it be in Spanish? Who knows) I’ll try restarting the CI shards
w
i'll look for an ip change.
...nothing since september
ah, but Benjy looked at it. yay.
❤️ 1
h
my changes are all in. thanks Stu!
👍 1
a
Couple of things: 1. I don’t think we can say we have a stable lint/fmt v2 experience until we are comfortable registering them as goals called
lint
and
fmt
, which still has work to do 2. I definitely don’t think we can say we have a stable lint/fmt experience if, like happened with https://github.com/pantsbuild/pants/pull/8823 our response to a review comment of “Can we add some tests” is “I’m busy right now, I’ll do it as a follow up some time?” - I don’t really mind that happening here, because I view the code as unstable and experimental, but if we’re trying to make claims of stability in release notes, that’s not the attitude we should be taking 🙂
👍 1
(Basically: The progress is very exciting, but I don’t think we should be shouting about it quite yet - soon, though!)
h
Maybe explain that it’s still experimental - drop any mention of stability. But, still mention we now offer the 3 tools and explain how to use because it’s different than normal. For example, we know people from Disney streaming started using Black. The Flake8 implementation is an upgrade over pycodestyle that some people may be interested in, eg per-target interpreter constraints
w
agreed that merging the lint/lint2 fmt/fmt2 split is a key blocker.
👍 1