Skip to content

Commit f6a4f58

Browse files
committed
Use subdirs for before and after
1 parent 95c84da commit f6a4f58

File tree

1 file changed

+17
-11
lines changed

1 file changed

+17
-11
lines changed

.github/workflows/deps.yml

+17-11
Original file line numberDiff line numberDiff line change
@@ -31,20 +31,26 @@ jobs:
3131
- name: Compare dependencies
3232
run: |
3333
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_BASE_REF is set when the job is triggered by a PR.
38+
SOURCE_REF="${GITHUB_HEAD_REF:-source}"
3839
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')"
4143
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}"
4651
4752
echo "Comparing dependencies..."
53+
cd "${TEMP_DIR}"
4854
# 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 "@@"'
5056
echo "No changes detected."

0 commit comments

Comments
 (0)