Repository navigation
Document testing modules against every supported image version - #1587
Merged
cristianrgreco merged 11 commits intoOct 13, 2026
Merged
Conversation
When following an image bump changes module source, the skill now asks for a check against the older versions the vendor still supports. Versions past end of life are out of scope.
…ages-in-update-dependencies
…uites A check done by hand at bump time protects nothing that changes later, so modules whose source depends on what is inside the image now run their tests against the oldest supported version too. The update-dependencies skill covers adding that version on a bump and moving the pin at end of life.
Module tests now cover each version line the vendor still supports, not only the oldest one for version-sensitive modules: the whole suite on the newest and oldest lines, a smoke test for each line in between. The update-dependencies skill keeps the hardcoded lines current on each bump.
This was referenced Oct 12, 2026
cristianrgreco
added a commit
that referenced
this pull request
Oct 13, 2026
cristianrgreco
deleted the
claude/check-older-images-in-update-dependencies
branch
October 13, 2026 17:51
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.
Summary
Users choose their own image tag, so a module has to keep working with every version the vendor still supports. Nothing in the guidance covered that, and a check done by hand when an image is bumped protects nothing that changes later, such as a new feature that only works on the newest version.
This makes the supported versions a permanent part of each module's suite:
IMAGESlist: the latest release of each older supported major, oldest first, as an exact tag, then theDockerfileimage. Other minors and patches of a major are not listed. The older majors are hardcoded because Dependabot bumps every same-imageFROMline to the newest tag.describe.each(IMAGES), so every test runs on every major, including tests added later.Dockerfileimage is tested.add-moduleskill: one line pointing at the rule for modules whose vendor supports more than one major.update-dependenciesskill: a new "Supported image versions" section. On every image bump, and when a module changes for another reason, it compares the vendor's supported majors with the module'sIMAGESlist: drop majors past end of life, add missing supported majors, move listed majors to their latest release, verify new tags withdocker manifest inspect, check that theDockerfileis on the newest version, add the major theDockerfileleaves when it moves to a new one, and check images the module starts itself from a tag in its source, which Dependabot doesn't see (Update the Selenium video recorder and Service Bus SQL Server images #1600 updates the two that exist).This came out of #1514, where a module change started relying on a binary inside the image (
mcstat) and compatibility with Couchbase 7.6 had to be checked by hand.No module is changed here. The existing modules are brought in line in #1589, #1591, #1592, #1593, #1595 and #1596, and the code for end-of-life versions is removed in #1597. The wording was revised after that work to match what it settled on.
Verification
npm run format,npm run lint,npm run knip: pass.npm run lintprints one info diagnostic that is already onmain:biome.jsonreferences the 2.5.14 schema while the installed Biome is 2.5.15.Not breaking
Guidance for agents and contributors only. No package source, tests or published files change.