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