Merge pull request #521 from actions/camchenry/improve-check-dist

Improve output of `check-dist` workflow
This commit is contained in:
Cam McHenry
2024-03-18 19:58:37 +00:00
committed by GitHub

View File

@@ -15,6 +15,11 @@ on:
paths-ignore:
- '**.md'
env:
# A pipe-separated array of files to ignore when comparing the expected and actual dist/ directories,
# which are used as a regular expression filter in the `grep` command.
FILES_TO_IGNORE: 'index.js.map|sourcemap-register.js'
jobs:
check-dist:
runs-on: ubuntu-latest
@@ -38,10 +43,18 @@ jobs:
- name: Compare the expected and actual dist/ directories
run: |
if [ "$(git diff --ignore-space-at-eol dist/ | wc -l)" -gt "0" ]; then
echo "Detected uncommitted changes after build. See status below:"
git diff
# Get a list of files that are different between the checked-in dist/ directory and the generated dist/ directory,
# then trim the list to remove any leading or trailing whitespace.
CHANGED_FILES=$(git diff --ignore-space-at-eol --name-only dist/ | grep -vE "$FILES_TO_IGNORE" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
if [ -n "$CHANGED_FILES" ]; then
echo "❗️ Detected uncommitted changes after build (see diff output below)." >&2
echo "This indicates that the dist/ directory is out of sync with the checked-in index.js." >&2
echo "⭐️ If the changes below are expected, run 'npm run build:compile && npm run build:package' and commit the output files." >&2
# Run `git diff` for each line/file in $CHANGED_FILES:
echo "$CHANGED_FILES" | xargs -I {} git diff --ignore-space-at-eol --text -- {}
exit 1
else
echo "✅ No uncommitted changes detected after build."
fi
id: diff