-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore(ci): use astral-sh/setup-uv action #2282
Conversation
Warning Rate limit exceeded@njzjz-bot has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 19 minutes and 19 seconds before requesting another review. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the 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. 📝 Walkthrough📝 WalkthroughWalkthroughThe changes in the Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant GitHub Actions
participant ARM64 Runner
participant Build Wheels
participant Build SDist
participant Upload PyPI
User->>GitHub Actions: Trigger merge or push
GitHub Actions->>ARM64 Runner: Determine runner based on owner
ARM64 Runner-->>GitHub Actions: Return runner type
GitHub Actions->>Build Wheels: Start building wheels
Build Wheels-->>GitHub Actions: Complete wheel builds
GitHub Actions->>Build SDist: Start building source distribution
Build SDist-->>GitHub Actions: Complete source distribution build
GitHub Actions->>Upload PyPI: Upload packages to PyPI
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #2282 +/- ##
=======================================
Coverage 96.05% 96.05%
=======================================
Files 17 17
Lines 1418 1418
=======================================
Hits 1362 1362
Misses 56 56 ☔ View full report in Codecov by Sentry. |
CodSpeed Performance ReportMerging #2282 will not alter performanceComparing Summary
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Outside diff range and nitpick comments (2)
.github/workflows/wheel.yml (2)
Line range hint
30-61
: LGTM: Excellent improvements to thebuild_wheels
job.The modifications to the
build_wheels
job are well-implemented and align with the PR objectives:
- The matrix strategy for building wheels across different OS and Python versions improves parallelization and efficiency.
- Using the
astral-sh/setup-uv@v3
action is a more maintainable approach for installinguv
.- The
enable-cache: true
option in thesetup-uv
action can potentially improve build times.- Setting
CIBW_BUILD_FRONTEND
to 'build[uv]' ensures consistent use ofuv
as the build frontend.Consider adding a comment explaining why the
setup-uv
step is skipped for Linux runners:- name: Install uv uses: astral-sh/setup-uv@v3 with: enable-cache: true if: runner.os != 'Linux' # Skip for Linux as it's handled differently in the cibuildwheel environment
Line range hint
83-99
: LGTM: Excellent improvements to theupload_pypi
job.The modifications to the
upload_pypi
job are well-implemented and improve the overall workflow:
- Depending on both
build_wheels
andbuild_sdist
jobs ensures that the upload only occurs after successful builds.- The condition to run only on push events with version tags prevents unnecessary uploads on non-release pushes.
- Adding the
id-token: write
permission is crucial for secure, trusted publishing to PyPI.Consider adding a brief comment explaining the version tag condition for clarity:
if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/v') # Only run on version tags (e.g., v1.0.0) to ensure we only upload official releases
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (1)
- .github/workflows/wheel.yml (1 hunks)
🔇 Additional comments (3)
.github/workflows/wheel.yml (3)
Line range hint
18-29
: LGTM: Excellent addition of dynamic ARM64 runner selection.The new
determine-arm64-runner
job is a well-implemented solution for dynamically selecting the appropriate runner for ARM64 builds. It provides flexibility by using a specialized ARM64 runner for the "deepmodeling" organization while defaulting toubuntu-latest
for other cases. This approach optimizes resource usage and build performance.
Line range hint
78-79
: LGTM: Well-implemented changes to thebuild_sdist
job.The modifications to the
build_sdist
job are excellent:
- Using
pipx run uv tool run
ensures thatuv
is used in an isolated environment, which is a good practice for maintaining a clean build environment.- The
--with build[uv]
flag ensures that thebuild
package is installed with theuv
extra, aligning with the PR objectives.- The
--installer uv
flag guarantees thatuv
is used as the installer, which is consistent with the overall goal of integratinguv
into the build process.These changes effectively integrate
uv
into the source distribution build process while maintaining isolation and consistency.
Line range hint
1-99
: Overall excellent improvements to the wheel build and upload workflow.The changes made to this workflow file significantly enhance the build and upload process for Python packages:
- Integration of
astral-sh/setup-uv
action improves consistency and maintainability.- Dynamic selection of ARM64 runners optimizes resource usage.
- Matrix strategy for wheel builds improves parallelization and efficiency.
- Consistent use of
uv
across different build steps aligns with PR objectives.- Improved security with trusted publishing to PyPI.
- Better control over when uploads occur, preventing unnecessary actions.
These changes collectively result in a more robust, efficient, and secure workflow for building and uploading Python packages. Great job on these improvements!
Generated by the task: njzjz-bot/njzjz-bot#9.
Generated by the task: njzjz-bot/njzjz-bot#9.
Summary by CodeRabbit