feat: Auto-refresh github token (#3185) #17
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: 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@v4 | |
with: | |
go-version: 1.21.9 | |
- 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@v4 | |
with: | |
go-version: 1.21.9 | |
- 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 |