Tests for user function definition support #136
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: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 | |
- uses: DeterminateSystems/nix-installer-action@v4 | |
- uses: DeterminateSystems/magic-nix-cache-action@v2 | |
- name: clang-format | |
run: nix develop --command git clang-format --diff origin/master | |
build_test: | |
runs-on: ubuntu-latest | |
continue-on-error: true | |
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 == 'bpftrace/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/bpftrace/bpftrace/commit/${{github.sha}} |