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: rust-fmt image: rust:1.76 commands: - cargo fmt --all -- --check when: event: - pull_request - name: rust-clippy image: rust:1.76 commands: - cargo clippy --all-targets --all-features -- -D warnings when: event: - pull_request