Check for uncommitted files beyond dist/ directory (#278)

This checks for _any_ delta in the git repo, not just the `dist/`
directory. Any change should fail CI until it's either committed or
added to `.gitignore`.

Additionally, I clarified the script name/code slightly to explain why
it's needed/handled separately from checking for uncommitted files.
This commit is contained in:
Jeff Widman
2023-07-25 09:18:05 -07:00
committed by GitHub
parent e2a976cb74
commit 06df9f85d6
3 changed files with 29 additions and 14 deletions

View File

@@ -1,4 +1,4 @@
name: Check dist name: Check for uncommitted files
on: on:
pull_request: pull_request:
@@ -8,7 +8,8 @@ on:
- 'releases/*' - 'releases/*'
jobs: jobs:
verify-build: # make sure the checked in dist/ folder matches the output of a rebuild # This ensures a rebuild matches the checked-in dist/ folder
verify-build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
@@ -28,4 +29,15 @@ jobs:
run: npm run build run: npm run build
- name: Compare the expected and actual dist/ directories - name: Compare the expected and actual dist/ directories
run: bin/check-diff run: bin/check-build-output-in-dist-directory
check-for-uncommitted-files:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Compare the expected vs actual files
run: test -z "$(git status --porcelain)"

View File

@@ -0,0 +1,14 @@
#!/bin/bash
# Make sure we notice any untracked files generated by the build in the dist/ directory
git add --intent-to-add .
git diff --quiet dist/
retVal=$?
if [ $retVal -ne 0 ]; then
echo "Detected uncommitted changes after build:"
# The contents of the diff/ folder are marked as generated:
# https://github.com/dependabot/fetch-metadata/blob/6c2bf2fe33cc133b474165107a8b29ccc265dc96/.gitattributes#L1
# so this ensures we spit out the actual change in the obfuscated JS.
git --no-pager diff dist/
exit 1
fi

View File

@@ -1,11 +0,0 @@
#!/bin/bash
# Make sure we notice any untracked files generated by the build
git add --intent-to-add .
git diff --quiet dist/
retVal=$?
if [ $retVal -ne 0 ]; then
echo "Detected uncommitted changes after build:"
git --no-pager diff dist/
exit 1
fi