Skip to content

feat(v2): adaptive sharding (#3578) #1001

feat(v2): adaptive sharding (#3578)

feat(v2): adaptive sharding (#3578) #1001

Workflow file for this run

name: Test eBPF
on:
push:
branches:
- main
- r[0-9]+ # Trigger builds after a push to weekly branches
paths:
- ebpf/**
pull_request:
paths:
- ebpf/**
concurrency:
# Cancel any running workflow for the same branch when new commits are pushed.
# We group both by ref_name (available when CI is triggered by a push to a branch/tag)
# and head_ref (available when CI is triggered by a PR).
group: "ci-ebpf-${{ github.ref_name }}-${{ github.head_ref }}"
cancel-in-progress: true
jobs:
test_ebpf_amd64:
name: on Bare-metal amd64
runs-on: ubuntu-latest-16-cores
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: 1.22.7
- name: Test
run: sudo make -C ./ebpf go/test/amd64
test_ebpf_qemu:
name: on QEMU
runs-on: ubuntu-latest-16-cores
strategy:
matrix:
include:
# - arch: amd64 # https://github.com/grafana/pyroscope/issues/3033
# kernel: amd64/boot/vmlinuz-4.19.0-26-amd64
# initrd: amd64/boot/initrd.img-4.19.0-26-amd64
- arch: amd64
kernel: amd64/boot/vmlinuz-5.10.0-28-amd64
initrd: amd64/boot/initrd.img-5.10.0-28-amd64
- arch: amd64
kernel: amd64/boot/vmlinuz-5.15.0-94-generic
initrd: amd64/boot/initrd.img-5.15.0-94-generic
- arch: amd64
kernel: amd64/boot/vmlinuz-5.4.0-150-generic
initrd: amd64/boot/initrd.img-5.4.0-150-generic
- arch: amd64
kernel: amd64/boot/vmlinuz-6.1.0-18-amd64
initrd: amd64/boot/initrd.img-6.1.0-18-amd64
- arch: amd64
kernel: amd64/boot_extra/vmlinuz-5.10.205-195.807.amzn2.x86_64
initrd: amd64/boot_extra/initramfs-5.10.205-195.807.amzn2.x86_64.img
# - arch: arm64 # https://github.com/grafana/pyroscope/issues/3033
# kernel: arm64/boot/vmlinuz-4.19.0-26-arm64
# initrd: arm64/boot/initrd.img-4.19.0-26-arm64
- arch: arm64
kernel: arm64/boot/vmlinuz-5.10.0-28-arm64
initrd: arm64/boot/initrd.img-5.10.0-28-arm64
- arch: arm64
kernel: arm64/boot/vmlinuz-5.15.0-94-generic
initrd: arm64/boot/initrd.img-5.15.0-94-generic
- arch: arm64
kernel: arm64/boot/vmlinuz-5.4.0-150-generic
initrd: arm64/boot/initrd.img-5.4.0-150-generic
- arch: arm64
kernel: arm64/boot/vmlinuz-6.1.0-18-arm64
initrd: arm64/boot/initrd.img-6.1.0-18-arm64
- arch: arm64
kernel: arm64/boot_extra/vmlinuz-5.10.205-195.807.amzn2.aarch64
initrd: arm64/boot_extra/initramfs-5.10.205-195.807.amzn2.aarch64.img
steps:
- name: Checkout code with submodule
uses: actions/checkout@v3
with:
submodules: recursive
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: 1.22.7
- name: Install qemu
run: sudo apt-get update && sudo apt-get -y install qemu-system-x86 qemu-system-aarch64
- name: Build tests
run: make -C ./ebpf ebpf.${{ matrix.arch }}.test
- name: Pull VM image
run: make -C ./ebpf/testdata/qemu_img dist/pull
- name: Start VM
run: >
KVM_ARGS="" ARCH=${{ matrix.arch }} KERNEL=${{ matrix.kernel }} INITRD=${{ matrix.initrd }} make -C ./ebpf/testdata/qemu_img qemu/start_and_wait
- name: Copy test binary
run: >
F=$(realpath ./ebpf/ebpf.${{ matrix.arch }}.test) make -C ./ebpf/testdata/qemu_img qemu/scp
- name: Uname
run: >
CMD="uname -a" make -C ./ebpf/testdata/qemu_img qemu/exec
- name: Run tests
run: >
CMD=./ebpf.${{ matrix.arch }}.test make -C ./ebpf/testdata/qemu_img qemu/exec