Skip to content

Add a Catalog Snippet for the Release-With-Smoke Caller - #3113

Merged
ptr727 merged 5 commits into
developfrom
feature/auto-2854
Oct 16, 2026
Merged

ptr727 merged 5 commits into
developfrom
feature/auto-2854

Conversation

@ptr727

@ptr727 ptr727 commented Oct 16, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • Adds catalog/snippets/workflows/test-pull-request-smoke.yml, the release-with-smoke test-pull-request.yml caller, pinned to 6c88850128629bb449fd73c7fbf82968c6cd1557 # 2.0.587, the release the publish-release.yml snippet pins. At that tag build-release-task.yml declares every input the smoke job passes and defaults each enable_* input true, as the stub's comment says.
  • docs/reusable-workflows.md "Adopting the Gates" links the snippet, and its stub block is now that snippet byte for byte, so the @<hub-main-commit-sha> # <release-tag> placeholder pins are gone from it. The Stage 2 snippet item is ticked. The wrapped base_ref/ref_name comment is split to one sentence per line in both copies.
  • catalog/snippets/workflows/README.md lists the snippet, and no longer names "Adopting the Gates" as holding stub shapes without one.
  • tests/test_release_guards.py adds a test holding the doc block and the snippet byte-identical, sharing a yaml_blocks helper with the existing publish-release.yml check.

Placeholders in the other shapes (the validate input fragments, the pure-function and type-specific stubs) are unchanged, since the issue asks only for this shape's snippet.

The new snippet's comments are moved verbatim from the doc stub, so this pull request carries the comments label.

Closes on promotion: #2854

Local review findings listed at opening

The local strict review's two-round edit budget was spent on the opening push, so these two went to this pull request's review loop. Both are now closed:

  • introduced, design: yaml_blocks used a regex rather than fenced_blocks. Fixed in 587f53a, which builds it on fenced_blocks and names docs/reusable-workflows.md in that scanner's docstring.
  • introduced, design: the new test's assertNotIn("<hub-main-commit-sha>", stub) overlapped the repo gate's sha-pin check. Fixed in 587f53a, which drops it.

Test plan

  • python3 -m unittest discover -s tests -p test_release_guards.py: 27 tests OK. Changing the snippet's pin comment or smoke: true fails the new test.
  • scripts/prose_lint.py --diff origin/develop with comments allowed, scripts/repo_gate.py (sha-pin resolved 8 pins), spec/validate.py, spec/workflow_reuse.py --selftest, scripts/build_dist.py --check, ruff, mypy: clean.
  • scripts/docker_lint.py markdownlint, cspell, editorconfig-checker, actionlint: clean.

🤖 Generated with Claude Code

ptr727 and others added 3 commits October 15, 2026 19:39
The release-with-smoke test-pull-request.yml shape lived only as a stub in
docs/reusable-workflows.md, pinned to a placeholder no adopter could use.
It is now catalog/snippets/workflows/test-pull-request-smoke.yml, pinned to
2.0.587, the release the publish-release.yml snippet already pins, whose
build-release-task.yml declares every input the stub passes and defaults
each enable_* input true, as the stub's comment says.

The documented stub is that snippet byte for byte, which a new test in
tests/test_release_guards.py holds, and the Stage 2 item tracking the
missing snippet is ticked. The wrapped branch comment is split into one
sentence per line in both copies.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Both byte-for-byte stub tests now read the documented YAML blocks through
one yaml_blocks helper built on fenced_blocks. The snippet README no longer
names "Adopting the Gates" as holding stub shapes without a snippet, and
the Stage 2 item records the pin as of landing rather than as a claim
about another file.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…Reason

yaml_blocks now wraps the regex both byte-for-byte tests used, so
fenced_blocks keeps reading only AUDIT.md as its docstring says. The
snippet README records 2.0.587 as the release publish-release.yml was
pinned to when the smoke snippet landed, rather than an interface
milestone an earlier release had already reached.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings October 16, 2026 02:51
@ptr727 ptr727 added the comments Permits the comment lines the pull request adds or edits, which the prose gate otherwise refuses label Oct 16, 2026
@ptr727

ptr727 commented Oct 16, 2026

Copy link
Copy Markdown
Owner Author

A recorded local strict-review pass covers head 30492c742681e28c7831d923d73a6cd8706fd6ff, the content this pull request carries at that commit against develop, and it recorded 2 findings.

@coderabbitai

coderabbitai Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 12 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Repository: ptr727/ProjectTemplate/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: ef3b7b32-7576-4893-af12-7e50bca580e6
📥 Commits

Reviewing files that changed from the base of the PR and between 97255b7 and 5204d8b.

📒 Files selected for processing: 4
  • catalog/snippets/workflows/README.md
  • catalog/snippets/workflows/test-pull-request-smoke.yml
  • docs/reusable-workflows.md
  • tests/test_release_guards.py
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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.

🟡 Changes recommended

Correct the default-input documentation and strengthen the consistency test assertions.

3 open findings
What changed in this PR

Adds and documents a pinned release-with-smoke workflow catalog snippet, with tests enforcing documentation consistency.

Changes:

  • Adds the smoke workflow snippet.
  • Updates documentation and catalog listings.
  • Adds synchronization checks.
File Description
tests/​test_release_guards.py Adds YAML extraction and consistency checks.
docs/​reusable-workflows.md Documents and links the smoke caller.
catalog/​snippets/​workflows/​test-pull-request-smoke.yml Adds the pinned workflow snippet.
catalog/​snippets/​workflows/​README.md Lists the new catalog entry.

🧠 Review effort: Lite


💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread tests/test_release_guards.py Outdated
Comment thread tests/test_release_guards.py
Comment thread tests/test_release_guards.py Outdated
yaml_blocks now filters fenced_blocks like shell_blocks does, so a fence
shape the scanner refuses fails loudly rather than being skipped, and the
scanner docstring names docs/reusable-workflows.md as a document under
test. The placeholder-pin assertion is dropped, since the repo gate
sha-pin check already scans catalog/snippets/workflows.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@codecov

codecov Bot commented Oct 16, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (develop@97255b7). Learn more about missing BASE report.

Additional details and impacted files
@@            Coverage Diff             @@
##             develop    #3113   +/-   ##
==========================================
  Coverage           ?   63.94%           
==========================================
  Files              ?       17           
  Lines              ?     9145           
  Branches           ?        0           
==========================================
  Hits               ?     5848           
  Misses             ?     3297           
  Partials           ?        0           
Flag Coverage Δ
python-3.13 63.94% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

The source scan guarding the fence extractors now includes yaml_blocks
beside its siblings, and the fenced_blocks docstring sentence naming the
documents under test is split to fit the sentence-length limit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ptr727

ptr727 commented Oct 16, 2026

Copy link
Copy Markdown
Owner Author

A recorded local strict-review pass covers head 5204d8b3aecd15dc16b190777500e5a5510940f1, the content this pull request carries at that commit against develop, and it recorded 0 findings.

@ptr727

ptr727 commented Oct 16, 2026

Copy link
Copy Markdown
Owner Author

Answering the 2 local strict review findings this pull request body listed at opening (see "Local review findings listed at opening"):

  • tests/test_release_guards.py yaml_blocks, "uses the regex ... rather than fenced_blocks": Fixed in 587f53a.
  • tests/test_release_guards.py smoke test, "assertNotIn(\"<hub-main-commit-sha>\", stub) overlaps the repo gate's sha-pin check": Fixed in 587f53a.

The pass over head 5204d8b raised no findings.

@ptr727

ptr727 commented Oct 16, 2026

Copy link
Copy Markdown
Owner Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
⚠️ Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@ptr727
ptr727 merged commit c181165 into develop Oct 16, 2026
13 checks passed
@ptr727
ptr727 deleted the feature/auto-2854 branch October 16, 2026 03:19
ptr727 added a commit that referenced this pull request Oct 16, 2026
… Fixes to Main (#3146)

- #3135 makes `gh-write-guard` read a gh write's subcommand and target
the way gh parses them: the subcommand is found past flags before the
command and before the subcommand, an `R` inside a short-option cluster
is read as a target, `GH_REPO` is read as a target, a run-time
repository owner on a write fails closed, and a run-time word where `pr`
or `merge` goes fails closed beside `--admin` or where word splitting
may split it
- #3139 releases the bootstrap lock when a `bootstrap.ps1` run ends
rather than when its process does, so a second run typed at the same
pwsh prompt is no longer refused the lock
- #3130 matches tool names and the `all` keyword by case in the Windows
agents loaders, as the Linux loaders already do
- #3128 reads CodeRabbit's rate limit on a reply to an explicit review
command in `pr_review.py`
- #3126 reconciles VSCode-Server-DotNetCore in the hub after its resync
- #3124 logs the Docker task's build-base leg in to Docker Hub
- #3122 names the carried skill and the skipped review correctly
- #3120 states the subprocess encoding rule in `CODESTYLE.md`, where
carriers read Python style
- #3118 and #3111 move the release-guard tests' workflow-command checks
onto `runner_commands`, and test the alternatives wiring at the
`audit_repo` and `fidelity_pass` call sites
- #3116 stops the doc gates' printed names forging workflow commands
- #3113 adds a catalog snippet for the release-with-smoke caller
- #3109 moves the `workflow_reuse` fetch onto `audit.contents_text`
- #3105 accepts `.codecov.yml` as an alternative to `codecov.yml`
- #3103 adds a pip ecosystem to the carried Dependabot snippet
- #3100 prefers the venv's ruff and pyright for a declared pip directory
- #3098 tracks composite action pins in Dependabot
- #3096 reads an uppercase Markdown suffix as Markdown at every prose
gate branch

After this merges, the host-safety installer payload changes, so the
maintainer runs the installer after promotion.

Closes #1416
Closes #1425
Closes #1578
Closes #1874
Closes #1892
Closes #1899
Closes #2804
Closes #2850
Closes #2852
Closes #2854
Closes #2996
Closes #3065
Closes #3067
Closes #3069
Closes #3079
Closes #3080
Closes #3089
Closes #3093
Closes #3101
Closes #3106
Closes #3107
Closes #3137

🤖 Generated with [Claude Code](https://claude.com/claude-code)


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Added a pull-request smoke build that runs when relevant release files
change and reports the combined validation and build status.
* Repository audits now recognize `.codecov.yml` as an alternative to
`codecov.yml`.

* **Improvements**
* Python linting and type checks use tools from declared project
environments when available, with fallbacks for missing tools.
* Workflow and lint reports safely display unusual filenames and
command-like text.
* GitHub write-target checks now account for additional command forms
and fail closed when targets cannot be verified.
* Rate-limit detection now recognizes another CodeRabbit response
format.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comments Permits the comment lines the pull request adds or edits, which the prose gate otherwise refuses

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants