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>
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>
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>
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>
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>
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>
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>
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>
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>
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>