Skip to content

ci(v0.4.0): protected workflow additions — protected-only PR ahead of #287 - #289

Merged
Chris-Wolfgang merged 1 commit into
mainfrom
protected/v0.4.0-workflows
Jul 18, 2026
Merged

ci(v0.4.0): protected workflow additions — protected-only PR ahead of #287#289
Chris-Wolfgang merged 1 commit into
mainfrom
protected/v0.4.0-workflows

Conversation

@Chris-Wolfgang

Copy link
Copy Markdown
Owner

Protected-file split from the v0.4.0 release PR #287 so the guard's admin-bypass is scoped to just the workflow changes rather than the whole 43-file release diff.

Why this exists

  • Detect .NET Projects in pr.yaml fails any PR that modifies .github/workflows/*.yaml.
  • vNext accumulated 11 workflow changes across the thorough-review batch.
  • Admin-bypassing the whole vNext → main tracker (PR release: v0.4.0 — thorough-review batch #287) waives ALL ruleset rules — including required_review_thread_resolution.
  • Splitting the workflows out lets THIS PR carry the bypass (one focused review) while PR release: v0.4.0 — thorough-review batch #287 merges through the normal path with full ruleset enforcement on the source/test/docs changes.

Files (11)

All lifted verbatim from vNext HEAD — no new content:

Workflow Change Issue
aot-smoke.yaml new #180
api-compat.yaml new #174
cross-platform-differential.yaml new #177
fuzz.yaml new (+ SC2016 shellcheck disable) #170
license-audit.yaml new #185
pr-benchmarks.yaml new #192
pr.yaml Category!=Fuzz test filter #170
release.yaml SLSA + reproducible-build manifest + template-injection fix #176, #193
reproducible-build.yaml new #183
semgrep-sast.yaml new #172
stryker.yaml weekly-only + version pin #173 (+ #281 follow-up)

Expected check state

  • Detect .NET Projects — protected files touched; that's the whole point. Admin-bypass at merge.
  • ✅ Everything else (Secrets Scan, DevSkim, workflow-security, etc.) should be green.
  • Stage 1/2/3 are SKIPPED because they depend on detect-projects.outputs.has-projects which the failed guard suppresses.

Follow-up after merge

  1. Merge main back into vNext (auto-updates PR release: v0.4.0 — thorough-review batch #287's diff to drop the workflow files from its change set).
  2. PR release: v0.4.0 — thorough-review batch #287 should then merge through the standard ruleset without any bypass.

Copilot AI review requested due to automatic review settings July 17, 2026 16:02

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@github-actions

github-actions Bot commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

PR benchmarks vs base (208e7e2)

Thresholds: time > +20% or allocations > +50% trigger a gate failure (label perf-impact-acknowledged overrides).

Benchmark Δ time Δ alloc
Action_Success +16.1% 0 (new)
Action_WithException -0.4% +0.0%
RunAsync_Action_Success -2.7% +0.0%
RunAsync_Action_WithException -0.4% +0.0%
RunAsync_Func_Success +1.9% +0.0%
RunAsync_Func_WithException -0.2% +0.0%
Run_Func_Success +0.6% +0.0%
Run_Func_WithException -1.8% +0.0%

…cted-only PR

Extracted from vNext ahead of the v0.4.0 release (PR #287) so the
protected-file guard fires on ONE small PR (admin-bypass at merge),
leaving PR #287 to merge under normal ruleset enforcement with all
checks green + required review-thread resolution honored.

Files touched (all workflow YAML + supporting non-protected configs
those workflows reference):

**Protected (11 workflow files)**
- aot-smoke.yaml             — new (issue #180)
- api-compat.yaml            — new (issue #174)
- cross-platform-differential.yaml — new (issue #177)
- fuzz.yaml                  — new (issue #170)
- license-audit.yaml         — new (issue #185)
- pr-benchmarks.yaml         — new (issue #192)
- pr.yaml                    — modified (Category!=Fuzz filter for #170)
- release.yaml               — modified (SLSA + manifest + template-injection fix)
- reproducible-build.yaml    — new (issue #183)
- semgrep-sast.yaml          — new (issue #172)
- stryker.yaml               — modified (weekly-only trigger + version pin)

**Not protected (supporting files the workflows need to actually run
against main; adding these to the split PR avoids first-run failures
where each new workflow self-triggers on its own YAML file being
added and then can't find the config it references):**
- .github/api-compat/suppressions.xml   — apicompat baseline (#174)
- .github/license/allowed-licenses.json — license allowlist (#185)
- .github/license/licenseurl-mappings.json
- .github/license/packages-filter.json
- tests/Wolfgang.TryPattern.AotSmoke/Program.cs   — AOT smoke consumer (#180)
- tests/Wolfgang.TryPattern.AotSmoke/Wolfgang.TryPattern.AotSmoke.csproj

Everything is drawn verbatim from vNext HEAD; no new content
introduced by this split. Reviewing this PR's diff is equivalent to
reviewing just the workflow + config slice of PR #287.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
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.

2 participants