Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: improve the PR semantics #770

Merged
merged 2 commits into from
Feb 7, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
78 changes: 78 additions & 0 deletions .github/workflows/pr-semantics.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# feat: (new feature for the user, not a new feature for build script)
# fix: (bug fix for the user, not a fix to a build script)
# build: (changes that affect the build system or external dependencies)
# chore: (updating grunt tasks etc; no production code change)
# ci: (updates to CI configuration files and scripts; no production code change)
# docs: (changes to the documentation)
# perf: (a code change that improves performance)
# refactor: (refactoring production code, eg. renaming a variable)
# style: (formatting, missing semi colons, etc; no production code change)
# test: (adding missing tests, refactoring tests; no production code change)
# revert: (reverting a previous commit)

# Example:
# test(runner): Add test for the runner
# ^ ^ ^
# | | |__ Subject
# | |_______ Scope
# |____________ Type

name: Semantic PR Validation
on:
pull_request:
types:
- opened
- edited
- synchronize
defaults:
run:
shell: bash
jobs:
validate:
runs-on: ubuntu-latest
steps:
- name: Validate Pull Request
uses: amannn/action-semantic-pull-request@e9fabac35e210fea40ca5b14c0da95a099eff26f
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
# Configure which types are allowed.
# Default: https://github.com/commitizen/conventional-commit-types
types: |
feat
fix
build
chore
ci
docs
perf
refactor
revert
style
test
revert
# Configure which scopes are allowed.
scopes: |
api
config
client
config
data
test
utils
docs
release
testdata
ignoreLabels: |
bot
ignore-semantic-pull-request
# Configure that a scope must always be provided.
requireScope: false
# When using "Squash and merge" on a PR with only one commit, GitHub
# will suggest using that commit message instead of the PR title for the
# merge commit, and it's easy to commit this by mistake. Enable this option
# to also validate the commit message for one commit PRs.
validateSingleCommit: true
# Related to `validateSingleCommit` you can opt-in to validate that the PR
# title matches a single commit to avoid confusion.
validateSingleCommitMatchesPrTitle: true
Loading