Merge pull request #521 from actions/camchenry/improve-check-dist
Improve output of `check-dist` workflow
This commit is contained in:
@@ -15,6 +15,11 @@ on:
|
|||||||
paths-ignore:
|
paths-ignore:
|
||||||
- '**.md'
|
- '**.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:
|
jobs:
|
||||||
check-dist:
|
check-dist:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -38,10 +43,18 @@ jobs:
|
|||||||
|
|
||||||
- name: Compare the expected and actual dist/ directories
|
- name: Compare the expected and actual dist/ directories
|
||||||
run: |
|
run: |
|
||||||
if [ "$(git diff --ignore-space-at-eol dist/ | wc -l)" -gt "0" ]; then
|
# Get a list of files that are different between the checked-in dist/ directory and the generated dist/ directory,
|
||||||
echo "Detected uncommitted changes after build. See status below:"
|
# then trim the list to remove any leading or trailing whitespace.
|
||||||
git diff
|
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
|
exit 1
|
||||||
|
else
|
||||||
|
echo "✅ No uncommitted changes detected after build."
|
||||||
fi
|
fi
|
||||||
id: diff
|
id: diff
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user