r/programming • u/Ok_Stomach6651 • 8h ago
Optimizing Our E2E Pipeline
https://slack.engineering/speedup-e2e-testing/53
u/chucker23n 7h ago
This work was not possible without contributions from:
Anirudh Janga, Josh Cartmell, Arminé Iradian, Anupama Jasthi, Matt Jennings, Zack Weeden, John Long, Issac Gerges, Andrew MacDonald, Vani Anantha and Dave Harrington
They needed 11 developers to figure out that when a PR doesn’t change the front-end, it doesn’t need to be rebuilt, nor uploaded to Amazon?
16
u/JoustyMe 7h ago
You know those jokes "how many X are needed to screw in a light bulb?"
So now we have "how many developers are needed to get managment to care about Tech Debt?"-14
9
u/bodiam 3h ago
What a strange blogpost. Github provides this feature out of the box:
on:
push:
branches :
- main
paths :
- 'src/frontend/**'
Not really clear to me why they couldn't use this approach.
3
u/qmunke 40m ago
They wanted the build to run, just not for the whole repo. This is why everyone who says to just use monorepos needs to understand there actually needs to be someone managing the things - which is reasonable at huge shops but hard to justify for those of us without a dedicated devx team
5
u/Flashynuff 6h ago
Geez a whole article about optimizing a pipeline and not a single trace/query screenshot. Let’s see the 📉!
2
u/ComoddifiedCraic 5h ago
Not frontend focused but runccc.dev solves this with a static analyser and runtime instrumentation. Ran against a massive enterprise test suite which took hours to run now takes less than a minute for any small changes
67
u/ebol4anthr4x 8h ago
This was one of the least useful articles I've ever read. It borders on blogspam. I don't know whether to feel good or bad that such a large and valuable company was making such basic mistakes in their CI pipelines for so long. tl;dr: They were rebuilding and persisting the artifacts to S3 on every single push, even if nothing changed, so they switched to using changeset conditionals in their CI configuration.