Hello again, This is the third version of my patch series to add a GitLab CI job to check for whitespace errors. Changes since V2: - In 35e293e6 (Merge branch 'ps/ci-test-with-jgit' into next, 2024-05-01), `install-docker-dependencies.sh` script was merged into `install-dependencies.sh` and removed. Thus this patch series now depends on that change and is updated to use the other script. - Changed the shebang to "#!/usr/bin/env bash". - Made the argument count validation more strict. - Fixed a typo. GitHub CI: - https://github.com/gitgitgadget/git/actions/runs/8941666020?pr=1727 - https://github.com/gitgitgadget/git/actions/runs/8941721282?pr=1727 GitLab CI: - https://gitlab.com/gitlab-org/git/-/jobs/6776032414 - https://gitlab.com/gitlab-org/git/-/jobs/6776038234 Thanks for the reviews, -Justin Justin Tobler (5): ci: pre-collapse GitLab CI sections github-ci: fix link to whitespace error ci: separate whitespace check script ci: make the whitespace report optional gitlab-ci: add whitespace error check .github/workflows/check-whitespace.yml | 67 ++---------------- .gitlab-ci.yml | 9 +++ ci/check-whitespace.sh | 95 ++++++++++++++++++++++++++ ci/lib.sh | 2 +- 4 files changed, 109 insertions(+), 64 deletions(-) create mode 100755 ci/check-whitespace.sh Range-diff against v2: 1: 924d3eb23c = 1: 924d3eb23c ci: pre-collapse GitLab CI sections 2: c8d8b444dc = 2: c8d8b444dc github-ci: fix link to whitespace error 3: 6b44b21dda ! 3: 933e0c33f9 ci: separate whitespace check script @@ .github/workflows/check-whitespace.yml: jobs: ## ci/check-whitespace.sh (new) ## @@ -+#!/bin/bash ++#!/usr/bin/env bash + +baseCommit=$1 +outputFile=$2 4: 87dfd1d5a9 ! 4: 374735c60f ci: make the whitespace report optional @@ Commit message ## ci/check-whitespace.sh ## @@ - #!/bin/bash + #!/usr/bin/env bash +# +# Check that commits after a specified point do not contain new or modified +# lines with whitespace errors. An optional formatted summary can be generated @@ ci/check-whitespace.sh outputFile=$2 url=$3 -+if test "$#" -eq 0 || test "$#" -gt 3 ++if test "$#" -ne 1 && test "$#" -ne 3 +then + echo "USAGE: $0 <BASE_COMMIT> [<OUTPUT_FILE> <URL>]" + exit 1 @@ ci/check-whitespace.sh: then + echo "Run the following command to resolve whitespace issues:" + echo "git rebase --whitespace=fix ${goodParent}" + -+ # If target output file is provided, write formatted ouput. ++ # If target output file is provided, write formatted output. + if test -n "$outputFile" + then + echo "🛑 Please review the Summary output for further information." 5: 175b300e91 ! 5: a7deaeadc7 gitlab-ci: add whitespace error check @@ .gitlab-ci.yml: static-analysis: +check-whitespace: + image: ubuntu:latest + before_script: -+ - ./ci/install-docker-dependencies.sh ++ - ./ci/install-dependencies.sh + script: + - ./ci/check-whitespace.sh "$CI_MERGE_REQUEST_TARGET_BRANCH_SHA" + rules: -- 2.45.0