-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Generate cached version of MLIR and CIRCT for master #763
Conversation
The cache is not shared between branches resulting in CIRCT and MLIR being built each time a new PR is created. This created a cached version of MLIR and CIRCT for master, which is shared with derived branches.
afb9fc5
to
84d120e
Compare
|
|
@sjalander What is the idea here? You create a single cached instance of CIRCT and MLIR on every push to master that is then used by future PRs instead of them building it? What happens if the version, i.e., commit, of CIRCT/MLIR changes within a PR? |
@phate The build should only happen if it hasn't already been cached in master, i.e., not on every push. So it should only happen once the commit hash of MLIR/CIRCT has been updated as this is used for the key to check the cache, or if the cache gets garbage collected by github. The PR checks the cache with the key based on the commit hash. So, if CIRCT or MLIR gets updated, then the key will not match and miss in the cache. It will then be built for the PR and then a second time when merged with master. After this, all new PRs should use the cached version built in master. |
The cache is not shared between branches, resulting in CIRCT and MLIR being built each time a new PR is created. This creates a cached version of MLIR and CIRCT for master, which is shared with derived branches.
The cache is not shared between branches, resulting in CIRCT and MLIR being built each time a new PR is created.
This creates a cached version of MLIR and CIRCT for master, which is shared with derived branches.