-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Build acl cache sequentially #2388
Conversation
76f8c25
to
6b22724
Compare
cmake --build $ACL_ROOT_DIR/build | ||
cd $ACL_ROOT_DIR | ||
set -x | ||
scons $MP Werror=0 debug=$ACL_DEBUG neon=1 opencl=0 embed_kernels=0 \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did CMake not work at all? It is surprising that it was building fine before.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, wasn't working for gcc or macOS, I imagine you hadn't changed ACL versions after switching to cmake so we were always reusing the cached build
Looks good. Just need to squash commits. |
.github/workflows/aarch64-acl.yml
Outdated
pull_request: | ||
types: [opened, synchronize, reopened] | ||
paths: | ||
- '.github/automation/ci-aarch64.json' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will this work correctly when we update ACL in a PR and the ci-aarch64.yml runs at the same time as the aarch64-acl.yml? Should ci-aarch64.yml not depend on aarch64-acl.yml finishing first?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've changed this workflow to a reusable workflow so this problem should be solved
fdc09ca
to
b363eb5
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is unfortunate that we have to build ACL sequentially so that we can cache it properly. This is a limitation of GitHub's API. But thanks for spotting it and fixing it.
b363eb5
to
2e21af9
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. 👍
The aarch64 nightly ci is failing due to a recent change in uxlfoundation#2388 where the ACL caching mechanism was changed. This updates the nightly pipeline to use the new caching system
The aarch64 nightly ci is failing due to a recent change in #2388 where the ACL caching mechanism was changed. This updates the nightly pipeline to use the new caching system
When using github actions caches with the matrix strategy, the
cache-hit
variable is shared amongst all the strategies, potentially causing a race condition when run in parallel. This work creates just the caches sequentially, avoiding this problem