Skip to content

feat(extension): support duplicate template #3158

feat(extension): support duplicate template

feat(extension): support duplicate template #3158

Workflow file for this run

name: PR Title Checker
on:
pull_request:
types:
- opened
- edited
- synchronize
- labeled
- unlabeled
# below permissions are needed to allow forked PR creators to edit title: https://github.com/actions/labeler/issues/12#issuecomment-1095272652
permissions:
checks: write
contents: read
pull-requests: write
jobs:
pr_title:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/labeler@v5
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- uses: amannn/action-semantic-pull-request@v5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
ignoreLabels: meta
scopes: |
plugin
server
terrafom
subjectPattern: ^(?![A-Z]).+$
subjectPatternError: |
The subject "{subject}" found in the pull request title "{title}"
didn't match the configured pattern. Please ensure that the subject
doesn't start with an uppercase character.
contains_plugin_changes:
needs: pr_title
runs-on: ubuntu-latest
outputs:
plugin: ${{ steps.plugin.outputs.any_changed }}
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: changed files for plugin
id: plugin
uses: tj-actions/changed-files@v36
with:
files: |
plugin
pr_scope_check:
needs: contains_plugin_changes
if: ${{ !failure() && needs.contains_plugin_changes.outputs.plugin == 'true' }}
runs-on: ubuntu-latest
steps:
- name: Check PR Scope and Keywords
env:
TITLE: ${{ github.event.pull_request.title }}
run: |
title="$TITLE"
contains_major=0
contains_minor=0
if [[ $title == *"major"* ]]; then
contains_major=1
fi
if [[ $title == *"minor"* ]]; then
contains_minor=1
fi
if [[ $contains_major -eq 0 && $contains_minor -eq 0 ]]; then
echo "Error: The identified scope is 'plugin', but the 'major' or 'minor' keyword is missing from the title."
exit 1
fi