Profile picture
puppy @duckinator
, 10 tweets, 2 min read Read on Twitter
me: *looks up project on PyPi*

said project: hi, yes, we're confident enough to explicitly add the "Development Status :: 6 - Mature" Trove classifier.

also said project: *has failing builds on master*

errr, y'all got some strange definitions of a mature project.
I legitimately don't understand why so many projects have this problem!

i regularly start projects, get past the prototype stage, then set it up so PRs that would cause master to fail can never get merged, even accounting for semantic conflicts with
- 19 days from project start to first passing build.
- no failing tests on master since day 19.

- no failing builds for 8 months.

- 12 days from project start to first passing build.
- no failing tests on master for 3 months.
this isn't a result of me being a better programmer.

this is a result of me using the tools available to enforce this.

if your TEST SUITE IS FAILING on the master/primary branch, you don't have a code problem — you have a process problem.

breaking the test suite is fine, but that should never be occurring _after_ a merge.
as an aside: more complicated CI setups — e.g. ones that rely on multiple external libraries/tools — can fail if acquiring those libraries/tools flakes out.

however, you should be able to just wait a bit and tell the CI system to re-run the test suite if that happens.
like the tl;dr of this thread is basically strive for reproducible builds, and if you haven't managed that, have a process which accommodates the lack of them.
also, as a bit of context for non-Python folks: Python uses the "Development Status :: 6 - Mature" trove classifier as the next step beyond production/stable, and that's why i find the claim questionable for a project with regular failing master builds.
also just realized i was a bit vague earlier.

I'm referring specifically to this scenario:

- CI says a PR passes,
- PR is merged,
- CI _immediately_ reports a build failure on master.

This is avoidable the majority of the time.
this one, which also matches what i sai but isn't what i was referring to, is trickier:

- CI says a PR passes,
- PR is merged,
- CI for master passes,
- master can't be built at some point later on. ¯\_(ツ)_/¯
Missing some Tweet in this thread?
You can try to force a refresh.

Like this thread? Get email updates or save it to PDF!

Subscribe to puppy
Profile picture

Get real-time email alerts when new unrolls are available from this author!

This content may be removed anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!

This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member and get exclusive features!

Premium member ($3.00/month or $30.00/year)

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!