name: First commit message adheres to guidelines on: pull_request: branches: - main - v[0-9]+.x-staging env: NODE_VERSION: lts/* permissions: contents: read jobs: lint-commit-message: runs-on: ubuntu-slim steps: - name: Compute number of commits in the PR id: nb-of-commits run: | echo "plusOne=$((${{ github.event.pull_request.commits }} + 1))" >> $GITHUB_OUTPUT echo "minusOne=$((${{ github.event.pull_request.commits }} - 1))" >> $GITHUB_OUTPUT - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: fetch-depth: ${{ steps.nb-of-commits.outputs.plusOne }} persist-credentials: false - run: git reset HEAD^2 - name: Install Node.js uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version: ${{ env.NODE_VERSION }} - name: Validate commit message run: | echo "::add-matcher::.github/workflows/commit-lint-problem-matcher.json" git rev-parse HEAD~${{ steps.nb-of-commits.outputs.minusOne }} | xargs npx -q core-validate-commit --no-validate-metadata --tap