Raised by CodeRabbit on #43 and worth settling separately, because it is a decision rather than a fix.
Two models, both in the repo
release-train.yml's publish-charts job asserts that both charts carry one platform version:
cv=$(yq -r '.version' "charts/$c/Chart.yaml")
av=$(yq -r '.appVersion' "charts/$c/Chart.yaml")
if [[ "$cv" != "$V" ]]; then ... fi
if [[ "$av" != "$V" ]]; then ... fi
That held at 2.0.0, when the charts split (#24) and the train last ran (2026-08-26).
Since then appVersion has tracked the EduIDE release (1.2.0, now 1.3.0 via #43) while the chart version moved on its own cadence (2.1.x, 2.2.x, 2.3.0). The values file documents that model - versions.ide empty falls through to appVersion, so a chart release pins the IDE images - and the deployment repo depends on it.
So main has failed the train's check since appVersion was set to 1.2.0. Nobody noticed because the train has not been dispatched since.
The decision
Either:
(a) appVersion keeps tracking EduIDE. Then the train should check version == $V only, and derive or accept appVersion separately. This matches what every consumer already assumes.
(b) One platform version for everything. Then a release moves chart version and appVersion together and the IDE images take the platform version as their tag, which means EduIDE stops publishing its own version-numbered releases - a much larger change touching four repositories.
(a) looks right, but it is not a call to make inside a version-bump PR.
Also
The charts had drifted apart (eduide 2.2.1, eduide-cluster 2.2.2) despite AGENTS.md saying they are released together at the same version. #43 puts both at 2.3.0. Nothing enforces it - worth a CI check in whichever direction this lands.
Raised by CodeRabbit on #43 and worth settling separately, because it is a decision rather than a fix.
Two models, both in the repo
release-train.yml'spublish-chartsjob asserts that both charts carry one platform version:That held at 2.0.0, when the charts split (#24) and the train last ran (2026-08-26).
Since then
appVersionhas tracked the EduIDE release (1.2.0, now 1.3.0 via #43) while the chart version moved on its own cadence (2.1.x, 2.2.x, 2.3.0). The values file documents that model -versions.ideempty falls through toappVersion, so a chart release pins the IDE images - and the deployment repo depends on it.So
mainhas failed the train's check since appVersion was set to 1.2.0. Nobody noticed because the train has not been dispatched since.The decision
Either:
(a)
appVersionkeeps tracking EduIDE. Then the train should checkversion == $Vonly, and derive or acceptappVersionseparately. This matches what every consumer already assumes.(b) One platform version for everything. Then a release moves chart version and appVersion together and the IDE images take the platform version as their tag, which means EduIDE stops publishing its own version-numbered releases - a much larger change touching four repositories.
(a) looks right, but it is not a call to make inside a version-bump PR.
Also
The charts had drifted apart (
eduide2.2.1,eduide-cluster2.2.2) despite AGENTS.md saying they are released together at the same version. #43 puts both at 2.3.0. Nothing enforces it - worth a CI check in whichever direction this lands.