Repository navigation
Conversation
Adopting a Solr release touches 14 files with no make target checking them, plus a hand-maintained compatibility matrix and the chart changelogs.
Add the numbered procedure, size before editing rather than after, cover the major-only pin in the e2e workflow, and stop the skill matching its own grep.
Read the whole version span rather than just the target, start from the ref-guide upgrade notes, and state that the two charts' security annotations do not propagate to each other.
Vulnerabilities are disclosed after the release that fixes them, so a release's changelog section normally has no Security subsection even when it carries fixes.
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
The procedure can test the wrong Solr version and generate inaccurate upgrade notices, so its operational guidance needs correction before use.
4 open issues
What changed in this PR
Adds a Markdown-only agent skill for adopting Solr releases, documenting the operator’s version updates, compatibility checks, and release notes.
Changes:
- Defines release validation, operator-impact sizing, testing, and separate handling for new major versions.
- Records version sites, compatibility-matrix maintenance, and both charts’ changelog requirements.
- Adds skill discovery guidance and ignores local Claude configuration, overlapping with prerequisite PR #864.
| File | Description |
|---|---|
AGENTS.md |
Introduces skill discovery guidance and lists solr-version-support. |
.gitignore |
Excludes local .claude/ configuration. |
.agents/skills/solr-version-support/SKILL.md |
Documents the Solr release-adoption procedure and verification checklist. |
Review effort: Balanced
Updated local tutorial to maintain compatibility with older versions and clarified the upgrade process. Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Its upgrade section needs the install sites to stay on the previous default, or the demonstration upgrades from X to X.
Flags after the action are silently dropped: the script parses options before it consumes the action, so '-s' never reaches getopts.
The operator persists the defaulted tag into the spec, so only newly created SolrClouds follow a new default, never running clusters.
'git status --short' lists what you just staged, so it cannot be clean until after the commit.
Ask which is wanted before editing, recommending the default bump for a minor or patch inside a supported major.
This branch has not been deployed
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.

Closes #866
Adopting a new Solr release means editing 15 files that each carry the version — 14 repeating the full string, plus
.github/workflows/e2e-tests.yamlwhich pins the major alone — and no make target checks that they agree, so a partial bump passes CI. The compatibility matrix and both charts'artifacthub.io/changeschangelogs are hand-maintained, and are the steps most often skipped. This writes that procedure down.What it covers
solr:9so agit grepof the previous version cannot see it, andappVersionmeans the Solr version inhelm/solrbut the operator version inhelm/solr-operator, which must never be touched here.major-changes-in-solr-<major>.adocfirst, thenCHANGELOG.md, then the security atom feed for CVEs — and across the whole span crossed, since adopting 9.11.0 off a 9.10.0 default means reading 9.10.1 too.security.json, TLS, rolling updates, scaling — each with its file.containsSecurityUpdatesannotations are independent of each other.Where it lives
.agents/skills/, the convention #864 establishes — the vendor-neutral location most assistants read, with a pointer fromAGENTS.md. Markdown only, no scripts, so a human can follow the same checklist by hand.This must be merged after #864. As the branch stands it duplicates that PR's
.gitignoreentry and its entire## Skillssection inAGENTS.md, so the two will conflict. Once #864 is in I will rebase and cut this down to what it should actually be: the newSKILL.md, plus one row added to the table #864 created.Tried before proposing
Ran it end to end to adopt Solr 9.11.0 (#869). It found the full set of version sites, correctly concluded the release needs no operator work, determined the matrix needed no new column, and produced both charts' changelog entries.
make e2e-testscould not run locally because of #859, and the skill's rules made the PR say so plainly rather than quietly skip it.Two things it got wrong on that run, both fixed here: it read only the target release and so missed that the CVE fixes are in the intervening 9.10.1, and it implied a security entry on one chart carries over to the other.
Note on the major-version section
"A new Solr major version" describes the mechanism from #827 —
SolrCloud.SolrMajorVersion()parsed from the image tag, and anUnsupportedSolrVersionwarning event for a major the operator does not support. #827 is still open, so that section documents something not yet onmain. The skill says so in-line and tells the reader to re-read the code first, but if you would rathermainnot describe an unmerged PR, that section can wait for #827 or move to a follow-up.🤖 AI assisted PR, approved by me