Dev/fix workflow cmake cache (#1484)
Build on RHEL8 docker image / build (push) Successful in 6m11s
Build on RHEL9 docker image / build (push) Successful in 6m26s
Build and Deploy on local RHEL9 / build (push) Successful in 2m9s
Build and Deploy on local RHEL8 / build (push) Successful in 5m2s
Run Simulator Tests on local RHEL9 / build (push) Successful in 18m38s
Run Simulator Tests on local RHEL8 / build (push) Successful in 22m8s

* Validate restored apt packages in CI before CMake configuration

Add checks for cached apt dependencies to catch incomplete installations. A temporary Ubuntu mirror/package index mismatch caused apt installation to fail, but the failure was not detected before CMake ran.

* continue on error uncommented to see that it actually restores the previous step. The previous commit was to check the error message on failure to install the packages

* repair didnt run earlier.. checking on condition from custom message

* Remove redundant HDF5 verification step from CI. And fix broken repairs half configured dependenceies before reinstalling requested packages

* fix the simulator tests workflow for the same reason as previous commit (not failing for actual failure to restore installation from cache)

* removed redundant checks for repair as we are not repairing anymore

* use a different cache (changing version)

* changing ubuntu back to 22 instead of 24 (latest) because of 'E: Failed to fetch mirror+file:/etc/apt/apt-mirrors.txt/pool/main/c/curl/libcurl4-openssl-dev_8.5.0-2ubuntu10.9_amd64.deb 404 Not Found'

* cache at specific version

* version typo

* go back to original version number  (was changed earlier to create a new cache everytime)

* added the other yaml

* minor, but recreating new caches with v1.0 version
This commit is contained in:
2026-07-07 15:17:16 +02:00
committed by GitHub
co-authored by GitHub
parent de47f2003c
commit 06770da4b3
2 changed files with 59 additions and 2 deletions
+32 -1
View File
@@ -21,11 +21,42 @@ jobs:
cache: 'pip'
- run: pip install pytest numpy colorama
- uses: awalsh128/cache-apt-pkgs-action@latest
# using a stable action version instead of latest to create/restore cache for now
- uses: awalsh128/cache-apt-pkgs-action@v1.6.1
with:
packages: libhdf5-dev qtbase5-dev qt5-qmake libqt5svg5-dev libpng-dev libtiff-dev libfmt-dev
version: 1.0
# verify packages restored from cache are installed.
# This catches incomplete apt installs after cache restore.
- name: Verify apt packages
id: verify_packages
run: |
failed=""
for pkg in \
libhdf5-dev \
qtbase5-dev \
qt5-qmake \
libqt5svg5-dev \
libpng-dev \
libtiff-dev \
libfmt-dev
do
if ! dpkg -s "$pkg" >/dev/null 2>&1; then
echo "Missing: $pkg"
failed="$failed $pkg"
fi
done
if [ -n "$failed" ]; then
echo "Missing packages after cache restore: $failed. Try deleting the cache and rerunning the workflow."
exit 1
else
echo "All apt packages are installed"
fi
- name: Configure CMake
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
+27 -1
View File
@@ -20,11 +20,37 @@ jobs:
cache: 'pip'
- run: pip install pytest numpy colorama pyzmq
- uses: awalsh128/cache-apt-pkgs-action@latest
# using a stable action version instead of latest to create/restore cache for now
- uses: awalsh128/cache-apt-pkgs-action@v1.6.1
with:
packages: libhdf5-dev libfmt-dev
version: 1.0
# verify packages restored from cache are installed.
# This catches incomplete apt installs after cache restore.
- name: Verify apt packages
id: verify_packages
run: |
failed=""
for pkg in \
libhdf5-dev \
libfmt-dev
do
if ! dpkg -s "$pkg" >/dev/null 2>&1; then
echo "Missing: $pkg"
failed="$failed $pkg"
fi
done
if [ -n "$failed" ]; then
echo "Missing packages after cache restore: $failed. Try deleting the cache and rerunning the workflow."
exit 1
else
echo "All apt packages are installed"
fi
- name: Configure CMake
run: |
cmake -B ${{github.workspace}}/build \