-
-
Notifications
You must be signed in to change notification settings - Fork 195
40 lines (34 loc) · 1.36 KB
/
pr.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
name: 🦄 PR
on:
pull_request:
types: [ opened, edited, synchronize, reopened ]
jobs:
commitlint:
name: Validate title
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: pnpm/action-setup@v2
with:
version: 8.7.5
# Fetches the config package version from the `pnpm-lock.yaml` file.
- name: Fetch config package version
id: config-package-version
env:
GITMOJI_CONFIG_PACKAGE: "commitlint-config-gitmoji"
run: |
echo "CONFIG_PACKAGE=$(grep -A 2 "$GITMOJI_CONFIG_PACKAGE" pnpm-lock.yaml | awk '/version:/ {print "'"$GITMOJI_CONFIG_PACKAGE"'@" $2}')" >> "$GITHUB_OUTPUT"
# Installs only the config package required for commitlint.
- name: Install config package
env:
CONFIG_PACKAGE: "${{ steps.config-package-version.outputs.CONFIG_PACKAGE }}"
run: |
pnpm add "$CONFIG_PACKAGE"
# The validation is done based on the `commitlint.config.js` file.
- name: Validate PR title
env:
# Sanitizes PR title as documented here:
# https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#using-an-intermediate-environment-variable
PR_TITLE: "${{ github.event.pull_request.title }}"
run: |
echo "$PR_TITLE" | pnpm -s dlx commitlint