@@ -35,11 +35,16 @@ echo "Checking if lock files are up to date..."
3535# Common pip-compile flags (must match compile-deps.sh)
3636COMPILE_FLAGS=" --quiet --strip-extras --generate-hashes --allow-unsafe"
3737
38- # Compile without modifying tracked files.
39- # Note: pip-compile prints the generated requirements to STDERR in --dry-run mode.
40- " ${VENV_DIR} /bin/pip-compile" ${COMPILE_FLAGS} --dry-run --output-file=server/requirements.txt server/requirements.in 1> /dev/null 2> " ${TEMP_DIR} /server-requirements.txt"
41- " ${VENV_DIR} /bin/pip-compile" ${COMPILE_FLAGS} --dry-run --output-file=harness/requirements.txt harness/requirements.in 1> /dev/null 2> " ${TEMP_DIR} /harness-requirements.txt"
42- " ${VENV_DIR} /bin/pip-compile" ${COMPILE_FLAGS} --dry-run --output-file=requirements-dev.txt requirements-dev.in 1> /dev/null 2> " ${TEMP_DIR} /dev-requirements.txt"
38+ # Seed temp outputs with current lockfiles so pip-compile reuses pinned versions
39+ # (pip-compile treats an existing output file as a constraints source unless --upgrade is used).
40+ cp server/requirements.txt " ${TEMP_DIR} /server-requirements.txt"
41+ cp harness/requirements.txt " ${TEMP_DIR} /harness-requirements.txt"
42+ cp requirements-dev.txt " ${TEMP_DIR} /dev-requirements.txt"
43+
44+ # Compile to temporary files (with hashes to match compile-deps.sh)
45+ " ${VENV_DIR} /bin/pip-compile" ${COMPILE_FLAGS} --output-file=" ${TEMP_DIR} /server-requirements.txt" server/requirements.in
46+ " ${VENV_DIR} /bin/pip-compile" ${COMPILE_FLAGS} --output-file=" ${TEMP_DIR} /harness-requirements.txt" harness/requirements.in
47+ " ${VENV_DIR} /bin/pip-compile" ${COMPILE_FLAGS} --output-file=" ${TEMP_DIR} /dev-requirements.txt" requirements-dev.in
4348
4449strip_pip_compile_header () {
4550 awk ' BEGIN{started=0} started{print; next} /^[[:space:]]*$/{next} /^#/{next} {started=1; print}' " $1 "
@@ -49,16 +54,19 @@ CHANGES=0
4954
5055if ! diff <( strip_pip_compile_header server/requirements.txt) <( strip_pip_compile_header " ${TEMP_DIR} /server-requirements.txt" ) > /dev/null 2>&1 ; then
5156 echo " ❌ server/requirements.txt is out of date"
57+ diff -u <( strip_pip_compile_header server/requirements.txt) <( strip_pip_compile_header " ${TEMP_DIR} /server-requirements.txt" ) | head -n 80 || true
5258 CHANGES=1
5359fi
5460
5561if ! diff <( strip_pip_compile_header harness/requirements.txt) <( strip_pip_compile_header " ${TEMP_DIR} /harness-requirements.txt" ) > /dev/null 2>&1 ; then
5662 echo " ❌ harness/requirements.txt is out of date"
63+ diff -u <( strip_pip_compile_header harness/requirements.txt) <( strip_pip_compile_header " ${TEMP_DIR} /harness-requirements.txt" ) | head -n 80 || true
5764 CHANGES=1
5865fi
5966
6067if ! diff <( strip_pip_compile_header requirements-dev.txt) <( strip_pip_compile_header " ${TEMP_DIR} /dev-requirements.txt" ) > /dev/null 2>&1 ; then
6168 echo " ❌ requirements-dev.txt is out of date"
69+ diff -u <( strip_pip_compile_header requirements-dev.txt) <( strip_pip_compile_header " ${TEMP_DIR} /dev-requirements.txt" ) | head -n 80 || true
6270 CHANGES=1
6371fi
6472
0 commit comments