@@ -88,22 +88,35 @@ jobs:
8888 run : cargo run -- exec -m walltime --skip-upload --warmup-time 0s --max-rounds 5 -- ls -la
8989
9090 bpf-tests :
91- runs-on : ubuntu-latest
91+ runs-on : ${{ matrix.os }}
9292 strategy :
9393 fail-fast : false
9494 matrix :
95+ os : [ubuntu-latest, ubuntu-24.04-arm, codspeed-macro]
9596 # Each memtrack integration test binary runs its cases serially
9697 # (eBPF tracker can't overlap with itself in one process), so we
9798 # shard at the test-binary level to parallelize across jobs.
98- test : [c_tests, cpp_tests, rust_tests, spawn_tests, dlopen_tests]
99+ test : [c_tests, cpp_tests, rust_tests, spawn_tests, dlopen_tests, rss_tests]
100+ include :
101+ # The folio CO-RE relocations in the rmap hooks depend on kernel
102+ # struct layouts that changed across versions (folio.flags in 6.18,
103+ # pageflags values in 6.10/6.12); keep older-kernel images in the
104+ # matrix so the legacy layouts stay covered once the latest images
105+ # move past them.
106+ - os : ubuntu-22.04
107+ test : rss_tests
108+ - os : ubuntu-22.04-arm
109+ test : rss_tests
99110 steps :
100111 - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
101112 with :
102113 lfs : true
103114 submodules : true
115+ - name : Show kernel version
116+ run : uname -rm
104117 - uses : ./.github/actions/install-rust
105118 with :
106- cache-key : ${{ matrix.test }}
119+ cache-key : ${{ matrix.os }}-${{ matrix. test }}
107120 - uses : ./.github/actions/install-bpf-deps
108121
109122 - name : Install additional allocators
@@ -115,8 +128,11 @@ jobs:
115128 run : sudo -E $(which cargo) test --lib --test ${{ matrix.test }} -- --test-threads 1 --nocapture
116129 working-directory : crates/memtrack
117130
118- # Since we ran the tests with sudo, the build artifacts will have root ownership
131+ # Since we ran the tests with sudo, the build artifacts will have root
132+ # ownership; always restore it so a failed run cannot poison the
133+ # workspace of later jobs on persistent self-hosted runners.
119134 - name : Clean up
135+ if : always()
120136 run : sudo chown -R $USER:$USER . ~/.cargo
121137
122138 benchmarks :
0 commit comments