Skip to content

ci: reject bare dated build ids in the version check (DRIVER-1074) - #1075

Open
nikagra wants to merge 1 commit into
scylladb:scylla-4.xfrom
nikagra:fix/reject-bare-dated-build-ids
Open

ci: reject bare dated build ids in the version check (DRIVER-1074)#1075
nikagra wants to merge 1 commit into
scylladb:scylla-4.xfrom
nikagra:fix/reject-bare-dated-build-ids

Conversation

@nikagra

@nikagra nikagra commented Sep 10, 2026

Copy link
Copy Markdown

#1049 widened the version grammar to accept a dated build id carrying no label, on the grounds that CCM recognises the form. On the release: route CcmBridge always uses, it does not: scylla-ccm's normalize_scylla_version (ccmlib/scylla_repository.py:215) rewrites the - to ~ for majors above 5.0 (2022.1 for enterprise), the published artifact keeps the dash, and the substring selector at :94 then finds nothing — ccm create dies at :145 with Not expected version number. The principal newly advertised form therefore cannot install on any current major, and as a CASSANDRA_VERSION it never could: Cassandra CCM 404s on the Apache archive and falls back to a nonexistent git tag.

  • The dated arm requires its label again, so 5.1.2-0.20221225.4c0f7ea09893 and 5.1-0.20221225.4c0f7ea09893 are rejected at the gate.
  • 5.4.0~dev-0.20230801.37b548f46365 and all four tightenings ci: tighten the fully qualified version check (DRIVER-924) #1049 introduced are untouched.
  • The three validation messages no longer advertise a dated build, and the Cassandra one no longer offers a Scylla-shaped id as a Cassandra version.

Verified: SERVER_VERSION_RE expands to 254 bytes, byte-identical to #1066, as are the grammar block and all three messages. A 26-case corpus matched with bash =~ against the pre-#1044, merged and fixed patterns — every disputed string flips to reject, every installable string stays accepted, and the accept set is a strict subset of both merged lines, so nothing is newly admitted. Each still-accepted case was put through the pinned normalize_scylla_version itself: no newly advertised form is uninstallable. No lane exercises a dated id (CI passes aliases only), so Setup ITs is the real gate.

Paired with #1066 (3.x), which carries the identical grammar; this one should land first.

Fixes: DRIVER-1074
Refs: #1049

scylladb#1049 admitted a dated build id carrying no label, on the grounds that CCM
recognises the form. On the release: route the driver uses it does not:
normalize_scylla_version rewrites the '-' to '~' above 5.0 (2022.1 for
enterprise), and CCM then resolves no package.

Require the label, and drop the dated build the three messages advertise.
The accept set is now a strict subset of the merged one, so nothing that
resolves today stops resolving.

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

coderabbitai Bot commented Sep 10, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 59 minutes.

Check out review usage here.

View limit details

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

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

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Organization UI

Review profile: QUIET

Plan: Advanced

Run ID: d34c66eb-af7e-4c9d-8e9a-45baabaef3b5

📥 Commits

Reviewing files that changed from the base of the PR and between 76ef5e4 and 3cc7a33.

📒 Files selected for processing (1)
  • Makefile

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.

@qodo-scylladb

qodo-scylladb Bot commented Sep 10, 2026

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)

Grey Divider

Great, no issues found!

Qodo reviewed your code and found no material issues that require review

Grey Divider

Tip of the day
💡 Did you know, you can turn these tips off under Display preferences

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant