Skip to content

Commit 8c8bbda

Browse files
committed
ci: unbreak icc/icx CI (AcademySoftwareFoundation#4958)
A few days ago, the icc and icx CI tests started failing, saying they were out of disk space while installing dependencies (specifically, the intel compilers themselves). Now, the VFX Platform 2023 asf docker image I'm using hasn't changed, and neither has the years-old Intel rpms with the compilers. So maybe the runners themselves just changed again, in a way that adds some pre-installs and leaving us not quite enough disk space for everything else we need? Asking for a few less things to get installed seems to free up just enough space. And for the icx one, I also swtiched to the 2025 container, which let me use a slightly newer icx version. Also: Don't try to install giflib needlessly, which speeds up the setup time. And remove some dead code in my dependency setup script. Signed-off-by: Larry Gritz <[email protected]>
1 parent 2755723 commit 8c8bbda

File tree

2 files changed

+32
-14
lines changed

2 files changed

+32
-14
lines changed

.github/workflows/ci.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -299,24 +299,24 @@ jobs:
299299
fmt_ver: 7.1.3
300300
# icc MUST use this older FMT version
301301
pybind11_ver: v2.9.0
302-
setenvs: export USE_ICC=1 USE_OPENVDB=0
302+
setenvs: export USE_ICC=1 USE_OPENVDB=0 USE_OPENCV=0
303303
OIIO_EXTRA_CPP_ARGS="-fp-model=precise"
304304
FREETYPE_VERSION=VER-2-13-0
305305
DISABLE_libuhdr=1
306306
# For icc, use fp-model precise to eliminate needless LSB errors
307307
# that make test results differ from other platforms.
308-
- desc: VFX2023 icx/C++17 py3.10 exr3.1 ocio2.2 qt5.15
308+
- desc: VFX2025 icx/C++17 py3.11 exr3.3 ocio2.4 qt5.15
309309
nametag: linux-vfx2023.icx
310310
runner: ubuntu-latest
311-
container: aswf/ci-osl:2023
311+
container: aswf/ci-oiio:2025
312312
cc_compiler: icx
313313
cxx_compiler: icpx
314-
python_ver: "3.10"
315-
pybind11_ver: v2.10.0
314+
fmt_ver: 11.2.0
315+
python_ver: "3.11"
316+
pybind11_ver: v2.13.6
316317
simd: "avx2,f16c"
317318
benchmark: 1
318-
setenvs: export USE_OPENVDB=0
319-
xOPENCOLORIO_CXX=g++
319+
setenvs: export USE_OPENVDB=0 USE_OPENCV=0
320320
UHDR_CMAKE_C_COMPILER=gcc
321321
UHDR_CMAKE_CXX_COMPILER=g++
322322
# Building libuhdr with icx results in test failures

src/build-scripts/gh-installdeps.bash

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88

99
set -ex
10+
df -h
1011

1112

1213
#
@@ -17,14 +18,31 @@ if [[ "$ASWF_ORG" != "" ]] ; then
1718

1819
#ls /etc/yum.repos.d
1920

21+
# This will show how much space is taken by each installed package, sorted
22+
# by size in KB.
23+
# rpm -qa --queryformat '%10{size} - %-25{name} \t %{version}\n' | sort -n
24+
25+
# I would like this to free space by removing packages we don't need.
26+
# BUT IT DOESN'T, because uninstalling a package just ends is visibility
27+
# to the runtime, it doesn't remove it from the static container image
28+
# that's taking up the disk space. So this is pointless. But leaving it
29+
# here to remind myself not to waste time trying it again.
30+
# time sudo yum remove -y nsight-compute-2022.3.0 libcublas-devel-11-8 libcublas-11-8 libcusparse-devel-11-8 libnpp-devel-11-8 libnpp-11-8 libcurand-devel-11-8 libcurand-11-8 || true
31+
# time sudo yum remove -y nsight-compute-2024.3.1 libcublas-devel-12-6 libcublas-12-6 libcusparse-devel-12-6 libnpp-devel-12-6 libnpp-12-6 libcurand-devel-12-6 libcurand-12-6 || true
32+
33+
# time sudo dnf upgrade --refresh || true
34+
if [[ "${DO_RPMFUSION_REPO:-0}" != "0" ]] ; then
35+
time sudo dnf install --nogpgcheck https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm -y || true
36+
fi
37+
2038
if [[ "$ASWF_VFXPLATFORM_VERSION" == "2021" || "$ASWF_VFXPLATFORM_VERSION" == "2022" ]] ; then
21-
# CentOS 7 based containers need the now-nonexistant centos repo to be
39+
# CentOS 7 based containers need the now-nonexistent centos repo to be
2240
# excluded or all the subsequent yum install commands will fail.
2341
yum-config-manager --disable centos-sclo-rh || true
2442
sed -i 's,^mirrorlist=,#,; s,^#baseurl=http://mirror\.centos\.org/centos/$releasever,baseurl=https://vault.centos.org/7.9.2009,' /etc/yum.repos.d/CentOS-Base.repo
2543
fi
2644

27-
sudo yum install -y giflib giflib-devel || true
45+
# time time sudo yum install -y giflib giflib-devel || true
2846
if [[ "${USE_OPENCV}" != "0" ]] ; then
2947
sudo yum install -y opencv opencv-devel || true
3048
fi
@@ -68,12 +86,10 @@ if [[ "$ASWF_ORG" != "" ]] ; then
6886
sudo /usr/bin/yum install -y intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic-2022.1.0.x86_64
6987
set +e; source /opt/intel/oneapi/setvars.sh --config oneapi_2022.1.0.cfg; set -e
7088
elif [[ "$CXX" == "icpc" || "$CC" == "icc" || "$USE_ICC" != "" || "$CXX" == "icpx" || "$CC" == "icx" || "$USE_ICX" != "" ]] ; then
71-
# Lock down icx to 2023.1 because newer versions hosted on the Intel
72-
# repo require a libstd++ too new for the ASWF containers we run CI on
73-
# because their default install of gcc 9 based toolchain.
7489
sudo cp src/build-scripts/oneAPI.repo /etc/yum.repos.d
75-
sudo yum install -y intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic-2023.1.0.x86_64
76-
# sudo yum install -y intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic
90+
sudo yum install -y intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic
91+
# If we needed to lock down to a particular version, we could:
92+
# sudo yum install -y intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic-2023.1.0.x86_64
7793
set +e; source /opt/intel/oneapi/setvars.sh; set -e
7894
echo "Verifying installation of Intel(r) oneAPI DPC++/C++ Compiler:"
7995
icpx --version
@@ -215,5 +231,7 @@ if [[ "$USE_ICC" != "" ]] ; then
215231
export CC=icc
216232
fi
217233

234+
df -h
235+
218236
# Save the env for use by other stages
219237
src/build-scripts/save-env.bash

0 commit comments

Comments
 (0)