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

feat: conventional commits v2 #160

Merged
merged 12 commits into from
Jul 27, 2022
Original file line number Diff line number Diff line change
@@ -1,21 +1,32 @@
name: Conventional commits

# This GitHub CI Action enforces that pull request titles follow conventional commits.
# More info at https://www.conventionalcommits.org.
#
# The Ory-wide defaults for commit titles and scopes are below.
# Your repository can add/replace elements via a configuration file at the path below.
# More info at https://github.com/ory/ci/blob/master/conventional_commit_config/README.md

on:
pull_request_target: # enable Pull Requests from forks, uses config from master branch
types: [opened, edited, reopened, ready_for_review]
pull_request_target:
types:
- edited
- opened
- ready_for_review
- reopened
# pull_request: # for debugging, uses config in local branch but supports only Pull Requests from this repo

jobs:
main:
name: Validate PR title
runs-on: ubuntu-latest
steps:
- uses: amannn/action-semantic-pull-request@v4
id: check-title
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/checkout@v3
- id: config
uses: ory/ci/conventional_commit_config@master
with:
types: |
config_path: .github/conventional_commits.json
default_types: |
feat
fix
revert
Expand All @@ -28,48 +39,18 @@ jobs:
security
ci
chore

scopes: |
blog
cms
default_scopes: |
deps
docs
home
hydra
keto
kratos
stats

requireScope: false

# Configure which scopes are disallowed in PR titles. For instance by setting
# the value below, `chore(release): ...` and `ci(e2e,release): ...` will be rejected.
# disallowScopes: |
# release

# Configure additional validation for the subject based on a regex.
# This example ensures the subject doesn't start with an uppercase character.
default_require_scope: false
- uses: amannn/action-semantic-pull-request@v4
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
types: ${{ steps.config.outputs.types }}
scopes: ${{ steps.config.outputs.scopes }}
requireScope: ${{ steps.config.outputs.requireScope }}
subjectPattern: ^(?![A-Z]).+$

# If `subjectPattern` is configured, you can use this property to override
# the default error message that is shown when the pattern doesn't match.
# The variables `subject` and `title` can be used within the message.
subjectPatternError: |
The subject should start with a lowercase letter, yours is uppercase:
"{subject}"

# If the PR contains one of these labels, the validation is skipped.
# Multiple labels can be separated by newlines.
# If you want to rerun the validation when labels change, you might want
# to use the `labeled` and `unlabeled` event triggers in your workflow.
# ignoreLabels: |
# bot
# ignore-semantic-pull-request

# For work-in-progress PRs you can typically use draft pull requests
# from GitHub. However, private repositories on the free plan don't have
# this option and therefore this action allows you to opt-in to using the
# special "[WIP]" prefix to indicate this state. This will avoid the
# validation of the PR title and the pull request checks remain pending.
# Note that a second check will be reported if this is enabled.
# wip: true