short reflection on the topic of release cadence a...
# development
c
short reflection on the topic of release cadence and process. Looking at the changes going into the 2.16.0 rcs, and the time it is taking to stabilize I wonder if we had moved to stable sooner, some of those would’ve instead gone into 2.16.1, 2.16.2 etc.. Not suggesting to go too fast with open or many unknowns, but still allowing some things to slip into patch releases to allow a more predictable timeframe for stabilization as now each time there are some minor fixes to the current rc, it’ll force another rc before going stable pushing it away one week at a time. It’s a balancing act and no one answer will always be the right one, but maybe worth considering from time to time.
👍 2
b
I feel like I'm to blame here, partially. historically I've waited until the first RC to try out Pants at my work repo. That's when the bugs started flowing in. And each bug meant waiting for the next RC, and then finding the next one. Maybe our testing isn't as good as it should be? Or maybe we need stricter reviews? Certainly testing newer Pants sooner would also assist.
c
yea, I’m not looking for blame here and certainly finding bugs and fixing them before releasing a stable version is preferable (rather we find the bugs than the wider user base). Finding many bugs during rc is a bit disconcerting though..
Part of my point though, is if those bugs affect a new feature or impact a smaller subset of users, it may have been good enough to patch them in follow up releases..
b
I think it boils down to testing and release cadence. We don't test soon enough (because technically as an organization, we don't do any testing that isn't pytest testing. We rely on early adopters). Honestly though each bug was in different backends. My thought is that we should decouple pants package from the backends so we CAN release those more often and push bugfixes immediately
👍 1
b
If doing so tightens up the release process so that for example 2.16.1 and 2.16.2 can roll out quickly too, then I think it worthwhile to explore yeah.
1
Re both proposals
c
totally agree with releasing backends separately would help this scenario.
b
Would we need more releasers if we decoupled the backends?
b
No. I'm determined to work on making releases as automatic as possible, so I'd call that a prereq
And it looks like others are determined too 😉
🙌 1
❤️ 1
c
not contributed to it (yet) but I’m also on board with 1) automation, then 2) the rest
b
I wonder if we (maintainers who have work/external pants repos) could try dev and alpha releases as they come out, to try to catch bugs earlier? This isn't particularly scalable and is attacking the problem from a different angle, but I feel there has to be some sort of human oversight to update to the latest features and identify "this weird behaviour/output/slowdown is a bug", in addition to obvious failures. Similar to Josh, I've mostly just been validating the rcs (unless I'm validating a particular feature I implemented or reviewed), but I'll go try out 2.17 and 2.18 now!
(https://pantsbuild.slack.com/archives/C0D7TNJHL/p1685057741490229 is an effort towards helping "find release-blocking bugs earlier")