Move freebsd CI tests to github#634
Merged
Merged
Conversation
Test Results106 files ± 0 106 suites ±0 7m 37s ⏱️ +9s Results for commit bf73cae. ± Comparison against base commit 9523b2a. This pull request removes 13 and adds 13 tests. Note that renamed tests count towards both.♻️ This comment has been updated with latest results. |
959a789 to
1d1dc26
Compare
ddiss
approved these changes
May 11, 2026
ddiss
left a comment
There was a problem hiding this comment.
I'm not familiar with the BSDs, but this all looks reasonable to me.
FWIW, it looks like https://download.freebsd.org/releases/VM-IMAGES/14.4-RELEASE/amd64/Latest/ (and 15.0) also carries cloudinit images, which might be usable alongside the new cloud-localds logic.
Member
Author
|
Thanks @ddiss ! Yes, I am working on using cloud init images for running tests on VMs, hope to post that soon. |
clang builds generates a high volume of warnings regarding undefined behavior due to null pointer arithmetic in asm-generic/io.h: ./include/asm-generic/io.h:548:31: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] 548 | val = __raw_readb(PCI_IOBASE + addr); Suppresses the -Wnull-pointer-arithmetic warning for these macros to reduce compiler noise. Signed-off-by: Octavian Purdila <tavip@google.com>
Cross compiling with clang requires a sysroot, so do the require plumbing to make it work with compilation and linking in tools/lkl. If a SYSROOT option is provided pass it to clang as well as add standard paths relative to the sysroot for headers and libraries. Signed-off-by: Octavian Purdila <tavip@google.com>
Fixes the following warnings and errors:
In file included from lib/virtio_net_fd.c:16:
~/freebsd-sysroot/usr/include/sys/syslimits.h:38:2: warning: "No
user-serviceable parts inside." [-W#warnings]
38 | #warning "No user-serviceable parts inside."
| ^
lklfuse.c:284:18: error: use of undeclared identifier 'O_LARGEFILE'
284 | if (fi->flags & O_LARGEFILE)
| ^
lklfuse.c:290:18: error: use of undeclared identifier 'O_NOATIME'
290 | if (fi->flags & O_NOATIME)
| ^
lklfuse.c:298:18: error: use of undeclared identifier 'O_TMPFILE'
298 | if (fi->flags & O_TMPFILE)
| ^
lib/posix-host.c:266:6: error: call to undeclared function
'pthread_attr_get_np'; ISO C99 and later do not support implicit
function declarations [-Wimplicit-function-declaration]
266 | if (pthread_getattr_np(pthread_self(), &thread_attr))
Signed-off-by: Octavian Purdila <tavip@google.com>
Add script to create a FreeBSD sysroot and enable clang based build. Builds are enabled in CI as well, but tests are not yet enabled. Signed-off-by: Octavian Purdila <tavip@google.com>
Add scripts to create FreeBSD images and to start a FreeBSD VM. Rename Linux VM scripts so that we can use the same logic in the workflow for both FreeBSD and Linux runs. Signed-off-by: Octavian Purdila <tavip@google.com>
Skip building and running tests for disk-vfio-pci on FreeBSD. Signed-off-by: Octavian Purdila <tavip@google.com>
Add filesystem image setup and cleanup helpers and use them to avoid code duplication between the disk and lklfuse tests. Signed-off-by: Octavian Purdila <tavip@google.com>
To avoid "file text busy" error when running the lklfuse_lock_conflict test use lkl_test_cmd instead of lkl_test_exec for BSD test runs. This will avoid copying the binary again. Signed-off-by: Octavian Purdila <tavip@google.com>
Make the output quiet and remove unused ssh_push. Signed-off-by: Octavian Purdila <tavip@google.com>
Switch running the FreeBSD tests to github and remove the circleci FreeBSD steps. Doing so requires minor changes in the test infrastructure. Signed-off-by: Octavian Purdila <tavip@google.com>
1d1dc26 to
d8c5d92
Compare
Now that we have many builds for the same OS (gcc, clang, freebsd) a common ccache for all these builds is not working anymore. Use separate ccache instances for each build variant. Signed-off-by: Octavian Purdila <tavip@google.com>
2e9319d to
646e374
Compare
Even though we don't actually run tests for fuzzers (yet) integrating it in the matrix test job will allow us to reuse some of the optimizations we've been using there (like ccache). Also, eventually, we will enable tests for fuzzers as well. Also remove the clang-build as we already exercise it now with both FreeBSD and fuzzers. Signed-off-by: Octavian Purdila <tavip@google.com>
Add a test that runs first and waits for the VM to boot. Alternatively this can be implemented in CI only, but implementing it this way is also useful for local testing. Signed-off-by: Octavian Purdila <tavip@google.com>
Remove dead code caught by LLVM. Fixes the following warnings:
lib/net.c:44:20: warning: unused function 'set_sockaddr' [-Wunused-function]
static inline void set_sockaddr(struct lkl_sockaddr_in *sin, unsigned int addr,
lib/config.c:431:16: warning: variable 'bytes_read' set but not used [-Wunused-but-set-variable]
int ret = -1, bytes_read = 0;
Signed-off-by: Octavian Purdila <tavip@google.com>
646e374 to
bf73cae
Compare
thehajime
approved these changes
Jun 4, 2026
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.
No description provided.