Skip to content

Publish packaging artifacts from canonical repository - #4

Merged
ndizazzo merged 3 commits into
mainfrom
codex/issue-971-publish
Jul 21, 2026
Merged

Publish packaging artifacts from canonical repository#4
ndizazzo merged 3 commits into
mainfrom
codex/issue-971-publish

Conversation

@ndizazzo

@ndizazzo ndizazzo commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Supports Mesh-LLM/mesh-llm#971.

  • fixes flat release asset staging and aggregate checksums
  • updates repository and OCI source metadata after the rename
  • keeps generated Homebrew formulae style-compliant
  • records the successful v0.73.1 production publication and public GHCR validation

Validation:

  • production packaging run 29852728714 (attempt 2): success
  • 12 TypeScript tests
  • image matrix validation
  • actionlint
  • Homebrew install/test/style on Apple Silicon
  • anonymous access to all 47 release assets and 22 OCI tags

Summary by CodeRabbit

  • Release Improvements

    • Release uploads now include a verified checksum manifest and matching provenance attestations.
    • Duplicate release asset names are detected before publishing to prevent ambiguous downloads.
  • Documentation

    • Packaging readiness and release checklists now reflect completed workflow validation and public image availability.
    • Repository references and production-readiness tasks have been updated.
  • Package Metadata

    • Container image source information and Homebrew formula metadata have been updated for consistency.

@coderabbitai

coderabbitai Bot commented Jul 21, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@ndizazzo, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 57 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 6f6fb8eb-5462-4fc6-894f-7ba7dd2cc3ea

📥 Commits

Reviewing files that changed from the base of the PR and between 1cdca82 and 558ae7a.

📒 Files selected for processing (2)
  • .github/workflows/images-release.yml
  • README.md
📝 Walkthrough

Walkthrough

The release workflow now stages native artifacts, generates and attests a consolidated checksum manifest, and uploads the staged set. Repository references, packaging readiness records, Docker metadata, and Homebrew formula metadata were updated for mesh-packaging.

Changes

Packaging release readiness

Layer / File(s) Summary
Release asset staging and publication
.github/workflows/images-release.yml
Release artifacts are staged in release-upload/, duplicate filenames are rejected, SHA256SUMS is generated and attested, and the staged files are uploaded.
Repository identity and operational readiness
docker/Dockerfile.mesh-llm, docs/packaging-readiness-gaps.md, docs/release-checklist.md, TODO.md
Repository URLs, workflow QA references, GHCR status items, permissions, and production-readiness checks now reference mesh-packaging.
Homebrew source metadata ordering
packaging/homebrew/Formula/mesh-llm.rb.template
The formula template places url and version before checksum, license, and architecture metadata.

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

Sequence Diagram(s)

sequenceDiagram
  participant ReleaseAssets
  participant GitHubActions
  participant GitHubRelease
  ReleaseAssets->>GitHubActions: Provide native release artifacts
  GitHubActions->>GitHubActions: Stage assets and generate SHA256SUMS
  GitHubActions->>GitHubActions: Attest staged package subjects
  GitHubActions->>GitHubRelease: Upload release-upload artifacts
Loading
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: publishing packaging artifacts from the canonical repository.
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 codex/issue-971-publish

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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

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/images-release.yml (1)

399-404: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Enhance xargs usage for robustness.

If the release-upload directory contains no matching files, xargs will execute sha256sum with zero arguments. This causes sha256sum to wait for standard input and output a checksum for a dummy - entry. Adding the -r (--no-run-if-empty) flag prevents this behavior.

Additionally, passing -- to sha256sum ensures that filenames starting with a hyphen (e.g., -file.tar) are correctly processed as file paths rather than command-line options.

♻️ Proposed refactor
           (
             cd release-upload
             checksum_file="$(mktemp)"
-            find . -maxdepth 1 -type f ! -name SHA256SUMS -printf '%f\0' | sort -z | xargs -0 sha256sum > "$checksum_file"
+            find . -maxdepth 1 -type f ! -name SHA256SUMS -printf '%f\0' | sort -z | xargs -0 -r sha256sum -- > "$checksum_file"
             mv "$checksum_file" SHA256SUMS
           )
🤖 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/images-release.yml around lines 399 - 404, Update the
checksum generation command in the release-upload block to make xargs skip
sha256sum when no matching files exist, and pass -- to sha256sum before the
filenames so hyphen-prefixed filenames are treated as paths.
🤖 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/images-release.yml:
- Around line 399-404: Update the checksum generation command in the
release-upload block to make xargs skip sha256sum when no matching files exist,
and pass -- to sha256sum before the filenames so hyphen-prefixed filenames are
treated as paths.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 3b0f06d5-01df-42be-a822-61a6a79ff90f

📥 Commits

Reviewing files that changed from the base of the PR and between 5809aa4 and 1cdca82.

📒 Files selected for processing (6)
  • .github/workflows/images-release.yml
  • TODO.md
  • docker/Dockerfile.mesh-llm
  • docs/packaging-readiness-gaps.md
  • docs/release-checklist.md
  • packaging/homebrew/Formula/mesh-llm.rb.template

@ndizazzo

Copy link
Copy Markdown
Contributor Author

Addressed CodeRabbit’s checksum robustness finding in 558ae7a: xargs now uses -r and sha256sum receives --. Revalidated actionlint, empty-input behavior, a hyphen-prefixed checksum round trip, and diff cleanliness. The follow-up CodeRabbit check is currently rate-limited; the completed review’s only finding is resolved.

@ndizazzo
ndizazzo merged commit c32b68c into main Jul 21, 2026
1 of 2 checks passed
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.

1 participant