-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Nobody
committed
Feb 17, 2022
1 parent
1b8c924
commit adea906
Showing
13 changed files
with
3,773 additions
and
18 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
name: 'vmtest' | ||
description: 'Build + run vmtest' | ||
runs: | ||
using: "composite" | ||
steps: | ||
# 1. Setup environment | ||
- name: Setup build environment | ||
uses: libbpf/ci/setup-build-env@master | ||
# 2. Build | ||
- name: Build kernel image | ||
shell: bash | ||
run: ${GITHUB_ACTION_PATH}/build.sh | ||
- name: Build selftests | ||
shell: bash | ||
run: ${GITHUB_ACTION_PATH}/build_selftests.sh | ||
env: | ||
VMLINUX_BTF: ${{ github.workspace }}/vmlinux | ||
# 3. Test | ||
- name: Prepare rootfs | ||
uses: libbpf/ci/prepare-rootfs@master | ||
with: | ||
project-name: 'libbpf' | ||
arch: 'x86_64' | ||
kernel-root: '.' | ||
- name: Run selftests | ||
uses: libbpf/ci/run-qemu@master | ||
with: | ||
arch: 'x86_64' | ||
img: '/tmp/root.img' | ||
vmlinuz: '${{ github.workspace }}/vmlinuz' |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
#!/bin/bash | ||
|
||
set -euo pipefail | ||
|
||
THISDIR="$(cd $(dirname $0) && pwd)" | ||
|
||
source "${THISDIR}"/helpers.sh | ||
|
||
travis_fold start build_kernel "Building kernel" | ||
|
||
cp "${GITHUB_ACTION_PATH}"/latest.config .config | ||
make -j $((4*$(nproc))) olddefconfig all > /dev/null | ||
|
||
travis_fold end build_kernel |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
#!/bin/bash | ||
|
||
set -euo pipefail | ||
|
||
THISDIR="$(cd $(dirname $0) && pwd)" | ||
|
||
source "${THISDIR}"/helpers.sh | ||
|
||
travis_fold start prepare_selftests "Building selftests" | ||
|
||
LLVM_VER=15 | ||
LIBBPF_PATH="${REPO_ROOT}" | ||
|
||
PREPARE_SELFTESTS_SCRIPT=${THISDIR}/prepare_selftests-${KERNEL}.sh | ||
if [ -f "${PREPARE_SELFTESTS_SCRIPT}" ]; then | ||
(cd "${REPO_ROOT}/${REPO_PATH}/tools/testing/selftests/bpf" && ${PREPARE_SELFTESTS_SCRIPT}) | ||
fi | ||
|
||
if [[ "${KERNEL}" = 'LATEST' ]]; then | ||
VMLINUX_H= | ||
else | ||
VMLINUX_H=${THISDIR}/vmlinux.h | ||
fi | ||
|
||
cd ${REPO_ROOT}/${REPO_PATH} | ||
make \ | ||
CLANG=clang-${LLVM_VER} \ | ||
LLC=llc-${LLVM_VER} \ | ||
LLVM_STRIP=llvm-strip-${LLVM_VER} \ | ||
VMLINUX_BTF="${VMLINUX_BTF}" \ | ||
VMLINUX_H="${VMLINUX_H}" \ | ||
-C "${REPO_ROOT}/${REPO_PATH}/tools/testing/selftests/bpf" \ | ||
-j $((4*$(nproc))) > /dev/null | ||
cd - | ||
mkdir "${LIBBPF_PATH}"/selftests | ||
cp -R "${REPO_ROOT}/${REPO_PATH}/tools/testing/selftests/bpf" \ | ||
"${LIBBPF_PATH}"/selftests | ||
cd "${LIBBPF_PATH}" | ||
rm selftests/bpf/.gitignore | ||
git add selftests | ||
|
||
travis_fold end prepare_selftests |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
# $1 - start or end | ||
# $2 - fold identifier, no spaces | ||
# $3 - fold section description | ||
travis_fold() { | ||
local YELLOW='\033[1;33m' | ||
local NOCOLOR='\033[0m' | ||
if [ -z ${GITHUB_WORKFLOW+x} ]; then | ||
echo travis_fold:$1:$2 | ||
if [ ! -z "${3:-}" ]; then | ||
echo -e "${YELLOW}$3${NOCOLOR}" | ||
fi | ||
echo | ||
else | ||
if [ $1 = "start" ]; then | ||
line="::group::$2" | ||
if [ ! -z "${3:-}" ]; then | ||
line="$line - ${YELLOW}$3${NOCOLOR}" | ||
fi | ||
else | ||
line="::endgroup::" | ||
fi | ||
echo -e "$line" | ||
fi | ||
} | ||
|
||
__print() { | ||
local TITLE="" | ||
if [[ -n $2 ]]; then | ||
TITLE=" title=$2" | ||
fi | ||
echo "::$1${TITLE}::$3" | ||
} | ||
|
||
# $1 - title | ||
# $2 - message | ||
print_error() { | ||
__print error $1 $2 | ||
} | ||
|
||
# $1 - title | ||
# $2 - message | ||
print_notice() { | ||
__print notice $1 $2 | ||
} |
Oops, something went wrong.