From 50eac4fb36e2b0b3b866d2492f4aa88c2504f856 Mon Sep 17 00:00:00 2001 From: Andrew Kent Date: Thu, 7 May 2026 09:55:55 -0700 Subject: [PATCH 1/3] Run CI when copy-pr-bot creates PR refs copy-pr-bot creates pull-request/N refs when PRs open, but the CI workflow only watched push events. A branch create event can therefore leave a PR with no checks until a later update pushes the mirror ref. Trigger CI on create events and gate the root jobs so only pull-request/N branch creation starts the matrix. Later mirror pushes, main pushes, tags, and manual dispatch keep the existing behavior. --- .github/workflows/ci.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2ce2dba..cb38459 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,6 +1,7 @@ name: CI on: + create: push: branches: - "pull-request/[0-9]+" @@ -21,6 +22,9 @@ jobs: lint: name: Linter Check + # copy-pr-bot creates pull-request/N refs before it pushes later updates. + # Include that create event, but do not run CI for ordinary branch creation. + if: github.event_name != 'create' || startsWith(github.ref, 'refs/heads/pull-request/') runs-on: ubuntu-latest timeout-minutes: 10 env: @@ -42,6 +46,7 @@ jobs: # fail-fast: false so divergence between Python versions or OSes # surfaces all at once rather than one-at-a-time. name: Unit tests [py${{ matrix.python }} on ${{ matrix.os }}] + if: github.event_name != 'create' || startsWith(github.ref, 'refs/heads/pull-request/') runs-on: ${{ matrix.os }} timeout-minutes: 10 strategy: @@ -338,4 +343,3 @@ jobs: generate_release_notes: true name: "CompileIQ v${{ github.ref_name }}" draft: true - From dddd45641e812b274fcd9d9d7ded71f7b93e94ca Mon Sep 17 00:00:00 2001 From: Andrew Kent Date: Thu, 7 May 2026 11:42:13 -0700 Subject: [PATCH 2/3] Have CI run on PR events in attempt to fix copy-pr-bot The create-event experiment proved that CI can run on copy-pr-bot's pull-request/N refs, but GitHub does not associate those check suites with the actual pull request. That leaves the PR page without visible checks even when the workflow succeeds. Add a pull_request trigger for PRs targeting main so GitHub attaches the check suite to the PR head branch. Keep the existing push triggers for pull-request/N mirror updates, main, tags, and manual dispatch. --- .github/workflows/ci.yml | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cb38459..92a0f89 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,7 +1,14 @@ name: CI on: - create: + pull_request: + branches: + - main + paths-ignore: + - "**/*.md" + - "docs/**" + - "LICENSE" + - ".gitignore" push: branches: - "pull-request/[0-9]+" @@ -22,9 +29,6 @@ jobs: lint: name: Linter Check - # copy-pr-bot creates pull-request/N refs before it pushes later updates. - # Include that create event, but do not run CI for ordinary branch creation. - if: github.event_name != 'create' || startsWith(github.ref, 'refs/heads/pull-request/') runs-on: ubuntu-latest timeout-minutes: 10 env: @@ -46,7 +50,6 @@ jobs: # fail-fast: false so divergence between Python versions or OSes # surfaces all at once rather than one-at-a-time. name: Unit tests [py${{ matrix.python }} on ${{ matrix.os }}] - if: github.event_name != 'create' || startsWith(github.ref, 'refs/heads/pull-request/') runs-on: ${{ matrix.os }} timeout-minutes: 10 strategy: From 578d2d47a014fe8cc06f98cd3462a76304e00514 Mon Sep 17 00:00:00 2001 From: Andrew Kent Date: Thu, 7 May 2026 14:06:20 -0700 Subject: [PATCH 3/3] Remove diagnostic PR CI trigger Remove the temporary pull_request trigger that was added to test GitHub's PR check association behavior. CompileIQ's intended PR CI path is still copy-pr-bot updating pull-request/N refs and Actions running from those push events. Keeping full CI off direct pull_request events preserves the copy-pr-bot approval gate while we debug why the first manual /ok to test copy is not producing the expected push workflow run. --- .github/workflows/ci.yml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 92a0f89..791697c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,14 +1,6 @@ name: CI on: - pull_request: - branches: - - main - paths-ignore: - - "**/*.md" - - "docs/**" - - "LICENSE" - - ".gitignore" push: branches: - "pull-request/[0-9]+"