-
Notifications
You must be signed in to change notification settings - Fork 24
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
run-vmtest@v2 and build-selftests@v2 #150
Open
theihor
wants to merge
9
commits into
libbpf:main
Choose a base branch
from
theihor:run-vmtest-v2
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains 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
theihor
force-pushed
the
run-vmtest-v2
branch
from
November 5, 2024 21:51
4db1d56
to
ff45d47
Compare
theihor
changed the title
run-vmtest@v2: remove unused img input, make vmlinuz optional
run-vmtest@v2
Nov 5, 2024
theihor
force-pushed
the
run-vmtest-v2
branch
11 times, most recently
from
November 6, 2024 23:17
fa191b0
to
08a3466
Compare
Previously the first run-vmtest action step would always search for vmlinux image in KERNEL_ROOT, and then copy it to path specified by inputs.vmlinuz However, the caller may want to pass vmlinux image directly. Change this behavior: search only inputs.vmlinuz was not passed. Signed-off-by: Ihor Solodrai <[email protected]>
Various changes in the scripts aimed to make run-vmtest action usable by libbpf/libbpf workflows: * Change how ALLOWLIST and DENYLIST are set up. A script executing in qemu (vmtest) is now expecting a single $ALLOWLIST_FILE and $DENYLIST_FILE which are parsed by read_lists as usual. This change makes it easier for an action caller to modify the lists, as they are often composed from a number of files. * Update vmtest init command (executed in qemu before the tests), to create a link from /boot to vmlinux being tested. This is necessary when older kernels are tested. * Allow some env variables to be defined outside of the scripts to give the caller more control over the action. That is, before setting a default value, check if the variable is set. * Remove env vars like $THISDIR, $PROJECT_NAME etc. in favor of $GITHUB_ACTION_PATH, $GITHUB_WORKSPACE and $KERNEL_ROOT * Move selftests running scripts from ci/vmtest to run-vmtest, so that they are local to the action Signed-off-by: Ihor Solodrai <[email protected]>
theihor
force-pushed
the
run-vmtest-v2
branch
4 times, most recently
from
November 11, 2024 21:46
5db3a07
to
766dd98
Compare
theihor
force-pushed
the
run-vmtest-v2
branch
2 times, most recently
from
November 12, 2024 22:41
9f45a6b
to
1c98688
Compare
Adjust run-vmtest scripts so that the action is callable from libbpf/libbpf, particularly with pre-built kernels. More environment variables can now be set by a caller to direct the scripts behavior: SELFTESTS_BPF, VERISTAT_CONFIGS, VMLINUX, VMLINUZ A symlink to standard vmlinux location is created before vmtest is executed to accomodate older kernels. The command passed tp vmtest is refactored, separating generic vmtet init and VMTEST_SCRIPT execution. Search and processing of json test summaries is now noop in case when no summaries are found. Signed-off-by: Ihor Solodrai <[email protected]>
FETCH_DEPTH now controls how to get linux source. If it's 0, the snapshot is searched for and downloaded if found. Otherwise git clone --depth $FETCH_DEPTH is executed, and .git is preserved. Signed-off-by: Ihor Solodrai <[email protected]>
Changes in action inputs: * kernel-root is now a required input * kernel, kbuild-output and max-make-jobs are removed kernel-root input is required, because to build selftests one must to clone a kernel source tree first. The build script behavior can be directed more granularly with env variables: * KBUILD_OUTPUT now defaults to the kernel-root * VMLINUX_BTF now can be set externally * MAX_MAKE_JOBS can be set as env variable if desired Preparation script logic is removed: the rationale is that the caller is responsible for setting up required environment before building. Signed-off-by: Ihor Solodrai <[email protected]>
Introduce CACHED_KERNEL_BUILD variable and change download/build steps to make use of the cached incremental build on libbpf/ci workflows. Change parameters passed to build-selftests. Add a step preparing allow/denylist before running vmtest. Signed-off-by: Ihor Solodrai <[email protected]>
theihor
force-pushed
the
run-vmtest-v2
branch
from
November 13, 2024 22:31
1c98688
to
73fe629
Compare
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.
Updates to various actions and scripts with breaking API changes. The goal of the changes is to make the actions usable by libbpf/libbpf#862.
See commits for details.