From fd5a1ac70899d50b2949ac684ceb4077a08ebb41 Mon Sep 17 00:00:00 2001 From: Liam DeBeasi Date: Wed, 13 Sep 2023 11:57:17 -0400 Subject: [PATCH] chore(ci): account for new screenshots in error logging (#28166) Issue number: N/A --------- ## What is the current behavior? We checked `git diff` to see if new screenshots were generated. If no new screenshots were generated then we print a user-friendly message informing the dev what happened. However, `git diff` does not account for untracked changes (i.e. new screenshots). As a result, this prevented new screenshots from being committed. ## What is the new behavior? - To fix this we use the `-N` flag which is short for `--intent-to-add`. This adds an entry with no content which causes the new screenshots to show up when running `git diff`. We later add the contents of the image. Example test run of this working: https://github.com/ionic-team/ionic-framework/actions/runs/6174263712/job/16759260534 ## Does this introduce a breaking change? - [ ] Yes - [x] No ## Other information --- .../actions/update-reference-screenshots/action.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/actions/update-reference-screenshots/action.yml b/.github/workflows/actions/update-reference-screenshots/action.yml index 47f3737325..52ac254169 100644 --- a/.github/workflows/actions/update-reference-screenshots/action.yml +++ b/.github/workflows/actions/update-reference-screenshots/action.yml @@ -34,7 +34,11 @@ runs: run: | git config user.name ionitron git config user.email hi@ionicframework.com - git add src/\*.png --force + + # This adds an empty entry for new + # screenshot files so we can track them with + # git diff + git add src/\*.png --force -N if git diff --exit-code; then echo -e "\033[1;31m⚠️ Error: No new screenshots generated ⚠️\033[0m" @@ -42,6 +46,9 @@ runs: echo -e "\033[1;31mMake sure you have pushed any code changes that would result in visual diffs.\033[0m" exit 1 else + # This actually adds the contents + # of the screenshots (including new ones) + git add src/\*.png --force git commit -m "chore(): add updated snapshots" git push fi