35 lines
1.1 KiB
YAML
35 lines
1.1 KiB
YAML
name: Conventional commits
|
|
|
|
on:
|
|
pull_request:
|
|
types: [opened, synchronize, reopened, edited]
|
|
|
|
concurrency:
|
|
group: docs-commits-${{ gitea.event.pull_request.number }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
commits:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: https://github.com/actions/checkout@v4
|
|
with:
|
|
ref: ${{ github.event.pull_request.head.sha }}
|
|
fetch-depth: 0
|
|
- uses: https://github.com/actions/setup-node@v4
|
|
with:
|
|
node-version-file: .nvmrc
|
|
- run: npm ci --ignore-scripts
|
|
- name: Check PR title and commits
|
|
env:
|
|
PR_TITLE: ${{ github.event.pull_request.title }}
|
|
BASE_SHA: ${{ github.event.pull_request.base.sha }}
|
|
HEAD_SHA: ${{ github.event.pull_request.head.sha }}
|
|
run: |
|
|
printf '%s\n' "$PR_TITLE" | npm run commitlint -- --strict
|
|
if [[ "$PR_TITLE" =~ ^chore\(release\):\ [0-9]+\.[0-9]+\.[0-9]+$ ]]; then
|
|
npm run commitlint -- --strict --from "$HEAD_SHA^" --to "$HEAD_SHA"
|
|
else
|
|
npm run commitlint -- --strict --from "$BASE_SHA" --to "$HEAD_SHA"
|
|
fi
|