--- # yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json name: Commit Messages on: pull_request: types: [opened, synchronize, reopened] push: branches: - main permissions: contents: read jobs: commitlint: name: Validate Commit Messages runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 with: fetch-depth: 0 - name: Setup Node.js uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0 with: node-version: "24" - name: Install commitlint run: | npm install --save-dev @commitlint/cli@19.6.1 @commitlint/config-conventional@19.6.0 - name: Validate current commit (for single commits) if: github.event_name == 'push' run: npx commitlint --from HEAD~1 --to HEAD --verbose - name: Validate PR commits if: github.event_name == 'pull_request' run: npx commitlint --from ${{ github.event.pull_request.base.sha }} --to ${{ github.event.pull_request.head.sha }} --verbose