File tree Expand file tree Collapse file tree 3 files changed +40
-11
lines changed
Expand file tree Collapse file tree 3 files changed +40
-11
lines changed Original file line number Diff line number Diff line change 1+ #! /bin/bash
2+
3+ set -x -euo pipefail
4+
5+ BPFTRACE_VERSION=${BPFTRACE_VERSION:- 0.22.1}
6+ BUILD_BPFTRACE=${BUILD_BPFTRACE:- }
7+
8+ BIN_DIR=/usr/local/bin
9+ sudo mkdir -p $BIN_DIR
10+
11+ if [[ -n " $BUILD_BPFTRACE " ]]; then
12+ # see https://github.com/bpftrace/bpftrace/blob/master/docker/Dockerfile.ubuntu
13+ sudo apt-get install -y \
14+ asciidoctor binutils-dev bison build-essential clang cmake flex git libbpf-dev \
15+ libbpfcc-dev libcereal-dev libelf-dev libiberty-dev libpcap-dev llvm-dev liblldb-dev \
16+ libclang-dev systemtap-sdt-dev zlib1g-dev
17+ git clone --depth 1 -b v${BPFTRACE_VERSION} https://github.com/bpftrace/bpftrace
18+ cd bpftrace/src
19+ cmake -B build -DBUILD_TESTING=OFF -DCMAKE_BUILD_TYPE=Release -DLLVM_DIR=$( llvm-config --prefix) /lib/cmake/llvm
20+ make -C build -j$( nproc)
21+ cd -
22+ sudo mv bpftrace/src/build/bpftrace $BIN_DIR /bpftrace
23+ else # download AppImage
24+ sudo curl -L -o $BIN_DIR /bpftrace https://github.com/bpftrace/bpftrace/releases/download/v${BPFTRACE_VERSION} /bpftrace
25+ fi
26+
27+ sudo chmod +x $BIN_DIR /bpftrace
28+
29+ # mount tracefs to avoid warnings from bpftrace
30+ grep -q tracefs /proc/mounts || mount -t tracefs tracefs /sys/kernel/tracing
31+
32+ # sanity check
33+ bpftrace --version
34+
Original file line number Diff line number Diff line change @@ -7,21 +7,12 @@ BPFTRACE_VERSION=${BPFTRACE_VERSION:-0.22.1}
77GCC_VERSION=${GCC_VERSION:- 13}
88
99# Install pre-requisites
10- export DEBIAN_FRONTEND=noninteractive
1110apt-get update -y
11+ DEBIAN_FRONTEND=noninteractive apt-get install -y tzdata
1212apt-get install -y curl file gawk libfuse2t64 make sudo
1313
1414# Install CC
1515apt-get install -y gcc-${GCC_VERSION} g++-${GCC_VERSION}
1616
17- # Download bpftrace release
18- apt-get install -y bpftrace
19- # BIN_DIR=/usr/local/bin
20- # mkdir -p $BIN_DIR
21- # curl -L -o bpftrace https://github.com/bpftrace/bpftrace/releases/download/v${BPFTRACE_VERSION}/bpftrace
22- # chmod +x bpftrace
23- # mv bpftrace $BIN_DIR
24- # bpftrace --version
17+ ${GITHUB_WORKSPACE} /.github/scripts/install-bpftrace.sh
2518
26- # mount tracefs to avoid warnings from bpftrace
27- grep -q tracefs /proc/mounts || mount -t tracefs tracefs /sys/kernel/tracing
Original file line number Diff line number Diff line change 1010 build-and-test :
1111
1212 strategy :
13+ fail-fast : false
1314 matrix :
1415 runs-on : [ 'ubuntu-latest', 'ubuntu-24.04-arm' ]
1516 shared : [ 0, 1 ]
@@ -20,13 +21,16 @@ jobs:
2021 name : ${{ endsWith(matrix.runs-on, '-arm') && 'arm64' || 'x86_64' }} SHARED=${{ matrix.shared }} gcc-${{ matrix.gcc-version }}
2122
2223 env :
24+ ARCH : ${{ endsWith(matrix.runs-on, '-arm') && 'arm64' || 'x86_64' }}
2325 GCC_VERSION : ${{ matrix.gcc-version }}
2426 SHARED : ${{ matrix.shared }}
2527
2628 steps :
2729 - uses : actions/checkout@v4
2830
2931 - name : Install prerequisites
32+ env :
33+ BUILD_BPFTRACE : ${{ env.ARCH == 'arm64' && 'true' || '' }}
3034 run : sudo -E .github/scripts/setup.sh
3135
3236 - name : Build SHARED=${{ matrix.shared }}
You can’t perform that action at this time.
0 commit comments