Skip to content

ci: skip the Windows build for changes that cannot affect it - #9

Merged
TakeruF merged 2 commits into
mainfrom
ci/skip-windows-build-for-docs
Aug 30, 2026
Merged

ci: skip the Windows build for changes that cannot affect it#9
TakeruF merged 2 commits into
mainfrom
ci/skip-windows-build-for-docs

Conversation

@TakeruF

@TakeruF TakeruF commented Aug 30, 2026

Copy link
Copy Markdown
Owner

Docs-only PRs currently sit through a full ~3 minute Windows build.

build-test is a required check on main, so the pull_request trigger cannot take a paths-ignore filter — a filtered-out run reports no status and the PR blocks forever on "waiting for status to be reported". The comment already on the trigger records that constraint.

So the job keeps running and reporting on every PR, but decides up front whether the build is needed:

  • New first step diffs the PR against its base and sets run_build.
  • Every expensive step is guarded on steps.scope.outputs.run_build == 'true'.
  • The path allowlist mirrors the push trigger instead of denylisting docs. CODE_SIGNING.md, SECURITY.md and THIRD-PARTY-NOTICES.md stay relevant — they are release metadata validated by Test-ReleaseSource.ps1, not documentation.
  • global.json is added to the allowlist and the push trigger, since it now pins the SDK that produces the lock files.
  • If the diff cannot be computed the step fails open and runs the full build.

release-package is untouched — it is workflow_dispatch-only.

Test plan

  • This PR touches windows.yml, so build-test must run the full build and pass (no regression to the existing path).
  • The Determine whether the Windows build must run step logs .github/workflows/windows.yml as a Windows-relevant change.
  • A follow-up docs-only PR must get a green build-test in seconds without building.

🤖 Generated with Claude Code

Documentation-only pull requests spent ~3 minutes on a full Windows
build. The pull_request trigger cannot simply take a paths filter:
build-test is a required check on main, so a filtered-out run reports
no status at all and the PR blocks forever waiting for it. (The
existing comment on the trigger records exactly this constraint.)

Instead the job always runs and always reports. A new first step
diffs the PR against its base and decides whether any Windows-relevant
path changed; every expensive step is guarded on that result, so an
unrelated PR gets a green build-test in seconds.

The path allowlist mirrors the push trigger rather than denylisting
docs, so a new top-level file is treated as irrelevant only if it
really is. CODE_SIGNING.md, SECURITY.md and THIRD-PARTY-NOTICES.md
stay on the relevant list: they are release metadata that
Test-ReleaseSource.ps1 validates, not documentation.

global.json is added to both the allowlist and the push trigger, since
it now pins the SDK that produces the lock files. If the diff cannot
be computed the step fails open and runs the full build.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Aug 30, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-08-30T13:11:40.242293Z 9c41229 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 9c41229190

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread .github/workflows/windows.yml Outdated
Comment thread .github/workflows/windows.yml
Both found in review of the previous commit.

git diff --name-only applies rename detection, so moving a file out of
Windows/ reports only the destination path and the removal matches no
relevant pattern -- the required check would then pass without
compiling. Pass --no-renames so both sides of a move are listed.

TokenMeter.Windows.Core.Tests.csproj pulls the shared parser fixtures
from TokenMeterCore/Tests/TokenMeterCoreTests/Fixtures/*.jsonl into its
test output, so editing a fixture can break the Windows tests. Add that
directory to the allowlist and to the push trigger it mirrors; the push
filter had the same gap before this change. A sweep of the Windows
project files confirms it is the only path they reference outside
Windows/, and the scripts build-test runs stay inside it.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@TakeruF
TakeruF merged commit 8b583f1 into main Aug 30, 2026
2 checks passed
@TakeruF
TakeruF deleted the ci/skip-windows-build-for-docs branch August 30, 2026 13:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant