diff --git a/.github/workflows/ci1-title-probe.yml b/.github/workflows/ci1-title-probe.yml new file mode 100644 index 00000000..573fbd90 --- /dev/null +++ b/.github/workflows/ci1-title-probe.yml @@ -0,0 +1,35 @@ +# The squash-merge commit takes the PR title, and the release planner reads that +# commit to pick the next version. Validate the title as a Conventional Commit. +name: PR Title probe +on: + pull_request: + types: [opened, edited, synchronize, reopened] + +permissions: + pull-requests: read + +jobs: + validate: + name: Validate PR title + runs-on: ubuntu-latest + steps: + - name: Record probe event + env: + EVENT_ACTION: ${{ github.event.action }} + EVENT_SHA: ${{ github.event.pull_request.head.sha }} + run: | + echo "action=$EVENT_ACTION head=$EVENT_SHA" + sleep 45 + # Read the title from the API: a re-run reuses the original event payload. + # The planner ignores the "!" breaking marker, so the pattern rejects it. + - name: Lint PR title + env: + GH_TOKEN: ${{ github.token }} + PR_URL: ${{ github.event.pull_request.html_url }} + run: | + title="$(gh pr view "$PR_URL" --json title --jq .title)" + types="feat|fix|perf|docs|style|refactor|test|build|ci|chore|revert|release" + if [[ ! "$title" =~ ^($types)(\([^()]+\))?:\ [^[:space:]] ]]; then + echo "::error::PR title \"$title\" is not a Conventional Commit: (): , with type one of ${types//|/, }. Mark a breaking change with a BREAKING CHANGE: footer in the squash commit body, not with \"!\"." + exit 1 + fi diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml index 8f566971..b7690d5b 100644 --- a/.github/workflows/dependency-review.yml +++ b/.github/workflows/dependency-review.yml @@ -1,20 +1,23 @@ name: Dependency Review on: pull_request: - branches: [master] + branches: [master, ci/ci1-concurrency-probe-base] permissions: contents: read -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }} - cancel-in-progress: true - jobs: dependency-review: name: Dependency Review runs-on: ubuntu-latest steps: + - name: Record probe event + env: + EVENT_ACTION: ${{ github.event.action }} + EVENT_SHA: ${{ github.event.pull_request.head.sha }} + run: | + echo "action=$EVENT_ACTION head=$EVENT_SHA" + sleep 45 - name: Dependency Review uses: actions/dependency-review-action@a1d282b36b6f3519aa1f3fc636f609c47dddb294 # v5.0.0 with: diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index 865e8394..2fe65068 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -9,15 +9,18 @@ on: permissions: contents: read -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }} - cancel-in-progress: true - jobs: docs: name: Docs runs-on: ubuntu-latest steps: + - name: Record probe event + env: + EVENT_ACTION: ${{ github.event.action }} + EVENT_SHA: ${{ github.event.pull_request.head.sha }} + run: | + echo "action=$EVENT_ACTION head=$EVENT_SHA" + sleep 45 - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false diff --git a/.github/workflows/pr-title.yml b/.github/workflows/pr-title.yml index 155c3ade..0f964971 100644 --- a/.github/workflows/pr-title.yml +++ b/.github/workflows/pr-title.yml @@ -8,15 +8,18 @@ on: permissions: pull-requests: read -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }} - cancel-in-progress: true - jobs: validate: name: Validate PR title runs-on: ubuntu-latest steps: + - name: Record probe event + env: + EVENT_ACTION: ${{ github.event.action }} + EVENT_SHA: ${{ github.event.pull_request.head.sha }} + run: | + echo "action=$EVENT_ACTION head=$EVENT_SHA" + sleep 45 # Read the title from the API: a re-run reuses the original event payload. # The planner ignores the "!" breaking marker, so the pattern rejects it. - name: Lint PR title diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f0c8502d..46c17551 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -9,15 +9,18 @@ on: permissions: contents: read -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }} - cancel-in-progress: true - jobs: test: name: Test runs-on: ubuntu-latest steps: + - name: Record probe event + env: + EVENT_ACTION: ${{ github.event.action }} + EVENT_SHA: ${{ github.event.pull_request.head.sha }} + run: | + echo "action=$EVENT_ACTION head=$EVENT_SHA" + sleep 45 - name: Checkout uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: