Re-using build statuses for existing tree hashes - or "passing fast"

In a feature branch/PR workflow it often occurs that builds get triggered on identical repo states. Therefore, pushing commits to a branch, build passes, fast-forward merge into master (code base is therefore identical), build is *rerun* on master.

From googling I’m surprised there’s such little discussion about this redundancy. The only article I found is this one: https://dev.to/taskworld/save-the-precious-build-minutes-reusing-build-outputs-with-git-tree-hash-k61 So clearly other people are thinking the same, but why aren’t more people interested in this? Am I missing some potentially non-obvious pitfalls?

So there are solutions to the problem, but they’re complex and verbose. The linked article’s solution could be used to easily skip pre-run stages, but what if I need the red/green status of that previous stage in order to run another (say deploy) stage? There are indeed ways to “fail fast”, but why are there not ways to “pass fast”?

1 Like

@tombh ,

Thanks for your feedback. GitHub takes your suggestions very seriously, and the suggestions are very helpful for improving GitHub.
I recommend you directly share your suggestion here. That will allow you to directly interact with the appropriate engineering team, and make it more convenient for the engineering team to collect and categorize your suggestions.

Thanks. I just posted it there.