Skip to content

Add fsck_on_error option#18

Open
staticfloat wants to merge 2 commits intomainfrom
sf/fsck_on_error
Open

Add fsck_on_error option#18
staticfloat wants to merge 2 commits intomainfrom
sf/fsck_on_error

Conversation

@staticfloat
Copy link
Copy Markdown
Member

This adds an fsck_on_error option which defaults to false, but if
set to true will use PkgFsck.jl 0 to check the validity of all
packages and artifacts in the current depot if the test run fails,
deleting any that fail the check. This is intended to be a self-healing
operation to catch improperly-instantiated depots that then poison the
CI server from then on.

Things are still broken for me because we need `julia` available in the
tester image.
@staticfloat
Copy link
Copy Markdown
Member Author

This is inspired by the fact that the BinaryBuilder2 CI runs pretty often fail with mysterious errors like:

LoadError: ArgumentError: Package LocalRegistry [89398ba2-070a-4b16-a995-9893c55d93cf] is required but does not seem to be installed:

Re-running usually works when it gets scheduled onto another node, presumably because that depot isn't corrupted.

@staticfloat
Copy link
Copy Markdown
Member Author

Requesting @KristofferC to look at this and tell me if I'm making a huge mistake (e.g. "This can take 1 hour to run properly", etc....)

@staticfloat staticfloat force-pushed the sf/fsck_on_error branch 4 times, most recently from 9e373e6 to 7e867d6 Compare February 23, 2026 04:11
This adds an `fsck_on_error` option which defaults to `false`, but if
set to `true` will use `PkgFsck.jl` [0] to check the validity of all
packages and artifacts in the current depot if the test run fails,
deleting any that fail the check.  This is intended to be a self-healing
operation to catch improperly-instantiated depots that then poison the
CI server from then on.

[0]: https://github.com/KristofferC/PkgFsck.jl/
@staticfloat
Copy link
Copy Markdown
Member Author

Example of this working:

Example of this not working:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant