biostacks.bt: use tracepoints instead of kprobes #11
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
name: CI | |
on: [push, pull_request] | |
# Cancel previous run if a new one is started | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
clang-format: | |
# Only run clang-format on pull requests. We want to allow people to | |
# ignore clang-format if they think it's not helpful. | |
if: "github.event_name == 'pull_request'" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: recursive | |
- name: Install clang-format | |
run: sudo apt-get install clang-format | |
- name: Download git-clang-format | |
run: wget https://raw.githubusercontent.com/llvm-mirror/clang/master/tools/clang-format/git-clang-format | |
- name: Install git-clang-format | |
run: sudo install -t /bin git-clang-format | |
- name: Fetch origin master | |
run: git fetch --no-tags --prune --depth=1 origin master | |
- name: clang-format | |
run: git clang-format origin/master | |
- name: diff | |
run: git diff --exit-code | |
build_test: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
env: | |
- NAME: LLVM 10 Debug | |
CMAKE_BUILD_TYPE: Debug | |
NIX_TARGET: .#bpftrace-llvm10 | |
RUNTIME_TEST_DISABLE: probe.kprobe_offset_fail_size,usdt.usdt probes - file based semaphore activation multi process | |
TOOLS_TEST_OLDVERSION: tcpdrop.bt | |
TOOLS_TEST_DISABLE: biosnoop.bt | |
- NAME: LLVM 10 Release | |
CMAKE_BUILD_TYPE: Release | |
NIX_TARGET: .#bpftrace-llvm10 | |
RUNTIME_TEST_DISABLE: probe.kprobe_offset_fail_size,usdt.usdt probes - file based semaphore activation multi process | |
TOOLS_TEST_OLDVERSION: tcpdrop.bt | |
TOOLS_TEST_DISABLE: biosnoop.bt | |
- NAME: LLVM 10 Clang Debug | |
CMAKE_BUILD_TYPE: Debug | |
NIX_TARGET: .#bpftrace-llvm10 | |
CC: clang | |
CXX: clang++ | |
RUNTIME_TEST_DISABLE: probe.kprobe_offset_fail_size,usdt.usdt probes - file based semaphore activation multi process | |
TOOLS_TEST_OLDVERSION: tcpdrop.bt | |
TOOLS_TEST_DISABLE: biosnoop.bt | |
- NAME: LLVM 11 Debug | |
CMAKE_BUILD_TYPE: Debug | |
NIX_TARGET: .#bpftrace-llvm11 | |
RUNTIME_TEST_DISABLE: probe.kprobe_offset_fail_size,usdt.usdt probes - file based semaphore activation multi process | |
TOOLS_TEST_OLDVERSION: tcpdrop.bt | |
TOOLS_TEST_DISABLE: biosnoop.bt | |
- NAME: LLVM 11 Release | |
CMAKE_BUILD_TYPE: Release | |
NIX_TARGET: .#bpftrace-llvm11 | |
RUNTIME_TEST_DISABLE: probe.kprobe_offset_fail_size,usdt.usdt probes - file based semaphore activation multi process | |
TOOLS_TEST_OLDVERSION: tcpdrop.bt | |
TOOLS_TEST_DISABLE: biosnoop.bt | |
- NAME: LLVM 12 Release | |
CMAKE_BUILD_TYPE: Release | |
NIX_TARGET: .#bpftrace-llvm12 | |
RUNTIME_TEST_DISABLE: probe.kprobe_offset_fail_size,usdt.usdt probes - file based semaphore activation multi process | |
TOOLS_TEST_OLDVERSION: tcpdrop.bt | |
TOOLS_TEST_DISABLE: biosnoop.bt | |
- NAME: LLVM 13 Release | |
CMAKE_BUILD_TYPE: Release | |
NIX_TARGET: .#bpftrace-llvm13 | |
RUNTIME_TEST_DISABLE: probe.kprobe_offset_fail_size,usdt.usdt probes - file based semaphore activation multi process | |
TOOLS_TEST_OLDVERSION: tcpdrop.bt | |
TOOLS_TEST_DISABLE: biosnoop.bt | |
- NAME: LLVM 14 Release | |
CMAKE_BUILD_TYPE: Release | |
NIX_TARGET: .#bpftrace-llvm14 | |
RUNTIME_TEST_DISABLE: probe.kprobe_offset_fail_size,usdt.usdt probes - file based semaphore activation multi process | |
TOOLS_TEST_OLDVERSION: tcpdrop.bt | |
TOOLS_TEST_DISABLE: biosnoop.bt | |
- NAME: LLVM 15 Release | |
CMAKE_BUILD_TYPE: Release | |
NIX_TARGET: .#bpftrace-llvm15 | |
RUNTIME_TEST_DISABLE: probe.kprobe_offset_fail_size,usdt.usdt probes - file based semaphore activation multi process | |
TOOLS_TEST_OLDVERSION: tcpdrop.bt | |
TOOLS_TEST_DISABLE: biosnoop.bt | |
- NAME: LLVM 16 Release | |
CMAKE_BUILD_TYPE: Release | |
NIX_TARGET: .#bpftrace-llvm16 | |
RUNTIME_TEST_DISABLE: probe.kprobe_offset_fail_size,usdt.usdt probes - file based semaphore activation multi process | |
TOOLS_TEST_OLDVERSION: tcpdrop.bt | |
TOOLS_TEST_DISABLE: biosnoop.bt | |
- NAME: LLVM 17 Release | |
CMAKE_BUILD_TYPE: Release | |
NIX_TARGET: .#bpftrace-llvm17 | |
RUNTIME_TEST_DISABLE: probe.kprobe_offset_fail_size,usdt.usdt probes - file based semaphore activation multi process | |
TOOLS_TEST_OLDVERSION: tcpdrop.bt | |
TOOLS_TEST_DISABLE: biosnoop.bt | |
- NAME: Memleak test (LLVM 11 Debug) | |
CMAKE_BUILD_TYPE: Debug | |
NIX_TARGET: .#bpftrace-llvm11 | |
RUN_MEMLEAK_TEST: 1 | |
RUN_TESTS: 0 | |
- NAME: Memleak test (LLVM 11 Release) | |
CMAKE_BUILD_TYPE: Release | |
NIX_TARGET: .#bpftrace-llvm11 | |
RUN_MEMLEAK_TEST: 1 | |
RUN_TESTS: 0 | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: DeterminateSystems/nix-installer-action@v4 | |
- uses: DeterminateSystems/magic-nix-cache-action@v2 | |
- name: Load kernel modules | |
# nf_tables and xfs are necessary for testing kernel modules BTF support | |
run: | | |
sudo modprobe nf_tables | |
sudo modprobe xfs | |
- name: Build and test | |
env: ${{matrix.env}} | |
run: ./.github/include/ci.py | |
irc: | |
# Notify IRC of build failures on pushes only if we are running from | |
# the main repo. We don't want this rule to trigger from forked repos. | |
needs: | |
- build_test | |
if: "failure() && github.event_name == 'push' && github.ref == 'refs/heads/master' && github.repository == 'iovisor/bpftrace'" | |
runs-on: ubuntu-latest | |
steps: | |
- name: Message channel | |
uses: rectalogic/notify-irc@v1 | |
with: | |
nickname: bpftrace-ci-bot | |
server: irc.oftc.net | |
port: 6667 | |
tls: false | |
channel: "#bpftrace" | |
message: | | |
master is BROKEN at https://github.com/iovisor/bpftrace/commit/${{github.sha}} |