Skip to content

Commit

Permalink
ci: Run integration tests on Alpine
Browse files Browse the repository at this point in the history
This way we are making sure that the integration tests infra doesn't
regress on musl environments.
  • Loading branch information
vadorovsky committed Oct 10, 2024
1 parent 89098e3 commit 6c0bf0e
Showing 1 changed file with 29 additions and 1 deletion.
30 changes: 29 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -194,14 +194,24 @@ jobs:
- target: x86_64-unknown-linux-gnu
# We don't use ubuntu-latest because we care about the apt packages available.
os: ubuntu-22.04
- target: x86_64-unknown-linux-musl
os: ubuntu-22.04
container: docker.io/alpine:3.20
runs-on: ${{ matrix.os }}
container: ${{ matrix.container }}
steps:
- name: Install git
if: runner.os == 'Linux' && contains(matrix.container, 'alpine')
run: |
set -euxo pipefail
apk add git
- uses: actions/checkout@v4
with:
submodules: recursive

- name: Install prerequisites
if: runner.os == 'Linux'
if: runner.os == 'Linux' && matrix.container == ''
# ubuntu-22.04 comes with clang 13-15[0]; support for signed and 64bit
# enum values was added in clang 15[1] which isn't in `$PATH`.
#
Expand All @@ -216,6 +226,24 @@ jobs:
sudo apt -y install gcc-multilib locate qemu-system-{arm,x86}
echo /usr/lib/llvm-15/bin >> $GITHUB_PATH
- name: Install prerequisites
if: runner.os == 'Linux' && contains(matrix.container, 'alpine')
# Use clang for building the C eBPF programs for integration tests.
# Use gcc with binutils as the linker and libgcc_s as the runtime
# library.
run: |
set -euxo pipefail
apk add \
bash \
clang \
curl \
dpkg \
gcc \
jq \
qemu-system-arm \
qemu-system-x86_64 \
wget
- name: Install prerequisites
if: runner.os == 'macOS'
# The xargs shipped on macOS always exits 0 with -P0, so we need GNU findutils.
Expand Down

0 comments on commit 6c0bf0e

Please sign in to comment.