1515 uses : actions/checkout@v4
1616 - name : Set up environment
1717 uses : ./.github/workflows/env
18- - name : Set up Go
19- uses : actions/setup-go@v5
20- with :
21- go-version-file : go.mod
22- check-latest : true
23- cache-dependency-path : go.sum
24- id : go
2518 - name : Check for changes in licenses of dependencies
2619 run : |
2720 make legal
4134 uses : actions/checkout@v4
4235 - name : Set up environment
4336 uses : ./.github/workflows/env
44- - name : Set up Go
45- uses : actions/setup-go@v5
46- with :
47- go-version-file : go.mod
48- check-latest : true
49- cache-dependency-path : go.sum
50- id : go
5137 - name : Get linter version
5238 id : linter-version
5339 run : (echo -n "version="; make linter-version) >> "$GITHUB_OUTPUT"
7561 uses : actions/checkout@v4
7662 - name : Set up environment
7763 uses : ./.github/workflows/env
78- - name : Set up Go
79- uses : actions/setup-go@v5
80- with :
81- go-version-file : go.mod
82- check-latest : true
83- cache-dependency-path : go.sum
84- id : go
8564 - name : Cache coredump modules
8665 uses : actions/cache@v4
8766 with :
@@ -95,45 +74,46 @@ jobs:
9574 - name : Tests
9675 run : make test TARGET_ARCH=${{ matrix.target_arch }}
9776
98- check-ebpf -blobs :
99- name : Check for differences in the eBPF binary blobs
77+ check-binary -blobs :
78+ name : Check for differences in the eBPF and Rust binary blobs
10079 runs-on : ubuntu-24.04
10180 container : otel/opentelemetry-ebpf-profiler-dev:latest
81+ defaults :
82+ run :
83+ shell : bash --login {0}
10284 steps :
10385 - name : Clone code
10486 uses : actions/checkout@v4
105- - name : Hash eBPF blobs
87+ - name : Hash binary blobs
10688 run : |
107- sha256sum support/ebpf/tracer.ebpf.release.* > ebpf-blobs.hash
89+ sha256sum support/ebpf/tracer.ebpf.release.* > binary-blobs.hash
90+ sha256sum target/x86_64-unknown-linux-musl/release/libsymblib_capi.a >> binary-blobs.hash
91+ sha256sum target/aarch64-unknown-linux-musl/release/libsymblib_capi.a >> binary-blobs.hash
10892 - name : Rebuild eBPF blobs
10993 run : |
11094 rm support/ebpf/tracer.ebpf.release.*
11195 make amd64 -C support/ebpf
11296 make arm64 -C support/ebpf
97+ - name : Rebuild Rust blobs
98+ run : |
99+ rm -rf target/
100+ make rust-components TARGET_ARCH=amd64
101+ make rust-components TARGET_ARCH=arm64
113102 - name : Check for differences
114103 run : |
115- if ! sha256sum --check ebpf -blobs.hash; then
116- echo "Please rebuild and commit the updated eBPF binary blobs."
104+ if ! sha256sum --check binary -blobs.hash; then
105+ echo "Please rebuild and commit the updated binary blobs."
117106 exit 1
118107 fi
119108
120-
121109 build-integration-test-binaries :
122- name : Build integration test binaries (${{ matrix.target_arch }}-${{ matrix.go_version}} )
110+ name : Build integration test binaries (${{ matrix.target_arch }})
123111 runs-on : ubuntu-24.04
124112 timeout-minutes : 10
125113 strategy :
126114 matrix :
127115 target_arch : [amd64, arm64]
128- go_version : [1.23, 1.24]
129116 steps :
130- - name : Set up Go
131- uses : actions/setup-go@v5
132- with :
133- go-version : ${{ matrix.go_version }}
134- check-latest : true
135- cache-dependency-path : go.sum
136- id : go
137117 - name : Clone code
138118 uses : actions/checkout@v4
139119 - name : Set up environment
@@ -143,17 +123,16 @@ jobs:
143123 - name : Upload integration test binaries
144124 uses : actions/upload-artifact@v4
145125 with :
146- name : integration-test-binaries-${{ matrix.target_arch }}-${{ matrix.go_version}}
126+ name : integration-test-binaries-${{ matrix.target_arch }}
147127 path : support/*.test
148128
149129 integration-tests :
150- name : Integration tests (v${{ matrix.kernel }} ${{ matrix.target_arch }} ${{ matrix.go_version}} )
130+ name : Integration tests (v${{ matrix.kernel }} ${{ matrix.target_arch }})
151131 runs-on : ubuntu-24.04
152132 needs : build-integration-test-binaries
153133 timeout-minutes : 10
154134 strategy :
155135 matrix :
156- go_version : [1.23, 1.24]
157136 include :
158137 # List of available kernels here:
159138 # https://github.com/cilium/ci-kernels/pkgs/container/ci-kernels/versions?filters%5Bversion_type%5D=tagged
@@ -177,13 +156,6 @@ jobs:
177156 steps :
178157 - name : Clone code
179158 uses : actions/checkout@v4
180- - name : Set up Go
181- uses : actions/setup-go@v5
182- with :
183- go-version : ${{ matrix.go_version }}
184- check-latest : true
185- cache-dependency-path : go.sum
186- id : go
187159 - name : Install dependencies
188160 run : |
189161 sudo apt-get update -y
@@ -196,7 +168,7 @@ jobs:
196168 sudo mv ~/go/bin/bluebox /usr/local/bin/.
197169 - name : Fetch integration test binaries
198170 uses : actions/download-artifact@v4
199- with : { name: "integration-test-binaries-${{ matrix.target_arch }}-${{ matrix.go_version}} " }
171+ with : { name: "integration-test-binaries-${{ matrix.target_arch }}" }
200172 - name : Fetch precompiled kernel
201173 run : |
202174 install -d ci-kernels
0 commit comments