5555 RUN_TESTS : ${{ contains(matrix.config.checks, 'tests') }}
5656 STDATOMIC : ${{ contains(matrix.config.checks, 'stdatomic') }}
5757 UBSAN : ${{ contains(matrix.config.checks, 'ubsan') }}
58+ build_deps : |
59+ ccache \
60+ libarchive-dev \
61+ libbsd-dev \
62+ libbpf-dev \
63+ libfdt-dev \
64+ libibverbs-dev \
65+ libipsec-mb-dev \
66+ libisal-dev \
67+ libjansson-dev \
68+ libnuma-dev \
69+ libpcap-dev \
70+ libssl-dev \
71+ libvirt-dev \
72+ ninja-build \
73+ pkg-config \
74+ python3-pip \
75+ python3-pyelftools \
76+ python3-setuptools \
77+ python3-wheel \
78+ zlib1g-dev
5879
5980 strategy :
6081 fail-fast : false
@@ -133,10 +154,7 @@ jobs:
133154 - name : Update APT cache
134155 run : sudo apt update || true
135156 - name : Install packages
136- run : sudo apt install -y ccache libarchive-dev libbsd-dev libbpf-dev
137- libfdt-dev libibverbs-dev libipsec-mb-dev libisal-dev libjansson-dev
138- libnuma-dev libpcap-dev libssl-dev libvirt-dev ninja-build pkg-config python3-pip
139- python3-pyelftools python3-setuptools python3-wheel zlib1g-dev
157+ run : sudo apt install -y ${{ env.build_deps }}
140158 - name : Install libabigail build dependencies if no cache is available
141159 if : env.ABI_CHECKS == 'true' && steps.libabigail-cache.outputs.cache-hit != 'true'
142160 run : sudo apt install -y autoconf automake libdw-dev libtool libxml2-dev libxxhash-dev
@@ -227,7 +245,31 @@ jobs:
227245 prepare-container-images :
228246 name : ${{ join(matrix.config.*, '-') }}
229247 runs-on : ubuntu-latest
248+ env :
249+ build_deps : |
250+ ccache \
251+ intel-ipsec-mb-devel \
252+ isa-l-devel \
253+ jansson-devel \
254+ libarchive-devel \
255+ libatomic \
256+ libbsd-devel \
257+ libbpf-devel \
258+ libfdt-devel \
259+ libpcap-devel \
260+ libvirt-devel \
261+ libxdp-devel \
262+ ninja-build \
263+ numactl-devel \
264+ openssl-devel \
265+ python3-pip \
266+ python3-pyelftools \
267+ python3-setuptools \
268+ python3-wheel \
269+ rdma-core-devel \
270+ zlib-devel
230271 outputs :
272+ build_deps : ${{ steps.get_keys.outputs.build_deps }}
231273 image : ${{ steps.get_keys.outputs.image }}
232274
233275 strategy :
@@ -240,6 +282,7 @@ jobs:
240282 - name : Generate various keys
241283 id : get_keys
242284 run : |
285+ echo 'build_deps='$(echo -n ${{ env.build_deps }}) >> $GITHUB_OUTPUT
243286 echo 'image=image-${{ matrix.config.image }}-'$(date -u +%Y-%m-%d) >> $GITHUB_OUTPUT
244287 - name : Retrieve image cache
245288 id : image_cache
@@ -259,11 +302,7 @@ jobs:
259302 run : docker exec -i dpdk dnf update -y
260303 - name : Install packages
261304 if : steps.image_cache.outputs.cache-hit != 'true'
262- run : docker exec -i dpdk dnf install -y ccache intel-ipsec-mb-devel
263- isa-l-devel jansson-devel libarchive-devel libatomic libbsd-devel
264- libbpf-devel libfdt-devel libpcap-devel libvirt-devel libxdp-devel
265- ninja-build numactl-devel openssl-devel python3-pip python3-pyelftools
266- python3-setuptools python3-wheel rdma-core-devel zlib-devel
305+ run : docker exec -i dpdk dnf install -y ${{ env.build_deps }}
267306 - name : Save image in cache
268307 if : steps.image_cache.outputs.cache-hit != 'true'
269308 run : |
@@ -335,11 +374,8 @@ jobs:
335374 - name : Update
336375 run : docker exec -i dpdk dnf update -y || true
337376 - name : Install packages
338- run : docker exec -i dpdk dnf install -y ccache intel-ipsec-mb-devel
339- isa-l-devel jansson-devel libarchive-devel libatomic libbsd-devel
340- libbpf-devel libfdt-devel libpcap-devel libvirt-devel libxdp-devel
341- ninja-build numactl-devel openssl-devel python3-pip python3-pyelftools
342- python3-setuptools python3-wheel rdma-core-devel zlib-devel
377+ run : docker exec -i dpdk dnf install -y
378+ ${{ needs.prepare-container-images.outputs.build_deps }}
343379 ${{ matrix.config.compiler }}
344380 - name : Run setup
345381 run : docker exec -i dpdk .ci/linux-setup.sh
0 commit comments