Skip to content

1.7.0-3 Bugfixes

1.7.0-3 Bugfixes #56

Workflow file for this run

name: Semantic PR
on:
pull_request:
types: [opened, edited, synchronize, reopened]
permissions:
pull-requests: read
jobs:
validate-pr-title:
name: Validate PR title
runs-on: ubuntu-latest
steps:
- name: Validate PR title follows Conventional Commits
id: semantic
uses: amannn/action-semantic-pull-request@v5
continue-on-error: true # Non-blocking - informational only
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
# Configure which types are allowed
types: |
feat
fix
docs
style
refactor
perf
test
build
ci
chore
revert
# Configure which scopes are allowed (empty = all)
scopes: |
deps
auth
api
coordinator
config-flow
entities
services
diagnostics
discovery
fmdn
spot
nova
translations
ci
release
# Require a scope
requireScope: false
# Disallow uppercase in subject
subjectPattern: ^(?![A-Z]).+$
subjectPatternError: |
The subject "{subject}" found in the PR title "{title}"
should not start with an uppercase letter.
# Labels that bypass validation (WIP PRs or automated PRs)
ignoreLabels: |
wip
work in progress
skip-semantic-pr
automated-pr
dependencies
# Header pattern (type + optional scope + subject)
headerPattern: ^(\w+)(?:\(([^)]+)\))?!?:\s(.+)$
headerPatternCorrespondence: type, scope, subject
- name: Write PR title validation summary
if: always()
run: |
{
echo "## PR Title Validation"
echo ""
if [ "${{ steps.semantic.outcome }}" = "success" ]; then
echo "✅ **PR title follows Conventional Commits format**"
else
echo "ℹ️ **PR title suggestion (non-blocking):**"
echo ""
echo "Consider using [Conventional Commits](https://www.conventionalcommits.org/) format:"
echo ""
echo '```'
echo "type(scope): description"
echo ""
echo "Examples:"
echo " feat(auth): add OAuth2 support"
echo " fix(api): handle timeout errors"
echo " docs: update README"
echo '```'
echo ""
echo "Allowed types: feat, fix, docs, style, refactor, perf, test, build, ci, chore, revert"
fi
} >> "$GITHUB_STEP_SUMMARY"