diff --git a/scripts/percy-skip-deps.sh b/scripts/percy-skip-deps.sh new file mode 100755 index 000000000..c6d5c3ca6 --- /dev/null +++ b/scripts/percy-skip-deps.sh @@ -0,0 +1,37 @@ +#!/usr/bin/env bash + +set -o errexit +set -o pipefail + + +if [ "${GITHUB_HEAD_REF_SLUG}" == "main" ]; then + RANGE="HEAD~.." +else + git fetch origin main + RANGE="FETCH_HEAD...${GITHUB_SHA}" +fi + + +git log --no-merges --name-only --pretty=format: ${RANGE} | grep -Ev '^$' | sort | uniq | while read FILE ; do + if [[ "${FILE}" =~ ^ui/src/.+ ]]; then + echo "[P] ${FILE}" + exit 1 + elif [[ "${FILE}" =~ ^ui/.storybook/.+ ]]; then + echo "[P] ${FILE}" + exit 1 + elif [[ "${FILE}" == "ui/package.json" ]]; then + echo "[?] ${FILE}" + git diff --no-prefix --diff-filter=M --unified=0 ${RANGE} -- ui/package.json | grep -E '^\+ ' | tr -d '":,' | while read I NAME VERSION ; do + if [[ "${NAME}" =~ ^(@types|@sentry)/.+ ]]; then + echo "[S] ${NAME}: ${VERSION}" + else + echo "[P] ${NAME}: ${VERSION}" + exit 1 + fi + done + else + echo "[ ] ${FILE}" + fi +done + +exit 0