name: 📝 PR Title on: pull_request: types: [opened, edited, synchronize, reopened] branches: [develop, master] permissions: contents: read concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number }} cancel-in-progress: true jobs: validate_pr_title: name: "📝 Validate PR Title" runs-on: ubuntu-26.04 steps: - uses: amannn/action-semantic-pull-request@48f256284bd46cdaab1048c3721360e808335d50 # v6.1.1 id: lint_pr_title env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Fork PRs only get a read-only GITHUB_TOKEN here, so the sticky comment # is posted from the privileged pr-title-comment.yml (workflow_run). Hand # off the result (PR number + lint error) as an artifact for it to read. - if: always() env: PR_NUMBER: ${{ github.event.pull_request.number }} LINT_ERROR: ${{ steps.lint_pr_title.outputs.error_message }} run: | mkdir -p pr-title-result printf '%s' "$PR_NUMBER" > pr-title-result/number printf '%s' "$LINT_ERROR" > pr-title-result/error - if: always() uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: pr-title-result path: pr-title-result/ retention-days: 1