From 8ad8a4c59b9464503970c20eb851b1f5876d747b Mon Sep 17 00:00:00 2001 From: chengxiangdong Date: Thu, 19 Oct 2023 15:56:13 +0800 Subject: [PATCH] Add PR template and PR title CI --- .github/PULL_REQUEST_TEMPLATE | 36 ++++++++++++++++++++ .github/workflows/pr_title.yml | 62 ++++++++++++++++++++++++++++++++++ 2 files changed, 98 insertions(+) create mode 100644 .github/PULL_REQUEST_TEMPLATE create mode 100644 .github/workflows/pr_title.yml diff --git a/.github/PULL_REQUEST_TEMPLATE b/.github/PULL_REQUEST_TEMPLATE new file mode 100644 index 00000000..33195016 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE @@ -0,0 +1,36 @@ + + +**What this PR does / why we need it**: + +**Which issue this PR fixes**: +*(optional, in `fixes #(, fixes #, ...)` format, will close that issue when PR gets merged)* +fixes #xxx + +**Special notes for your reviewer**: + +**Release note**: + + +```release-note + +``` + +## PR Checklist + +* [ ] Tests added/passed. +* [ ] Documentation updated. +* [ ] Schema updated. + +## Acceptance Steps Performed + +``` +make testacc TEST='./flexibleengine' TESTARGS='-run=TestAccSomethingV0_basic' +... +=== RUN TestAccSomethingV0_basic +--- PASS: TestAccSomethingV0_basic (70.75s) +PASS +ok github.com/FlexibleEngineCloud/terraform-provider-flexibleengine/flexibleengine 70.796s +``` diff --git a/.github/workflows/pr_title.yml b/.github/workflows/pr_title.yml new file mode 100644 index 00000000..4fb5a527 --- /dev/null +++ b/.github/workflows/pr_title.yml @@ -0,0 +1,62 @@ +name: 'Validate PR title' + +on: + pull_request_target: + types: + - opened + - edited + - synchronize + +jobs: + main: + name: Validate PR title + runs-on: ubuntu-latest + steps: + # Please look up the latest version from + # https://github.com/amannn/action-semantic-pull-request/releases + - uses: amannn/action-semantic-pull-request@v5.0.2 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + # Configure which types are allowed. + # Default: https://github.com/commitizen/conventional-commit-types + types: | + fix + feat + docs + ci + chore + refactor + test + style + changelog + # Configure that a scope must always be provided. + requireScope: false + # Configure additional validation for the subject based on a regex. + # This example ensures the subject starts with an uppercase character. + subjectPattern: ^[A-Za-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 "{subject}" found in the pull request title "{title}" + didn't match the configured pattern. Please ensure that the subject + starts with a letter. + # 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 + # 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: false + # If the PR contains one of these labels (newline delimited), the + # validation is skipped. + # 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: | + ignore-semantic-pull-request