21 Commits

Author SHA1 Message Date
Octavian Purdila
544fd53f42 lkl/ci: enable fuse tests
Install fuse so that lklfuse tests are run in CI.

Signed-off-by: Octavian Purdila <tavip@google.com>
2025-11-13 09:43:29 +00:00
David Disseldorp
5fcf33db22 lkl/ci: bump Windows openvpn version
OpenVPN-2.6.14-I001-amd64.msi is the latest, as per
https://openvpn.net/community-downloads/ .

Signed-off-by: David Disseldorp <ddiss@suse.de>
2025-06-06 21:30:54 +10:00
David Disseldorp
b2009f289c lkl/ci: use windows-2022 instead of windows-2019
windows-2019 is being phased out for GH actions:
  This is a scheduled Windows Server 2019 brownout. The Windows Server
  2019 image will be removed on 2025-06-30. For more details, see
  https://github.com/actions/runner-images/issues/12045

We should be able to migrate to windows-2025, but use 2022 for now to
avoid any major surprises. A list of image differences can be found at:
  https://github.com/actions/runner-images/issues/3949

Signed-off-by: David Disseldorp <ddiss@suse.de>
2025-06-06 21:28:20 +10:00
Hajime Tazaki
cef82e94b8 lkl: bump up ubuntu image for checkpatch
ubuntu 20.04 runner isn't available recently so, update the version.

Signed-off-by: Hajime Tazaki <thehajime@gmail.com>
2025-04-21 13:46:35 +09:00
Hajime Tazaki
a3ed157560 lkl: disable zpoline test on CI
zpoline test has been faced unstable crash on github actions on both
ubuntu 22.04 and 24.04 -based with different situations.  As a result,
the CI test with zpoline is unstable (sometimes passed but sometimes
not).

This commit disables the test for a while until the root issue is
resolved.  The issue is tracked at #577.

Link: https://github.com/lkl/linux/issues/577
Signed-off-by: Hajime Tazaki <thehajime@gmail.com>
2025-04-21 09:11:22 +09:00
Hajime Tazaki
b7889946bf lkl: fix zpoline runtime issue missing libgcc_s.so
Some of tests failed on zpoline build with random places, which are not
always reproducible.  All of them we found shows the message below,
which this commit adds the package to silence them.

 libgcc_s.so.1 must be installed for pthread_exit to work

Signed-off-by: Hajime Tazaki <thehajime@gmail.com>
2025-03-03 19:25:41 +09:00
Eugene Rodionov
07b74e7afd Add LKL fuzzers tests to github CI.
Move lkl-fuzzing test from tests group into a dedicated entry. Building
fuzzers target generates fuzzer bineries and produces no test binaries
(e.g. boot, disk, etc).

Enable MMU and libprotobuf-mutator for testing LKL fuzzers in CI.

Signed-off-by: Eugene Rodionov <rodionov@google.com>
2025-02-27 08:07:29 +00:00
Eugene Rodionov
1ee079e00a Add LKL test suite with MMU for github CI.
Run LKL tests (boot, disk, network) for LKL built with MMU configuration
and KASan enabled.

Signed-off-by: Eugene Rodionov <radius.evgeniy@gmail.com>
2025-01-04 15:52:27 -08:00
Hajime Tazaki
3995e1daab lkl: fix windows build on pip installation
recent pip (version 23.0 or later) cannot install packages to a host
system without explicit option thus, failed under github actions.  This
commit fixes this issue.

Link: https://github.com/pypa/pip/issues/11381
Signed-off-by: Hajime Tazaki <thehajime@gmail.com>
2024-12-26 16:52:44 +09:00
Akira Moroo
920da51dab lkl: Update GitHub Actions actions
The actions/upload-artifact v2 is deprecated, and it's no longer
available. [1]

[1] https://github.blog/changelog/2024-02-13-deprecation-notice-v1-and-v2-of-the-artifact-actions/

Signed-off-by: Akira Moroo <retrage01@gmail.com>
2024-09-22 05:39:50 +00:00
Hajime Tazaki
47af656b9b lkl: integrate with zpoline for alternate hijack backend
This commit introduces an integration with zpoline (*1), which is a
mechanism to rewrite binary upon loading.  zpoline allows us to replace
symbols of system call to different functions, which current LKL hijack
library does the same thing in a different way, by using symbol
replacement via LD_PRELOAD.

The benefit of zpoline is that the replacement of syscall is at the
instruction of `syscall` or `sysenter`, which userspace program can
catch all syscalls,  while the approach based on LD_PRELOAD cannot when
the symbols of interet are hidden within libc (e.g., __socket).

For more detail about the internal of zpoline, take a look at *1.

*1: https://github.com/yasukata/zpoline

Signed-off-by: Hajime Tazaki <thehajime@gmail.com>
2023-07-26 23:14:41 +09:00
Hajime Tazaki
21db97c77d lkl: fix openvpn installation issue on windows CI
The windows runner requires to install openvpn as the test uses windows
tap device.  But the installation step has been broken, probablly due to
the changes in the windows runner of github actions.

This commit fixes this issue by changing the installation with the other
way.

Signed-off-by: Hajime Tazaki <thehajime@gmail.com>
2023-06-09 11:02:23 +09:00
Eugene Rodionov
cc563a4552 github CI: add target for LKL fuzzers.
Add a new target to build LKL-based fuzzers using clang/lld toolchain.

Signed-off-by: Eugene Rodionov <rodionov@google.com>
2023-02-27 23:23:52 +00:00
Eugene Rodionov
9bc2d46a36 github CI: add target for clang-built LKL.
Add a new target to build LKL tests with LLVM toolchain using clang/lld.

Signed-off-by: Eugene Rodionov <rodionov@google.com>
2023-01-27 08:31:35 +00:00
Octavian Purdila
708ba3882c github CI: add target for KASAN tests
Add a new target and run all tests with KASAN enabled.

Signed-off-by: Octavian Purdila <tavip@google.com>
2022-12-13 23:00:33 +00:00
Hajime Tazaki
550d14e394 Merge pull request #507 from thehajime/merge-5.18
Merge 5.18
2022-11-22 08:48:17 +09:00
Octavian Purdila
7aa97c9d07 github CI: install libjsmn-dev
Add json host support in CI so that we can test features that depend
on it.

Also update to ubuntu-22.04, libjsmn-dev is not available on 20.04.

Signed-off-by: Octavian Purdila <tavip@google.com>
2022-11-16 12:08:59 +00:00
Hajime Tazaki
163a27e7f0 lkl: follow up fix after v5.12 merge (as-version.sh)
This commit disable ccache for msys2 build as it behaves oddly on
executing `gcc -x assmbler`.

Fixes: ba64beb174 ("kbuild: check the minimum assembler version in
Kconfig")
Signed-off-by: Hajime Tazaki <thehajime@gmail.com>
2022-08-08 16:22:50 +09:00
Hajime Tazaki
215e177c21 add msys2 CI target
The CI is reogranized with matrix builds for ubuntu and msys2.
It also applies ccache for speedup.

Signed-off-by: Hajime Tazaki <thehajime@gmail.com>
2022-05-18 10:41:59 +09:00
Octavian Purdila
40be2b3d74 CI: move coding style checks to GitHub
Check for both : and / host termination when looking for remotes.

Also simplify a bit the checkpath.sh script and assume that we do have
a LKL upstream remote - not useful running this script without one.

Signed-off-by: Octavian Purdila <tavi@cs.pub.ro>
2022-05-10 02:35:02 +00:00
Octavian Purdila
fe30821eb2 Add experimental support for github actions
For now just x86_64 is supported.

Signed-off-by: Octavian Purdila <tavi@cs.pub.ro>
2022-03-26 08:11:56 +00:00