-
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
Mar 18, 2022
1 parent
18b1ab7
commit d626b26
Showing
15 changed files
with
6,565 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,35 @@ | ||
name: 'vmtest' | ||
description: 'Build + run vmtest' | ||
inputs: | ||
arch: | ||
description: 'what arch to test' | ||
required: true | ||
default: 'x86_64' | ||
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 ${{ inputs.arch }} | ||
- 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: ${{ inputs.arch }} | ||
kernel-root: '.' | ||
- name: Run selftests | ||
uses: libbpf/ci/run-qemu@master | ||
with: | ||
arch: ${{ inputs.arch}} | ||
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,17 @@ | ||
#!/bin/bash | ||
|
||
set -euo pipefail | ||
|
||
ARCH="$1" | ||
|
||
THISDIR="$(cd $(dirname $0) && pwd)" | ||
|
||
source "${THISDIR}"/helpers.sh | ||
|
||
travis_fold start build_kernel "Building kernel" | ||
|
||
cp ${GITHUB_WORKSPACE}/travis-ci/vmtest/configs/config-latest.${ARCH} .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 | ||
} |
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,50 @@ | ||
name: bpf-ci | ||
|
||
on: | ||
pull_request: | ||
|
||
concurrency: | ||
group: ci-test-${{ github.head_ref }} | ||
cancel-in-progress: true | ||
|
||
jobs: | ||
VM_Test: | ||
runs-on: ${{ matrix.runs_on }} | ||
name: Kernel ${{ matrix.kernel }} on ${{ matrix.runs_on }} + selftests | ||
timeout-minutes: 100 | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
include: | ||
- kernel: 'LATEST' | ||
runs_on: ubuntu-latest | ||
arch: 'x86_64' | ||
- kernel: 'LATEST' | ||
runs_on: z15 | ||
arch: 's390x' | ||
env: | ||
AUTHOR_EMAIL: "$(git log -1 --pretty=\"%aE\")" | ||
KERNEL: LATEST | ||
REPO_ROOT: ${{ github.workspace }} | ||
REPO_PATH: "" | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- if: ${{ github.repository != 'kernel-patches/bpf' && github.repository != 'kernel-patches/bpf-rc' }} | ||
name: Download bpf-next tree | ||
uses: libbpf/ci/get-linux-source@master | ||
with: | ||
dest: '.kernel' | ||
- if: ${{ github.repository != 'kernel-patches/bpf' && github.repository != 'kernel-patches/bpf-rc' }} | ||
name: Move linux source in place | ||
shell: bash | ||
run: | | ||
rm -rf .kernel/.git | ||
cp -rf .kernel/. . | ||
rm -rf .kernel | ||
- uses: libbpf/ci/patch-kernel@master | ||
with: | ||
patches-root: '${{ github.workspace }}/travis-ci/diffs' | ||
repo-root: '${{ github.workspace }}' | ||
- uses: ./.github/actions/vmtest | ||
with: | ||
arch: ${{ matrix.arch }} |
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 |
---|---|---|
@@ -1,18 +0,0 @@ | ||
Linux kernel | ||
============ | ||
|
||
There are several guides for kernel developers and users. These guides can | ||
be rendered in a number of formats, like HTML and PDF. Please read | ||
Documentation/admin-guide/README.rst first. | ||
|
||
In order to build the documentation, use ``make htmldocs`` or | ||
``make pdfdocs``. The formatted documentation can also be read online at: | ||
|
||
https://www.kernel.org/doc/html/latest/ | ||
|
||
There are various text files in the Documentation/ subdirectory, | ||
several of them using the Restructured Text markup notation. | ||
|
||
Please read the Documentation/process/changes.rst file, as it contains the | ||
requirements for building and running the kernel, and information about | ||
the problems which may result by upgrading your kernel. | ||
Oops, something went wrong.