-
Notifications
You must be signed in to change notification settings - Fork 12
Re-enable experimental support for cvmfs on macos runners #28
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
Conversation
While macfuse is no longer an option, there is now a nice alternative with fuse-t. This PR adds experimental support (I've successfully tested it with the nightly build, but there is no released cvmfs version with fuse-t support yet). 'Synthetic firmlinks' are used to create /cvmfs , since the root file system is now read-only on macos. One todo: need to check if we actually need the homebrew action or it can be moved somewhere else.
wdconinc
left a comment
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.
Cool! Great to see macos support come back :)
setup-cvmfs.sh
Outdated
| brew tap macos-fuse-t/homebrew-cask | ||
| brew install fuse-t |
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.
How long do these steps take, and can they be cached like we do with apt archives above?
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's 20 seconds for setup-homebrew and 20 seconds for these steps to install fuse-t. Seems like homebrew is not as easy to cache, at least I didn't find a simple recipe. So not sure if possible.
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.
homebrew has this: https://docs.brew.sh/Tips-N'-Tricks
and specifically "Pre-download a file for a formula" section might be interesting for us as it mentions caching, but I need to investigate a little bit
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.
Alternatively, it may also be faster to just directly install the .pkg for fuse-t : https://github.com/macos-fuse-t/fuse-t/?tab=readme-ov-file#other-details
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.
This is indeed faster (10s). I updated the setup accordingly.
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.
Also this might be interesting in the future: https://github.com/macos-fuse-t/fuse-t/wiki#experimental-fuse-t-framework
Maybe it could be possible to get rid of downloading and installing the separate package at some point
wdconinc
left a comment
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.
This looks good to me. Do you want to make more changes or are you ok with merging this? I assume you have merge privileges here :-)
While macfuse is no longer an option, there is now a nice alternative with fuse-t. This PR adds experimental support (I've successfully tested it with the nightly build, but there is no released cvmfs version with fuse-t support yet). @YBelikov may be able to add it in the context of a GSoC project.
'Synthetic firmlinks' are used to create /cvmfs , since the root file system is now read-only on macos.
One todo: need to check if we actually need the homebrew action or it can be moved somewhere else.