Migrate FreeBSD CI from Cirrus to GitHub Actions#673
Closed
cberner wants to merge 3 commits intocberner:masterfrom
Closed
Migrate FreeBSD CI from Cirrus to GitHub Actions#673cberner wants to merge 3 commits intocberner:masterfrom
cberner wants to merge 3 commits intocberner:masterfrom
Conversation
The fuse_mount_mount_fusefs function (FreeBSD mount path) was not receiving or applying the SessionACL parameter, so the allow_other mount option was never passed to mount_fusefs. This caused the FreeBSD kernel to return EPERM for all operations by non-owner users (e.g. uid 65534 in pjdfstest), since only the mount owner was allowed access. Pass the acl parameter through and convert it to the allow_other mount option, matching the behavior of the Linux fusermount path. https://claude.ai/code/session_017h551yq57ivFUqcJyAmAfv
The cross-platform-actions teardown rsyncs files back as a non-root user, which fails on .lock files in target/debug/incremental/ created by the sudo cargo steps. Remove the target directory after tests complete to avoid this rsync error. https://claude.ai/code/session_017h551yq57ivFUqcJyAmAfv
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR migrates the FreeBSD continuous integration pipeline from Cirrus CI to GitHub Actions, while also fixing a bug in the FreeBSD mount implementation where ACL options were not being passed through to the
mount_fusefscommand.Key Changes
.cirrus.ymlto a newfreebsd-cijob in.github/workflows/ci.ymlusing thecross-platform-actions/action@v1.0.0to run tests on FreeBSD 14.3fuse_mount_mount_fusefs()function to properly handle ACL (Access Control List) options by:acl: SessionACLparameter to the function signatureaclparameter from the caller infuse_mount_fusermount()mount_fusefsImplementation Details
mount_fusefsbinarymount_fusefsinstead of the standardfusermountutilityhttps://claude.ai/code/session_017h551yq57ivFUqcJyAmAfv