From 3ee14a9224638498dc26c14e9ca7410ee11e21fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=91=E5=BE=AE?= <1067852565@qq.com> Date: Mon, 17 Jul 2023 20:23:00 +0800 Subject: [PATCH] Add CI for libbpf base examples and kprobe (#45) * add ci for profile * fix unnecessary code in 7 * fix exit code 124 * fix llvm-strip * fix trailing space --- .github/workflows/test-eunomia.yaml | 38 +++++++++++++++++++ .../workflows/{test.yaml => test-libbpf.yml} | 18 ++++----- .gitignore | 3 ++ src/7-execsnoop/README.md | 1 - src/7-execsnoop/execsnoop.bpf.c | 1 - 5 files changed, 50 insertions(+), 11 deletions(-) create mode 100644 .github/workflows/test-eunomia.yaml rename .github/workflows/{test.yaml => test-libbpf.yml} (51%) diff --git a/.github/workflows/test-eunomia.yaml b/.github/workflows/test-eunomia.yaml new file mode 100644 index 0000000..7cf0cbf --- /dev/null +++ b/.github/workflows/test-eunomia.yaml @@ -0,0 +1,38 @@ +name: Test eunomia-bpf example CI + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + schedule: + - cron: '0 0 * * 0' +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + submodules: 'recursive' + - name: install deps + run: sudo apt install clang llvm-14-dev llvm + - name: install ecc and ecli + run: | + wget https://github.com/eunomia-bpf/eunomia-bpf/releases/latest/download/ecc && chmod +x ./ecc + wget https://aka.pw/bpf-ecli -O ecli && chmod +x ./ecli + - name: test 1 hello world + run: | + ./ecc src/1-helloworld/minimal.bpf.c + sudo timeout -s 2 3 ./ecli run src/1-helloworld/package.json || if [ $? = 124 ]; then exit 0; else exit $?; fi + - name: test 2 kprobe + run: | + ./ecc src/2-kprobe-unlink/kprobe-link.bpf.c + sudo timeout -s 2 3 ./ecli run src/2-kprobe-unlink/package.json || if [ $? = 124 ]; then exit 0; else exit $?; fi + - name: test 3 fentry + run: | + ./ecc src/2-kprobe-unlink/kprobe-link.bpf.c + sudo timeout -s 2 3 ./ecli run src/2-kprobe-unlink/package.json || if [ $? = 124 ]; then exit 0; else exit $?; fi + - name: test 7 execsnoop + run: | + ./ecc src/7-execsnoop/execsnoop.bpf.c src/7-execsnoop/execsnoop.h + sudo timeout -s 2 3 ./ecli run src/7-execsnoop/package.json || if [ $? = 124 ]; then exit 0; else exit $?; fi \ No newline at end of file diff --git a/.github/workflows/test.yaml b/.github/workflows/test-libbpf.yml similarity index 51% rename from .github/workflows/test.yaml rename to .github/workflows/test-libbpf.yml index fba0050..37c4368 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test-libbpf.yml @@ -1,4 +1,4 @@ -name: Test example CI +name: Test eunomia-bpf example CI on: push: @@ -14,16 +14,16 @@ jobs: - uses: actions/checkout@v3 with: submodules: 'recursive' - - name: install deps - run: sudo apt install clang llvm - - name: test hello world - run: | - wget https://github.com/eunomia-bpf/eunomia-bpf/releases/latest/download/ecc && chmod +x ./ecc - wget https://aka.pw/bpf-ecli -O ecli && chmod +x ./ecli - ./ecc src/1-helloworld/minimal.bpf.c - sudo timeout -s 2 3 ./ecli run src/1-helloworld/package.json || if [ $? = 124 ]; then exit 0; else exit $?; fi - name: install deps run: | sudo apt-get install -y --no-install-recommends \ libelf1 libelf-dev zlib1g-dev libclang-13-dev \ make git clang llvm pkg-config build-essential + - name: test 11 bootstrap + run: | + make -C src/11-bootstrap + sudo timeout -s 2 3 src/11-bootstrap/bootstrap || if [ $? = 124 ]; then exit 0; else exit $?; fi + - name: test 12 profile + run: | + make -C src/12-profile + # sudo timeout -s 2 3 src/12-profile/profile || if [ $? = 124 ]; then exit 0; else exit $?; fi diff --git a/.gitignore b/.gitignore index e9fd62d..8d853b8 100644 --- a/.gitignore +++ b/.gitignore @@ -64,3 +64,6 @@ src/12-profile/profile /sockfilter /tc /ksyscall + +ecc +ecli diff --git a/src/7-execsnoop/README.md b/src/7-execsnoop/README.md index fa9bc28..25e04e2 100644 --- a/src/7-execsnoop/README.md +++ b/src/7-execsnoop/README.md @@ -57,7 +57,6 @@ int tracepoint__syscalls__sys_enter_execve(struct trace_event_raw_sys_enter* ctx uid_t uid = (u32)bpf_get_current_uid_gid(); id = bpf_get_current_pid_tgid(); - pid = (pid_t)id; tgid = id >> 32; event.pid = tgid; diff --git a/src/7-execsnoop/execsnoop.bpf.c b/src/7-execsnoop/execsnoop.bpf.c index 50544fb..fcb0890 100644 --- a/src/7-execsnoop/execsnoop.bpf.c +++ b/src/7-execsnoop/execsnoop.bpf.c @@ -20,7 +20,6 @@ int tracepoint__syscalls__sys_enter_execve(struct trace_event_raw_sys_enter* ctx uid_t uid = (u32)bpf_get_current_uid_gid(); id = bpf_get_current_pid_tgid(); - pid = (pid_t)id; tgid = id >> 32; event.pid = tgid;