mirror of
https://github.com/cloudflare/cloudflared.git
synced 2026-06-23 04:10:20 +00:00
chore: Add pre-push hooks
Adding pre-push hooks to cloudflared. While developing in cloudflared, I found myself constantly bumping into issues in CI, as I was forgetting to run linters and tests at times. We should run these before pushing any code to our repo.
This commit is contained in:
Executable
+29
@@ -0,0 +1,29 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# Pre-push hook for cloudflared
|
||||||
|
# Runs linting and tests before allowing pushes
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
echo "========================================"
|
||||||
|
echo "Running pre-push checks..."
|
||||||
|
echo "========================================"
|
||||||
|
|
||||||
|
# Run formatting check
|
||||||
|
echo ""
|
||||||
|
echo "==> Checking formatting..."
|
||||||
|
make fmt-check
|
||||||
|
|
||||||
|
# Run linter
|
||||||
|
echo ""
|
||||||
|
echo "==> Running linter..."
|
||||||
|
make lint
|
||||||
|
|
||||||
|
# Run tests
|
||||||
|
echo ""
|
||||||
|
echo "==> Running tests..."
|
||||||
|
make test
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "========================================"
|
||||||
|
echo "All pre-push checks passed!"
|
||||||
|
echo "========================================"
|
||||||
@@ -289,3 +289,9 @@ ci-test: fmt-check lint test
|
|||||||
.PHONY: ci-fips-test
|
.PHONY: ci-fips-test
|
||||||
ci-fips-test:
|
ci-fips-test:
|
||||||
@FIPS=true $(MAKE) ci-test
|
@FIPS=true $(MAKE) ci-test
|
||||||
|
|
||||||
|
.PHONY: install-hooks
|
||||||
|
install-hooks:
|
||||||
|
git config core.hooksPath .githooks
|
||||||
|
@echo "Git hooks installed from .githooks/"
|
||||||
|
@echo "Pre-push hook will run: make fmt-check lint test"
|
||||||
|
|||||||
@@ -79,4 +79,11 @@ To locally run the tests run `make test`
|
|||||||
To format the code and keep a good code quality use `make fmt` and `make lint`
|
To format the code and keep a good code quality use `make fmt` and `make lint`
|
||||||
|
|
||||||
### Mocks
|
### Mocks
|
||||||
After changes on interfaces you might need to regenerate the mocks, so run `make mock`
|
After changes on interfaces you might need to regenerate the mocks, so run `make mocks`
|
||||||
|
|
||||||
|
### Git Hooks
|
||||||
|
To avoid CI errors, you can install pre-push hooks that run linting and tests before each push:
|
||||||
|
```bash
|
||||||
|
make install-hooks
|
||||||
|
```
|
||||||
|
This will configure git to use the hooks in `.githooks/` that run `make fmt-check lint test` before each push.
|
||||||
|
|||||||
Reference in New Issue
Block a user