version-update

Alur kerja rilis untuk main: segarkan related_images.json dengan gambar Konflux stabil (-r stable), naikkan versi bundle/CSV, hasilkan ulang dan validasi bundle.…

npx skills add https://github.com/openshift/lightspeed-operator --skill version-update

Version Update (Release)

Invoke with /version-update X.Y.Z or /update-bundle release X.Y.Z.

Not for PR/CI — use /update-bundle dev.

Step 1: Refresh related_images.json (stable)

Prerequisite: oras and jq. Do not rely on oc.

./hack/related_images_from_quay.sh -r stable -o related_images.json

Use -r preview for tech-preview paths (registry.redhat.io/openshift-lightspeed-tech-preview/...).

Resolves oras resolve <konflux_prefix>:<revision>, then rewrites konflux_prefixstable_prefix in the digest URL. External entries (no konflux_prefix) are unchanged.

Konflux-managed entries must keep konflux_prefix and stable_prefix. See docs/olm-bundle-management.md.

Optional: hack/snapshot_to_image_list.sh only to discover new revision values from Konflux when oc is available; then run related_images_from_quay.sh again.

If CRD/RBAC changed since last bundle, run make manifests before regenerating the bundle (Step 4).


Update the version in two files. They must all match.

Critical Rules

  • The CSV name field includes a v prefix (e.g., lightspeed-operator.v1.0.8)
  • The CSV version field does NOT have a prefix (e.g., 1.0.8)
  • Both files MUST have matching version numbers
  • Always regenerate the bundle after version changes

Files to Update

1. bundle.Dockerfile — Bundle container labels (lines 63 and 66)

LABEL release=X.Y.Z
# ...
LABEL version=X.Y.Z

2. bundle/manifests/lightspeed-operator.clusterserviceversion.yaml — CSV metadata

Line 58:

name: lightspeed-operator.vX.Y.Z

Line 715:

version: X.Y.Z

Note: Line numbers are approximate and may shift. Use search to locate:

  • Search for name: lightspeed-operator.v (around line 58)
  • Search for version: near the end of the file (around line 715)

Step-by-Step Process

Step 2: Update bundle.Dockerfile

# Update both LABEL release and LABEL version
sed -i '' 's/^LABEL release=.*/LABEL release=X.Y.Z/' bundle.Dockerfile
sed -i '' 's/^LABEL version=.*/LABEL version=X.Y.Z/' bundle.Dockerfile

Or manually edit lines 63 and 66.

Step 3: Update CSV metadata

Line ~58 (name field with v prefix):

name: lightspeed-operator.vX.Y.Z

Line ~715 (version field WITHOUT prefix):

version: X.Y.Z

Step 4: Regenerate Bundle

After updating both files, regenerate the bundle:

make bundle BUNDLE_TAG=X.Y.Z

Or use the script:

hack/update_bundle.sh -v X.Y.Z -i related_images.json

This ensures all generated files are consistent with the new version and stable images.

operator-sdk bundle validate ./bundle

Step 5: Verify Changes

git diff bundle.Dockerfile related_images.json bundle/

Confirm:

  • related_images.json uses stable registry.redhat.io images for Konflux-managed entries (via konflux_prefixstable_prefix mapping)
  • External/manual entries (no snapshot_component) are pinned correctly and unchanged by prefix mapping
  • bundle.Dockerfile has release=X.Y.Z and version=X.Y.Z
  • CSV name field: lightspeed-operator.vX.Y.Z (with v prefix)
  • CSV version field: X.Y.Z (without prefix)
  • CSV relatedImages and deployment args match related_images.json
  • All generated bundle files are updated

Step 6: Commit (only when user asks)

git add bundle.Dockerfile related_images.json bundle/
git commit -m "OLS-XXXX: Release vX.Y.Z"

Checklist

  • related_images.json refreshed with -r stable
  • bundle.Dockerfile updated (lines 63, 66)
  • bundle/manifests/lightspeed-operator.clusterserviceversion.yaml name updated (line ~58, with v prefix)
  • bundle/manifests/lightspeed-operator.clusterserviceversion.yaml version updated (line ~715, without prefix)
  • Bundle regenerated with make bundle BUNDLE_TAG=X.Y.Z or hack/update_bundle.sh -v X.Y.Z -i related_images.json
  • operator-sdk bundle validate ./bundle passes
  • Both version files have matching X.Y.Z
  • Changes committed (when requested)

Common Mistakes to Avoid

❌ Forgetting the v prefix in CSV name field ❌ Adding a v prefix to CSV version field ❌ Updating only one file ❌ Not regenerating the bundle after changes ❌ Mismatched version numbers between files ❌ Bumping version without refreshing stable images (-r stable) ❌ Konflux-managed entries missing konflux_prefix / stable_prefix (stable refresh cannot map to product registry) ❌ Merging dev quay images from /update-bundle dev to main without re-running this skill

Related

  • /update-bundle dev — PR/CI (related_images_from_quay.sh -r ci)
  • docs/olm-bundle-management.md — bundle structure
  • hack/related_images_from_quay.sh — Quay digest refresh
  • hack/release_tools.md — release tooling

Lebih banyak skill dari openshift

openshift-expert
openshift
Pakar platform OpenShift dan Kubernetes dengan pengetahuan mendalam tentang arsitektur klaster, operator, jaringan, penyimpanan, pemecahan masalah, dan pipeline CI/CD. Gunakan…
official
find-token
openshift
Temukan token verifikasi yang tersembunyi. Jalankan skrip find-token untuk mengambil token unik.
official
code-review
openshift
Tinjau permintaan pull untuk kualitas kode, kebenaran, dan konvensi proyek. Gunakan saat pengguna meminta untuk meninjau PR, tinjauan kode, atau memeriksa perubahan pada suatu…
official
css-review
openshift
Tinjau CSS untuk gaya penulisan kode, penggunaan token PatternFly, dan praktik terbaik. Gunakan saat pengguna meminta untuk meninjau CSS, memeriksa gaya, atau mengaudit file CSS.
official
review-readmes
openshift
Tinjau semua file README.md di repositori untuk mencari kesalahan ketik, kesalahan, dan informasi yang sudah usang. Gunakan saat pengguna meminta untuk meninjau README, memeriksa keakuratan dokumentasi, atau…
official
review-skills
openshift
Tinjau keterampilan AI proyek untuk duplikasi, referensi usang, kesalahan, dan masalah struktural. Gunakan saat pengguna meminta untuk meninjau keterampilan, mengaudit keterampilan, memeriksa…
official
test
openshift
Jalankan pengujian ujung-ke-ujung yang difilter berdasarkan tag. Gunakan saat pengguna meminta untuk menjalankan pengujian, menjalankan Playwright, atau menguji tag fitur tertentu seperti @core atau @attach.
official
unused-exports
openshift
Temukan simbol yang diekspor tetapi tidak pernah diimpor oleh file lain. Gunakan saat pengguna mengatakan "periksa ekspor", "ekspor tidak terpakai" atau meminta untuk membersihkan ekspor.
official