Make sure the downgrade operation is always reverted
This commit is contained in:
parent
533e84657e
commit
3bc0535c27
1 changed files with 15 additions and 8 deletions
|
|
@ -19,6 +19,19 @@ set -eo pipefail
|
|||
PYVER=${VERSION}
|
||||
SCRIPT_DIR="$(dirname "$(realpath "${BASH_SOURCE[0]}")")"
|
||||
|
||||
WORK_DIR=""
|
||||
DOWNGRADED=false
|
||||
|
||||
cleanup() {
|
||||
if [[ "$DOWNGRADED" == true ]]; then
|
||||
echo ""
|
||||
echo "=== Reverting package downgrade ==="
|
||||
dnf history undo last -y 2>&1 || echo "WARNING: dnf history undo failed" >&2
|
||||
fi
|
||||
[[ -n "$WORK_DIR" ]] && rm -rf "$WORK_DIR"
|
||||
}
|
||||
trap cleanup EXIT
|
||||
|
||||
# Directories containing compiled extension modules
|
||||
SCAN_DIRS=()
|
||||
for d in "/usr/lib64/python${PYVER}" "/usr/lib64/python${PYVER}t"; do
|
||||
|
|
@ -36,7 +49,6 @@ for f in /usr/lib64/libpython${PYVER}*.so.*; do
|
|||
done
|
||||
|
||||
WORK_DIR=$(mktemp -d)
|
||||
trap 'rm -rf "$WORK_DIR"' EXIT
|
||||
|
||||
echo "=== Collecting PR build symbols ==="
|
||||
python${PYVER} "$SCRIPT_DIR/collect_symbols.py" "${SCAN_ARGS[@]}" > "$WORK_DIR/new.json"
|
||||
|
|
@ -62,6 +74,7 @@ if ! dnf downgrade -y "${PKGS[@]}" 2>&1; then
|
|||
echo "INFO: dnf downgrade failed or no stable version available; skipping comparison." >&2
|
||||
exit 0
|
||||
fi
|
||||
DOWNGRADED=true
|
||||
|
||||
echo ""
|
||||
echo "=== Collecting stable version symbols ==="
|
||||
|
|
@ -69,10 +82,4 @@ python${PYVER} "$SCRIPT_DIR/collect_symbols.py" "${SCAN_ARGS[@]}" > "$WORK_DIR/o
|
|||
|
||||
echo ""
|
||||
echo "=== Comparing PR build against stable ==="
|
||||
python${PYVER} "$SCRIPT_DIR/compare_symbols.py" "$WORK_DIR/old.json" "$WORK_DIR/new.json" || COMPARE_RC=$?
|
||||
|
||||
echo ""
|
||||
echo "=== Reverting package downgrade ==="
|
||||
dnf history undo last -y 2>&1
|
||||
|
||||
exit ${COMPARE_RC:-0}
|
||||
python${PYVER} "$SCRIPT_DIR/compare_symbols.py" "$WORK_DIR/old.json" "$WORK_DIR/new.json"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue