[docs] Written terms and conditions for compliance #42
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # | |
| # NOTE: This workflow was directly based on the sample | |
| # (reference: https://github.com/amannn/action-semantic-pull-request) | |
| # | |
| # Workflows that run on 'pull_request_target' trigger need to be carefully | |
| # reviewed since they run in the context of the PR target and consume unvalidated | |
| # input controlled by a PR submitter. We've reviewed this workflow and | |
| # allow-listed it via the 'zizmor' comment below. | |
| # | |
| name: "Check PR Title" | |
| on: | |
| pull_request_target: # zizmor: ignore[dangerous-triggers] | |
| # Only run on PRs targeting 4.0. pull_request_target always uses the workflow | |
| # from the default branch. This PR does not require any untrusted scripts from | |
| # the PR branch, so it is safe to use pull_request_target. | |
| branches: | |
| - "4.0" | |
| types: | |
| - opened | |
| - edited | |
| - reopened | |
| # Cancel in-progress runs of this workflow if a new run is triggered. | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| permissions: {} | |
| jobs: | |
| main: | |
| name: Validate PR title | |
| # Prevent forks from running a stale/vulnerable copy of this workflow with Actions enabled | |
| if: github.repository == 'microsoft/azurelinux' | |
| runs-on: ubuntu-latest | |
| permissions: | |
| pull-requests: write # Needed to post comments on PR | |
| steps: | |
| - uses: amannn/action-semantic-pull-request@48f256284bd46cdaab1048c3721360e808335d50 # v6.1.1 | |
| id: lint_pr_title | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - uses: marocchino/sticky-pull-request-comment@773744901bac0e8cbb5a0dc842800d45e9b2b405 # v2.9.4 | |
| # When the previous step fails, the workflow would stop. By adding this | |
| # condition you can continue the execution with the populated error message. | |
| if: always() && (steps.lint_pr_title.outputs.error_message != null) | |
| with: | |
| header: pr-title-lint-error | |
| message: | | |
| Hello, and thank you for opening this pull request! 👋🏼 We appreciate the contribution. | |
| We require pull request titles to follow the [Conventional Commits specification](https://www.conventionalcommits.org/en/v1.0.0/) and it looks like your proposed title needs to be adjusted. | |
| Commits in this repo will typically be prefixed with `fix:`, `feat:`, `docs:`, `chore:`, `refactor:`, `test:`, or `ci:` to indicate the type of change being proposed. The linked specification has more details. | |
| Details: | |
| ``` | |
| ${{ steps.lint_pr_title.outputs.error_message }} | |
| ``` | |
| # Delete a previous comment when the issue has been resolved | |
| - if: steps.lint_pr_title.outputs.error_message == null | |
| uses: marocchino/sticky-pull-request-comment@773744901bac0e8cbb5a0dc842800d45e9b2b405 # v2.9.4 | |
| with: | |
| header: pr-title-lint-error | |
| delete: true |