@@ -31,20 +31,26 @@ jobs:
31
31
- name : Compare dependencies
32
32
run : |
33
33
set -eux
34
- BASE_REF="${GITHUB_BASE_REF:-master}"
35
- # Suffixes passed to mktemp must not contain "/".
36
- BEFORE_SUFFIX="${BASE_REF//\//_}"
37
- AFTER_SUFFIX="${GITHUB_HEAD_REF//\//_}"
34
+ TEMP_DIR="$(mktemp -d)"
35
+ # GITHUB_BASE_REF is set when the job is triggered by a PR.
36
+ TARGET_REF="${GITHUB_BASE_REF:-master}"
37
+ # GITHUB_HEAD_REF is set when the job is triggered by a PR.
38
+ SOURCE_REF="${GITHUB_HEAD_REF:-source}"
38
39
39
- BEFORE="$(mktemp -d --suffix="-${BEFORE_SUFFIX}")"
40
- AFTER="$(mktemp -d --suffix="-${AFTER_SUFFIX}")"
40
+ # Replace special characters in the branch names.
41
+ BEFORE_DIR_NAME="$(echo "${SOURCE_REF}" | sed 's/[^a-zA-Z0-9._-]/_/g')"
42
+ AFTER_DIR_NAME="$(echo "${TARGET_REF}" | sed 's/[^a-zA-Z0-9._-]/_/g')"
41
43
42
- scripts/gen-deps.sh "${AFTER}"
43
- # GITHUB_BASE_REF is set when the job is triggered by a PR.
44
- git checkout origin/"${BASE_REF}"
45
- scripts/gen-deps.sh "${BEFORE}"
44
+
45
+ mkdir "${TEMP_DIR}/${AFTER_DIR_NAME}"
46
+ scripts/gen-deps.sh "${TEMP_DIR}/${AFTER_DIR_NAME}"
47
+
48
+ git checkout "origin/${TARGET_REF}"
49
+ mkdir "${TEMP_DIR}/${BEFORE_DIR_NAME}"
50
+ scripts/gen-deps.sh "${TEMP_DIR}/${BEFORE_DIR_NAME}"
46
51
47
52
echo "Comparing dependencies..."
53
+ cd "${TEMP_DIR}"
48
54
# Run grep in a sub-shell since bash does not support ! in the middle of a pipe
49
- diff -u0 -r "${BEFORE }" "${AFTER }" | bash -c '! grep -v "@@"'
55
+ diff -u0 -r "./${BEFORE_DIR_NAME }" "./${AFTER_DIR_NAME }" | bash -c '! grep -v "@@"'
50
56
echo "No changes detected."
0 commit comments