build
build copied to clipboard
Disable incremental build using transitive digests
- Dart SDK Version: 3.3.3
- Package: build_resolvers 2.4.2
I recently implemented a CI/CD system using GitHub Actions to deploy our company's Flutter app. However, running build_runner takes an immense amount of time. Therefore, I investigated which builders were causing the delay. Through performance tracking of build_runner
, I discovered that build_resolvers|transitive_digests
was consuming time by digesting all package dependencies, particularly in the CI environment. I speculate this slowdown is due to the lack of dedicated digest computing hardware on GitHub-hosted runner machines compared to Apple Silicon Mac(It gets 20 times slower on github-hosted runner, which is almost 5 minutes). Implementing a lightweight build resolver that omits generating transitive digests could significantly reduce build times in environments not requiring incremental builds, especially as CI environments. I welcome your insights. Are there any reasons why digesting is mandatory even in environments that do not necessitate incremental builds?