Skip to content

update release script to use uv#12

Merged
meduketto merged 4 commits into
mainfrom
gurer/ci
May 11, 2026
Merged

update release script to use uv#12
meduketto merged 4 commits into
mainfrom
gurer/ci

Conversation

@meduketto
Copy link
Copy Markdown
Owner

@meduketto meduketto commented May 11, 2026

Summary by CodeRabbit

  • Chores
    • Updated the release workflow's build matrices to support ARM architecture on Linux and x64 configuration on Windows for improved platform compatibility.
    • Upgraded artifact download and provenance attestation steps to use newer versions of the underlying tools and services.
    • Modified the PyPI package publishing process to use an updated and more efficient deployment method for tagged releases.

Review Change Stack

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 11, 2026

Warning

Rate limit exceeded

@meduketto has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 45 minutes and 8 seconds before requesting another review.

You’ve run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 4b5bebe2-b2d0-49f5-a88e-64590961c844

📥 Commits

Reviewing files that changed from the base of the PR and between 0d77ff5 and a814d17.

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

Walkthrough

The release workflow is reconfigured to build wheels for ARM targets and to publish packages via uv instead of maturin-action. Build matrices now specify aarch64 for Linux and add python_arch: x64 for Windows. The release job updates to newer GitHub actions and gates uv publish on tag-based builds.

Changes

Release Workflow Configuration

Layer / File(s) Summary
Build Platform Matrices
.github/workflows/release.yml
Linux and musllinux build matrices target aarch64 architecture; Windows matrix includes python_arch: x64 field.
Release Job Publishing
.github/workflows/release.yml
Artifact download and provenance attestation actions upgraded to newer versions; PyPI publishing switches from maturin-action upload to uv install and uv publish 'wheels-*/*' for tag-triggered releases.

🎯 2 (Simple) | ⏱️ ~10 minutes


🐰 A rabbit hops through the GitHub actions,
ARM platforms now joined the factions,
With uv taking the publish baton,
Our wheels roll faster, the workflow lives on! 🚀

🚥 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 pull request title 'update release script to use uv' directly reflects the main change: replacing PyPI publishing via maturin with uv publish.
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.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch gurer/ci

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 and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

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

88-96: 💤 Low value

python_arch: x64 looks unused — likely a forgotten wire-up.

The new python_arch: x64 matrix field on line 90 is never referenced in any step of this job. Line 96 still passes matrix.platform.target (also x64) to actions/setup-python's architecture. As-is the addition is dead config. If the intent is to let the Python interpreter architecture diverge from the wheel target (e.g., to add an aarch64 Windows row later that still uses x64 Python for cross-compilation), wire it through; otherwise drop it.

♻️ Option A — wire it through
       - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
         with:
           python-version: 3.x
-          architecture: ${{ matrix.platform.target }}
+          architecture: ${{ matrix.platform.python_arch }}

Option B — drop the unused field:

           - runner: windows-latest
             target: x64
-            python_arch: x64
🤖 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.yml around lines 88 - 96, The matrix field
python_arch is unused; either remove it or wire it through to
actions/setup-python: if you intend to control interpreter arch separately,
rename or add the matrix entry under platform (e.g., platform.python_arch or
platform.python_arch) and change the setup step to pass architecture: ${{
matrix.platform.python_arch }} (update any matrix rows to include python_arch
values like x64/aarch64), otherwise just delete the python_arch line so only
matrix.platform.target is used; update the actions/setup-python step to
reference the chosen matrix key consistently (currently uses
matrix.platform.target).
🤖 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.

Inline comments:
In @.github/workflows/release.yml:
- Around line 163-165: The workflow currently uses floating tags for two actions
(uses: actions/download-artifact@v7 and uses:
actions/attest-build-provenance@v3); replace those floating tags with their
corresponding commit SHAs and add the same style version comment (e.g., "# v7"
or "# v3") as used elsewhere so the actions are pinned immutably. Locate the two
usages (actions/download-artifact and actions/attest-build-provenance) and
change the tag to the exact commit hash for the desired release, keeping the
human-readable version comment for clarity.

---

Nitpick comments:
In @.github/workflows/release.yml:
- Around line 88-96: The matrix field python_arch is unused; either remove it or
wire it through to actions/setup-python: if you intend to control interpreter
arch separately, rename or add the matrix entry under platform (e.g.,
platform.python_arch or platform.python_arch) and change the setup step to pass
architecture: ${{ matrix.platform.python_arch }} (update any matrix rows to
include python_arch values like x64/aarch64), otherwise just delete the
python_arch line so only matrix.platform.target is used; update the
actions/setup-python step to reference the chosen matrix key consistently
(currently uses matrix.platform.target).
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: ac737712-a5a7-425f-9275-c986ceb42bcb

📥 Commits

Reviewing files that changed from the base of the PR and between a0343fd and 0d77ff5.

📒 Files selected for processing (1)
  • .github/workflows/release.yml

Comment thread .github/workflows/release.yml Outdated
@meduketto meduketto merged commit 1b96016 into main May 11, 2026
10 checks passed
@meduketto meduketto deleted the gurer/ci branch May 11, 2026 23:41
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