version-update

bởi openshift

Luồng phát hành cho nhánh chính: làm mới related_images.json với các hình ảnh Konflux ổn định (-r stable), tăng phiên bản bundle/CSV, tái tạo và xác thực 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

Thêm skills từ openshift

openshift-expert
openshift
Chuyên gia nền tảng OpenShift và Kubernetes với kiến thức sâu về kiến trúc cluster, operators, mạng, lưu trữ, xử lý sự cố và pipeline CI/CD. Sử dụng…
official
find-token
openshift
Tìm mã xác thực ẩn. Chạy tập lệnh find-token để lấy mã duy nhất.
official
code-review
openshift
Xem xét một pull request về chất lượng mã, tính đúng đắn và các quy ước của dự án. Sử dụng khi người dùng yêu cầu xem xét một PR, đánh giá mã, hoặc kiểm tra các thay đổi trên một…
official
css-review
openshift
Xem xét CSS về phong cách mã hóa, cách sử dụng token PatternFly và các phương pháp tốt nhất. Sử dụng khi người dùng yêu cầu xem xét CSS, kiểm tra kiểu dáng hoặc kiểm tra các tệp CSS.
official
review-readmes
openshift
Xem xét tất cả các tệp README.md trong kho lưu trữ để tìm lỗi chính tả, lỗi sai và thông tin lỗi thời. Sử dụng khi người dùng yêu cầu xem xét README, kiểm tra độ chính xác của tài liệu, hoặc…
official
review-skills
openshift
Xem xét các kỹ năng AI của dự án để phát hiện trùng lặp, tham chiếu lỗi thời, sai sót và vấn đề cấu trúc. Sử dụng khi người dùng yêu cầu xem xét kỹ năng, kiểm tra kỹ năng, kiểm tra…
official
test
openshift
Chạy kiểm thử đầu cuối được lọc theo thẻ. Sử dụng khi người dùng yêu cầu chạy kiểm thử, chạy Playwright, hoặc kiểm thử một tính năng cụ thể có thẻ như @core hoặc @attach.
official
unused-exports
openshift
Tìm các ký hiệu được xuất khẩu nhưng không bao giờ được nhập vào tệp khác. Sử dụng khi người dùng nói "kiểm tra xuất khẩu", "xuất khẩu không dùng" hoặc yêu cầu dọn dẹp xuất khẩu.
official