Add bundler component-renaming conflict check (P-040) - #412
Merged
hdamker merged 4 commits intoAug 7, 2026
Conversation
GitHub Actions' runner made redocly force-color its bundle output, and a reset code landing between the location token and "at" broke _CONFLICT_RE's \s+, so the check silently found nothing there. No CLI flag exists to suppress this (checked --help and the CLI source); the underlying color library's own env-var detection proved inconsistent in local testing, so strip ANSI in our own code instead. Adds a regression test using the exact colored output captured from CI.
hdamker
force-pushed
the
feat/p040-bundler-renaming-conflict
branch
from
August 6, 2026 11:14
c926064 to
e4c98bd
Compare
rartych
self-requested a review
August 6, 2026 11:45
rartych
previously approved these changes
Aug 6, 2026
A real-runner reconstruction showed NO_COLOR alone (no ANSI-stripping) satisfies the unmodified conflict regex against redocly's colored output — the same mechanism already verified for 047's illegible bundling-failure annotation. Simplifies the check to one suppression path instead of two.
Contributor
Author
|
GitHub is currently reporting an incident with Actions and I can't test the simplification done in d3a6e12. Setting the PR for the moment to draft until the test on my fork is done. |
hdamker
marked this pull request as draft
August 6, 2026 16:25
hdamker
marked this pull request as ready for review
August 7, 2026 05:13
Contributor
Author
|
GH back in business ... could test P-040 firing in a real validation run on hdamker/TestRepo-QoD. |
…enaming-conflict # Conflicts: # validation/engines/python_checks/__init__.py # validation/rules/python-rules.yaml # validation/tests/test_rule_metadata_integrity.py
Contributor
Author
|
Merging based on the previous approvals. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What type of PR is this?
enhancement/feature
tests
What this PR does / why we need it:
Adds a validation check that catches, at PR time, the defect Redocly's bundler already detects but currently hides: two components sharing a name with different content, where the bundler silently renames the externally-referenced one to
<Name>-2.P-040runsredocly bundle --component-renaming-conflicts-severity=errorand reports on a genuine conflict; a same-name-same-content proxy component is never flagged. Warns on draft/alpha/rc, errors at public.Confirmed live in QualityOnDemand (#589), WebRTC (#199), and DeviceLocation — all currently pre-
public, so this doesn't retroactively block anyone on merge.Which issue(s) this PR fixes:
Fixes #411
Special notes for reviewers:
Local checks run:
python3 -m pytest validation/tests/test_python_checks_bundling.py -qpython3 -m pytest validation/tests/test_rule_metadata_integrity.py -qpython3 -m pytest validation/tests -q(1231 passed)The regression-canary fixture for this rule isn't captured yet —
regression_runner.pycan only test what's already published tovalidation-framework. Will follow up once this merges.Changelog input
Additional documentation
This section can be blank.