diff --git a/templates/repository/common/.github/workflows/conventional_commits.yml b/templates/repository/common/.github/workflows/conventional_commits.yml index 9d92dcb..eb5de54 100644 --- a/templates/repository/common/.github/workflows/conventional_commits.yml +++ b/templates/repository/common/.github/workflows/conventional_commits.yml @@ -1,8 +1,19 @@ 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: @@ -10,12 +21,12 @@ jobs: 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 @@ -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