Skip to content

feat: Prep main for v2 merge - #251

Merged
casey-coreweave merged 1 commit into
mainfrom
cabernathy/prep_for_v1_branch
Jul 15, 2026
Merged

feat: Prep main for v2 merge#251
casey-coreweave merged 1 commit into
mainfrom
cabernathy/prep_for_v1_branch

Conversation

@casey-coreweave

@casey-coreweave casey-coreweave commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Summary by CodeRabbit

  • New Features

    • Releases are now published from validated annotated v1.x.y tags.
    • Docker images are published with version, minor, major, and latest tags on Docker Hub; Quay receives version, minor, and major tags.
    • GitHub releases are generated automatically with release notes.
  • Documentation

    • Added instructions for creating, validating, and monitoring v1 releases, including artifact tracking and tag management.
  • Chores

    • Build, security scan, and test workflows now target the v1 branch.

@coderabbitai

coderabbitai Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

CI now targets v1, and releases are driven by validated annotated v1.x.y tags. The workflow builds and publishes deterministic Docker Hub and Quay tags, creates GitHub releases, removes semantic-release configuration, and documents the new procedure.

Changes

Operator v1 release flow

Layer / File(s) Summary
v1 triggers and tag validation
.github/workflows/docker-build-scan.yml, .github/workflows/run-tests.yaml, .github/workflows/release.yaml
CI targets the v1 branch. Release execution requires an annotated v1.x.y tag whose commit is reachable from origin/v1.
Image publishing and GitHub release
.github/workflows/release.yaml, .releaserc.json
The workflow replaces semantic-release with direct image building, deterministic Docker Hub and Quay publishing, and GitHub release creation.
Release procedure documentation
docs/releasing-v1.md
Documents pull request merging, annotated tag creation, workflow monitoring, artifact recording, and registry tag rules.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Developer
  participant GitHubActions
  participant DockerHub
  participant Quay
  participant GitHubRelease
  Developer->>GitHubActions: Push annotated v1.x.y tag
  GitHubActions->>GitHubActions: Validate tag and origin/v1 ancestry
  GitHubActions->>DockerHub: Build and publish VERSION, MINOR, MAJOR, latest
  GitHubActions->>Quay: Publish VERSION, MINOR, MAJOR
  GitHubActions->>GitHubRelease: Create release with generated notes
Loading

Possibly related PRs

  • wandb/operator#101: Modifies overlapping Docker image release and Quay publishing workflow logic.
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Title check ⚠️ Warning The title mentions prepping main for a v2 merge, but the changes actually switch CI/release workflows and docs to v1 tag-based releases. Rename it to reflect the actual change, e.g. "feat: switch CI and release workflows to v1 tag-based releases".
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch cabernathy/prep_for_v1_branch

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@casey-coreweave
casey-coreweave marked this pull request as ready for review July 14, 2026 23:14
@casey-coreweave
casey-coreweave requested a review from a team as a code owner July 14, 2026 23:14

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
.github/workflows/release.yaml (1)

34-54: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Extract BASH_REMATCH immediately to prevent silent corruption.

Relying on the BASH_REMATCH array across multiple intervening commands is brittle. If a future change introduces another regex match (=~) within the intermediate lines or inside a called script/completion, the array will be silently overwritten, corrupting your minor and major variables.

It is a best practice to extract these values immediately after the match.

♻️ Proposed refactor
           if [[ ! "${tag}" =~ ^v(1)\.([0-9]+)\.([0-9]+)$ ]]; then
             echo "Expected a stable v1 tag in the form v1.x.y; got ${tag}" >&2
             exit 1
           fi
+
+          major="${BASH_REMATCH[1]}"
+          minor="${BASH_REMATCH[1]}.${BASH_REMATCH[2]}"
+          version="${tag#v}"
 
           if [[ "$(git cat-file -t "refs/tags/${tag}")" != "tag" ]]; then
             echo "Release tag ${tag} must be annotated" >&2
             exit 1
           fi
 
           git fetch --no-tags origin refs/heads/v1:refs/remotes/origin/v1
           tagged_commit="$(git rev-list -n 1 "${tag}")"
           if ! git merge-base --is-ancestor "${tagged_commit}" refs/remotes/origin/v1; then
             echo "Tagged commit ${tagged_commit} is not reachable from origin/v1" >&2
             exit 1
           fi
-
-          version="${tag#v}"
-          minor="${BASH_REMATCH[1]}.${BASH_REMATCH[2]}"
-          major="${BASH_REMATCH[1]}"
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/release.yaml around lines 34 - 54, Extract the regex
capture groups from BASH_REMATCH immediately after the tag validation in the
release workflow, before any git commands or other intervening operations.
Update the later minor and major assignments to reuse those saved capture
values, preserving the existing v1.x.y validation behavior.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In @.github/workflows/release.yaml:
- Around line 34-54: Extract the regex capture groups from BASH_REMATCH
immediately after the tag validation in the release workflow, before any git
commands or other intervening operations. Update the later minor and major
assignments to reuse those saved capture values, preserving the existing v1.x.y
validation behavior.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 39f973d6-11c3-419b-99c4-fcf3c19294e9

📥 Commits

Reviewing files that changed from the base of the PR and between f19b8e1 and d1f26a3.

📒 Files selected for processing (5)
  • .github/workflows/docker-build-scan.yml
  • .github/workflows/release.yaml
  • .github/workflows/run-tests.yaml
  • .releaserc.json
  • docs/releasing-v1.md
💤 Files with no reviewable changes (1)
  • .releaserc.json

@casey-coreweave
casey-coreweave merged commit b02613e into main Jul 15, 2026
6 checks passed
@casey-coreweave
casey-coreweave deleted the cabernathy/prep_for_v1_branch branch July 15, 2026 16:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants