Hi, I'm using Dagger in my IaC Homelab repo for CI checks. I've created a custom Golang module with functions to build, test, and lint across the various languages and frameworks I'm using.
The composability of Dagger functions is probably my favorite part of Dagger. Dagger transparently handles building the dependency graph, caching results, running independent operations in parallel, etc.
When it comes to managing ignore parameters however, the process is quite manual. If I have function B that depends on function A, and I add or update the ignore patterns for A, I have to remember to make the same changes to B. If I don't, I could have a situation where calling B results in different paths being passed to A than if I had called A directly. This potentially breaks B.
As my Dagger module gets more complex, my ignore patterns have gotten unweildy. I'm to the point where I'm considering running some tool to analyze the ignore patterns and dependency graph and generate the patterns for me. Is there an easier way to handle this?
I think I wrote off using checks when I first started using Dagger because I thought my functions would need required flags. I never ended up adding any required flags.