From: "Chris. Webster via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: "Chris. Webster" <chris@webstech.net>,
"Chris. Webster" <chris@webstech.net>
Subject: [PATCH] ci: github action - add check for whitespace errors
Date: Tue, 22 Sep 2020 07:28:04 +0000 [thread overview]
Message-ID: <pull.709.git.1600759684548.gitgitgadget@gmail.com> (raw)
From: "Chris. Webster" <chris@webstech.net>
Not all developers are aware of `git diff --check` to warn
about whitespace issues. Running a check when a pull request is
opened or updated can save time for reviewers and the submitter.
A GitHub workflow will run when a pull request is created or the
contents are updated to check the patch series. A pull request
provides the necessary information (number of commits) to only
check the patch series.
To ensure the developer is aware of any issues, a comment will be
added to the pull request with the check errors.
Signed-off-by: Chris. Webster <chris@webstech.net>
---
ci: GitHub Action - add check for whitespace errors
Not all developers are aware of git diff --check to warn about
whitespace issues. Running a check when a pull request is opened or
updated can save time for reviewers and the submitter.
A GitHub workflow will run when a pull request is created or the
contents are updated to check the patch series. A pull request provides
the necessary information (number of commits) to only check the patch
series.
To ensure the developer is aware of any issues, a comment will be added
to the pull request with the check errors.
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-709%2Fwebstech%2Fcw%2Fdiffcheck-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-709/webstech/cw/diffcheck-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/709
.github/workflows/check-whitespace.yml | 69 ++++++++++++++++++++++++++
1 file changed, 69 insertions(+)
create mode 100644 .github/workflows/check-whitespace.yml
diff --git a/.github/workflows/check-whitespace.yml b/.github/workflows/check-whitespace.yml
new file mode 100644
index 0000000000..9d070b9cdf
--- /dev/null
+++ b/.github/workflows/check-whitespace.yml
@@ -0,0 +1,69 @@
+name: check-whitespace
+
+# Get the repo with the commits(+1) in the series.
+# Process `git log --check` output to extract just the check errors.
+# Add a comment to the pull request with the check errors.
+
+on:
+ pull_request:
+ types: [opened, synchronize]
+
+jobs:
+ check-whitespace:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Set commit count
+ shell: bash
+ run: echo "::set-env name=COMMIT_DEPTH::$((1+$COMMITS))"
+ env:
+ COMMITS: ${{ github.event.pull_request.commits }}
+
+ - uses: actions/checkout@v2
+ with:
+ fetch-depth: ${{ env.COMMIT_DEPTH }}
+
+ - name: git log --check
+ id: check_out
+ run: |
+ log=
+ commit=
+ while read dash etc
+ do
+ case "${dash}" in
+ "---")
+ commit="${etc}"
+ ;;
+ "")
+ ;;
+ *)
+ if test -n "${commit}"
+ then
+ log="${log}\n${commit}"
+ echo ""
+ echo "--- ${commit}"
+ fi
+ commit=
+ log="${log}\n${dash} ${etc}"
+ echo "${dash} ${etc}"
+ ;;
+ esac
+ done <<< $(git log --check --pretty=format:"---% h% s" -${{github.event.pull_request.commits}})
+
+ if test -n "${log}"
+ then
+ echo "::set-output name=checkout::"${log}""
+ exit 2
+ fi
+
+ - name: Add Check Output as Comment
+ uses: actions/github-script@v3
+ id: add-comment
+ with:
+ script: |
+ github.issues.createComment({
+ issue_number: context.issue.number,
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ body: "Whitespace errors found in workflow ${{ github.workflow }}:\n\n${{ steps.check_out.outputs.checkout }}"
+ })
+ if: ${{ failure() }}
base-commit: 675a4aaf3b226c0089108221b96559e0baae5de9
--
gitgitgadget
next reply other threads:[~2020-09-22 7:28 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-22 7:28 Chris. Webster via GitGitGadget [this message]
2020-09-22 17:07 ` [PATCH] ci: github action - add check for whitespace errors Jeff King
2020-09-22 17:55 ` Junio C Hamano
2020-09-22 22:41 ` Chris Webster
2020-10-09 5:00 ` Chris Webster
2020-10-09 13:20 ` Johannes Schindelin
2020-10-09 16:23 ` Junio C Hamano
2020-10-09 17:59 ` Jeff King
2020-10-09 18:13 ` Junio C Hamano
2020-10-09 18:18 ` Jeff King
2020-10-09 18:56 ` Junio C Hamano
2020-10-10 5:26 ` Chris Webster
2020-10-10 6:29 ` Junio C Hamano
2020-09-22 22:17 ` Chris Webster
2020-09-24 6:51 ` Jeff King
2020-09-25 5:10 ` Chris Webster
2020-09-25 6:44 ` Jeff King
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=pull.709.git.1600759684548.gitgitgadget@gmail.com \
--to=gitgitgadget@gmail.com \
--cc=chris@webstech.net \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.