-
Notifications
You must be signed in to change notification settings - Fork 63
Add Claude Code command for updating EOL Istio versions #1326
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
istio-testing
merged 4 commits into
istio-ecosystem:main
from
FilipB:add-claude-cmd-for-eol-versions
Nov 14, 2025
Merged
Changes from all commits
Commits
Show all changes
4 commits
Select commit
Hold shift + click to select a range
2a7186c
Add Claude Code command for updating EOL Istio versions
FilipB 709a1b7
Be more specific about fields to be kept
FilipB ce19d87
Update .claude/commands/update-eol-versions.md
FilipB 389a8e7
Update .claude/commands/update-eol-versions.md
FilipB File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,68 @@ | ||
| # Update EOL Istio Versions | ||
|
|
||
| This command automates the process of marking End-of-Life (EOL) Istio versions in the versions.yaml file. | ||
|
|
||
| ## Tasks | ||
|
|
||
| 1. **Fetch supported Istio versions** from istio.io: | ||
| - Visit https://istio.io/latest/docs/releases/supported-releases/ to get the list of currently supported Istio versions | ||
| - Identify which major.minor versions are still supported upstream | ||
| - Note the EOL dates for versions that are no longer supported | ||
|
|
||
| 2. **Analyze what changes are needed**: | ||
| - Read `pkg/istioversion/versions.yaml` (or the file specified by VERSIONS_YAML_FILE env var) | ||
| - Compare the current state with the upstream supported versions | ||
| - Identify versions that need to be marked as EOL (not supported upstream but missing `eol: true`) | ||
| - Identify versions that need EOL removed (supported upstream but have `eol: true`) | ||
| - **If no changes are needed**, inform the user that all versions are already up-to-date and STOP | ||
| - Only proceed to the next steps if changes are required | ||
|
|
||
| 3. **Create a new git branch** for this update (only if changes are needed): | ||
| - Branch name should be: `update-eol-versions-YYYY-MM-DD` (use today's date) | ||
| - Ensure the working directory is clean before creating the branch | ||
| - If there are uncommitted changes, ask the user what to do | ||
|
|
||
| 4. **Update versions.yaml**: | ||
| - For each version entry that needs changes: | ||
| - If the version is NOT supported upstream and doesn't already have `eol: true`, add `eol: true` to that version entry | ||
| - If a version has `eol: true` but is still supported upstream, remove the `eol: true` flag (this handles corrections) | ||
| - Preserve the YAML structure and comments | ||
| - For EOL versions, keep only `name:`, `eol:` and `ref:` sections | ||
|
|
||
|
|
||
| 5. **Run code generation**: | ||
| - Execute `make gen` to regenerate all necessary code and manifests | ||
| - This ensures CRDs and other generated files are updated | ||
|
|
||
| 6. **Show summary**: | ||
| - List all versions that were marked as EOL | ||
| - List all versions that had EOL status removed (if any) | ||
| - Show the git diff of changes made to versions.yaml | ||
| - Provide next steps for the user (review changes, run tests, commit, create PR) | ||
|
|
||
| ## Important Notes | ||
|
|
||
| - Only mark versions as EOL if they are confirmed to be EOL upstream Istio [project](https://istio.io/latest/docs/releases/supported-releases/) | ||
| - Preserve all existing version entries - do not remove them from the file | ||
| - The `eol: true` flag makes versions uninstallable but keeps them as valid spec.version values for API compatibility | ||
| - For EOL versions, keep only `name:`, `eol:` and `ref:` sections | ||
| - Show the changes and ask the user to confirm the changes before committing | ||
|
|
||
| ## Example Version Entry | ||
|
|
||
| Before (supported version): | ||
| ```yaml | ||
| - name: v1.25.0 | ||
| version: 1.25.0 | ||
| repo: https://github.com/istio/istio | ||
| commit: 1.25.0 | ||
| charts: | ||
| - https://istio-release.storage.googleapis.com/charts/base-1.25.0.tgz | ||
| - https://istio-release.storage.googleapis.com/charts/istiod-1.25.0.tgz | ||
| ``` | ||
|
|
||
| After (EOL version): | ||
| ```yaml | ||
| - name: v1.25.0 | ||
| eol: true | ||
| ``` | ||
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.