From 2858dc0991130f52bc00cdc38e89e2a2eba8b06a Mon Sep 17 00:00:00 2001 From: brandon s allbery kf8nh Date: Thu, 19 Sep 2024 20:22:20 -0400 Subject: [PATCH] add Makefile targets for fix-whitespace `make whitespace` now runs `fix-whitespace --check --verbose` and `make fix-whitespace` runs `fix-whitespace --verbose`. --- .github/workflows/whitespace.yml | 17 ++++++++++++++--- CONTRIBUTING.md | 4 +++- Makefile | 8 ++++++++ 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/.github/workflows/whitespace.yml b/.github/workflows/whitespace.yml index b6604798f1e..a6869a59e3f 100644 --- a/.github/workflows/whitespace.yml +++ b/.github/workflows/whitespace.yml @@ -7,10 +7,21 @@ on: jobs: whitespace: + defaults: + run: + shell: bash runs-on: ubuntu-latest steps: + - uses: actions/checkout@v4 - - uses: andreasabel/fix-whitespace-action@v1 - with: - verbose: true + + - run: | + # no longer using the action because apparently we're supposed to use the Makefile here + wget -q https://github.com/agda/fix-whitespace/releases/download/v0.1/fix-whitespace-0.1-linux.binary + mkdir -p "$HOME/.local/bin" + mv fix-whitespace-0.1-linux.binary "$HOME/.local/bin/fix-whitespace" + chmod +x "$HOME/.local/bin/fix-whitespace" + echo "$HOME/.local/bin" >> $GITHUB_PATH + + - run: make whitespace diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9a06d1c8329..b2d7cc47ffe 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -196,7 +196,9 @@ the code base. We use automated whitespace convention checking. Violations can be fixed by running [fix-whitespace](https://hackage.haskell.org/package/fix-whitespace). If -you push a fix of a whitespace violation, please do so in a _separate commit_. +you push a fix of a whitespace violation, please do so in a _separate commit_. For convenience, +`make whitespace` will show violations and `make fix-whitespace` will fix them, if the +`fix-whitespace` utility is installed. ## Other Conventions diff --git a/Makefile b/Makefile index 7b272c55e09..e0b239d80ad 100644 --- a/Makefile +++ b/Makefile @@ -41,6 +41,14 @@ style-commit: ## Run the code styler on the previous commit @git diff --name-only HEAD $(COMMIT) Cabal Cabal-syntax cabal-install \ | grep '.hs$$' | xargs -P $(PROCS) -I {} fourmolu -q -i {} +.PHONY: whitespace +whitespace: ## Run fix-whitespace in check mode + fix-whitespace --check --verbose + +.PHONY: fix-whitespace +fix-whitespace: ## Run fix-whitespace in fix mode + fix-whitespace --verbose + # source generation: SPDX SPDX_LICENSE_HS:=Cabal-syntax/src/Distribution/SPDX/LicenseId.hs