-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
Rebuild FIDO2 dependencies on failure #13410
Conversation
612dc89
to
6add950
Compare
Two Mondays in a row now I've had headers missing from include/ inside cached libraries. It's not clear how the builders are getting into that state - the script itself is not destructive and my expectation would be for /tmp to cleared entirely. This is a an attempt to avoid rebuilding everything on every job, which saves time and energy (plus rebuilding brings its own complications). If this keeps causing us woes, then I would reconsider. |
@codingllama according to https://superuser.com/a/187105, files in Perhaps we just need to move the build cache away from |
@espadolini yep, it does look like a period cleanup. The interesting part is that it deletes a bunch of headers but has tendency to keep libs around (even dylibs that we don't use), whereas I was (innocently) expecting a folder-wipe kind of deal. Drone changes $HOME to a per-build temporary directory, that's why many of our "script caches" use /tmp instead. |
6add950
to
2dff4ed
Compare
Friendly ping @EdwardDowling @smallinsky ? |
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 other approach is to calculated and store in a file the directory checksum for each lib dir content like: find $CBOR_PATH -type f -exec shasum {} \; | sort -k 2 | shasum
and compare the saved value with value calculated based on current build state.
Still, isn't there some other persistent absolute path we could use? |
@espadolini and I discussed a few options, the only persistent path that builders can write to is What do you say we give this a try? If it bites us again then I'll backpedal into separate library builds for every pipeline, which is of course slower but nicely isolated. |
2dff4ed
to
59ce214
Compare
Friendly ping @EdwardDowling @espadolini ? Could we get this one in? |
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.
+1 for just using /Users/$(whoami)/.teleport-fido2-cache
too
Thanks for the quick reply. I'm hoping this script will go away in favor of a better solution in the near future, so I'll push as-is. I may revisit with the |
/gcbrun |
59ce214
to
6d320de
Compare
12d68f5
to
ebdb5e8
Compare
ebdb5e8
to
d86d0e0
Compare
Attempt to detect builder environment inconsistencies by compiling a toy FIDO2 program - if this fails, then clear the cache and try again. Builders are sometimes getting into inconsistent states, this should help avoiding manual intervention in order to fix them.
Attempt to detect builder environment inconsistencies by compiling a toy FIDO2 program - if this fails, then clear the cache and try again. Builders are sometimes getting into inconsistent states, this should help avoiding manual intervention in order to fix them.
Rebuild FIDO2 dependencies on failure (#13410) Attempt to detect builder environment inconsistencies by compiling a toy FIDO2 program - if this fails, then clear the cache and try again. Builders are sometimes getting into inconsistent states, this should help avoiding manual intervention in order to fix them.
Attempt to detect builder environment inconsistencies by compiling a toy FIDO2 program - if this fails, then clear the cache and try again.
Builders are sometimes getting into inconsistent states, this should help avoiding manual intervention in order to fix them.