Files
qt6-migration-pipeline/final-migration/run_final_migration.sh
T

21 lines
1.1 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
# Run final clean configure / build / test in Docker using app/run_docker.sh
# Usage: ./final-migration/run_final_migration.sh [--jobs N]
# Requires the Docker image from ./app/run_docker.sh to be available (run ./app/run_docker.sh --build once if needed).
JOBS=5
while [[ $# -gt 0 ]]; do
case "$1" in
--jobs) JOBS="$2"; shift 2;;
-j*) JOBS="${1#-j}"; shift;;
*) echo "Unknown arg: $1"; exit 1;;
esac
done
# Run inside Docker: perform clean build directory, configure with Qt6, build and run ctest
./app/run_docker.sh ../sandbox -- bash -lc \
"set -euo pipefail && export LD_LIBRARY_PATH=/opt/Qt/6.8.3/gcc_64/lib:${LD_LIBRARY_PATH:-} && export QT_QPA_PLATFORM=offscreen && rm -rf /repo/build && cmake -S /repo -B /repo/build -G Ninja -DCMAKE_PREFIX_PATH=/opt/Qt/6.8.3/gcc_64 -DBUILD_WS=ON -DBUILD_TESTING=ON && cmake --build /repo/build -- -j${JOBS} && ctest --test-dir /repo/build --output-on-failure"
echo "Final migration build + tests complete. See ./build for artifacts and test logs in ./build/Testing/Temporary."