summaryrefslogtreecommitdiff
path: root/.woodpecker/lint.yml
diff options
context:
space:
mode:
Diffstat (limited to '.woodpecker/lint.yml')
-rw-r--r--.woodpecker/lint.yml38
1 files changed, 38 insertions, 0 deletions
diff --git a/.woodpecker/lint.yml b/.woodpecker/lint.yml
new file mode 100644
index 0000000..bb320fe
--- /dev/null
+++ b/.woodpecker/lint.yml
@@ -0,0 +1,38 @@
+when:
+ event: pull_request
+steps:
+ - name: validate-commit-message
+ image: alpine:latest
+ commands:
+ - apk add --no-cache grep git
+ - |
+ echo "Validating commit message format..."
+ COMMIT_MSG=$(git log -1 --pretty=%B)
+ if ! echo "$COMMIT_MSG" | grep -qE "^(feat|fix|docs|style|refactor|perf|test|chore|ci)(\([a-z0-9-]+\))?(!)?: .+"; then
+ echo "Error: Commit message does not follow conventional commits format."
+ echo "Expected format: type(scope): description"
+ echo "Example: feat(auth): add user authentication"
+ exit 1
+ fi
+ when:
+ event:
+ - pull_request
+
+ - name: hadolint
+ image: hadolint/hadolint:latest-debian
+ commands:
+ - hadolint Dockerfile
+ when:
+ event:
+ - pull_request
+
+ - name: elixir-format
+ image: hexpm/elixir:1.18.3-erlang-25.0.4-debian-bookworm-20250317-slim
+ commands:
+ - mix local.hex --force
+ - mix local.rebar --force
+ - mix deps.get
+ - mix format --check-formatted
+ when:
+ event:
+ - pull_request