Skip to content

tests: prove a stable publish leaves a newer-family edge alone - #35

Merged
andrebrait merged 1 commit into
mainfrom
issue/3390-stable-leaves-newer-edge
Oct 1, 2026
Merged

andrebrait merged 1 commit into
mainfrom
issue/3390-stable-leaves-newer-edge

Conversation

@andrebrait

@andrebrait andrebrait commented Oct 1, 2026 •

Copy link
Copy Markdown
Member

A stable 3.3.x release routes to stable, testing and edge. When edge already serves a newer release family (for example 4.0.0.a1), the publisher must update stable and testing and leave the edge catalogue byte-identical, including the dependency the edge build declares.

The existing test_build_older_than_the_catalogues_newest_leaves_it_alone covers this only for a testing-primary release (testing and edge). This adds the stable-primary case: stable and testing advance from 3.3.10 to 3.3.11, edge keeps 4.0.0.a1, and the report lists only stable and testing as touched.

Test-only change. The test fails when the stale guard in publish() is disabled, including when the fan-out identity check is also bypassed (the touched assertion catches it).

Refs pfBlockerNG/pfBlockerNG#3390

Summary by CodeRabbit

  • Tests
    • Added coverage confirming that publishing a stable release updates stable and testing destinations without changing edge when edge already has a newer version.

A stable 3.3.x release routes to stable, testing and edge. When edge
already serves a newer family (4.0.0.a1), the publisher must update
stable and testing only and leave the edge catalogue byte-identical,
dependency included. The existing coverage exercised this with a
testing-primary release only.

Refs pfBlockerNG/pfBlockerNG#3390
@coderabbitai

coderabbitai Bot commented Oct 1, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: 647f8004-d4f7-4ff3-9c46-0a44f3d50da9

📥 Commits

Reviewing files that changed from the base of the PR and between d406d56 and 819e988.

📒 Files selected for processing (1)
  • tests/test_publish_release.py

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The change adds a test for publishing a stable release to all channels when edge already contains a newer version. It checks that stable and testing update, while edge remains unchanged.

Changes

Release publishing test

Layer / File(s) Summary
Channel update expectations
tests/test_publish_release.py
Adds a test that publishes stable 3.3.11 when edge contains 4.0.0.a1. It asserts that stable and testing list 3.3.11 and that edge remains unchanged and lists 4.0.0.a1.

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~3 minutes

Change: Other

Merge Risk: ⚪ Minimal · up to 819e9

The new test covers publishing stable 3.3.11 while edge has a newer release, including preserving edge files and dependency metadata. No actionable merge risk remains.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: it adds a test that verifies a stable publish does not modify a newer edge catalogue.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 3 functions across 1 files.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Autopilot is currently an internal CodeRabbit preview.


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

A rabbit checks the channels in a row
Stable and testing get the new release
Edge keeps its newer version safe
The test records what changed and stayed
Then hops away through fields of green

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

@andrebrait
andrebrait merged commit 819e988 into main Oct 1, 2026
3 checks passed
@andrebrait
andrebrait deleted the issue/3390-stable-leaves-newer-edge branch October 1, 2026 20:14

This branch was successfully deployed

1 active deployment
github-pages — 819e988b Deployed Oct 1, 2026 by andrebrait via deploy #169
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