fix(ci): preserve executable bit for mac binaries#26600
Conversation
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request improves the reliability of the release publishing process by ensuring that macOS binaries retain their executable permissions. By manually applying the necessary file modes before zipping, the workflow now correctly handles cross-platform artifact transfers, preventing issues where binaries would arrive in a non-executable state. Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize the Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counterproductive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. Footnotes
|
|
Size Change: -4 B (0%) Total Size: 34 MB
ℹ️ View Unchanged
|
There was a problem hiding this comment.
Code Review
This pull request ensures that macOS binaries are marked as executable before being packaged into release assets. A review comment suggests refactoring the duplicated logic for different architectures into a loop to improve maintainability and adhere to DRY principles.
Summary
This PR ensures that macOS binaries downloaded from GitHub Actions artifacts maintain their executable permissions during the release publishing workflow.
Details
The
actions/download-artifactaction sometimes fails to properly map and restore macOS file modes (like+x) when extracting onto a Linux file system (which happens when transferring from amacos-latestbuilder to anubuntu-latestrelease runner). This adds achmod +xstep immediately after downloading the binaries to manually guarantee the executable bit is set before zipping them for release.Related Issues
https://github.com/google-gemini/maintainers-gemini-cli/issues/1649
How to Validate
.zipfiles from the artifacts or draft release..zipfile on a Mac.geminibinary has the+xbit set and is directly executable.Pre-Merge Checklist