--- name: Lint commit on: push: pull_request: merge_group: # Don't grant any access by default permissions: {} jobs: commitlint: runs-on: ubuntu-latest permissions: contents: read steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Check if the pull request contains a single commit if: github.event_name == 'pull_request' run: | commit_count=${{ github.event.pull_request.commits }} if [ -z ${commit_count} ]; then echo "[ERROR] commit_count is empty" exit 1 fi if [[ ${commit_count} -ne 1 ]]; then echo "[ERROR] This pull request contains ${commit_count} commits. Squash these commits into a single commit." exit 1 else echo "This pull request contains ${commit_count} commit." fi