Build MQ Tool for arm linux and arm macos#24
Conversation
|
Merging to
|
There was a problem hiding this comment.
Pull Request Overview
This PR adds support for building the MQ tool on ARM Linux (aarch64) and ARM macOS (Apple Silicon) platforms. The changes enable cross-compilation for these new targets and update the CI/CD workflows to handle platform-specific differences.
Key Changes:
- Added ARM Linux (aarch64-unknown-linux-gnu) and ARM macOS (aarch64-apple-darwin) build targets to release workflows
- Updated workflows to handle platform-specific differences (macOS uses zip archives while Linux uses tar.gz)
- Enhanced the PR targets workflow to automatically detect and download the correct binary for the runner's architecture
Reviewed Changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| .github/workflows/test.yml | Removed unused GitHub token parameters from checkout and trunk-action steps |
| .github/workflows/release.yaml | Added ARM Linux and macOS build targets with platform-specific packaging and toolchain configuration |
| .github/workflows/prerelease.yaml | Added ARM Linux and macOS build targets with platform-specific packaging (identical changes to release.yaml) |
| .github/workflows/pr_targets.yaml | Enhanced to automatically detect runner architecture and download the appropriate binary format, plus fixed a typo in the lfs field |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| run: | | ||
| gh release create --target ${{ github.ref }} \ | ||
| ${{ github.event.inputs.release_tag }} ./build/*.tar.gz --generate-notes | ||
| ${{ github.event.inputs.release_tag }} ./build/*.{tar.gz,zip} --generate-notes |
There was a problem hiding this comment.
The glob pattern './build/.{tar.gz,zip}' may not work as expected in bash. If no .zip files exist, the literal string './build/.zip' will be passed to gh release. Consider using a more robust approach like 'shopt -s nullglob' before the command or finding files explicitly with 'find'.
| ${{ github.event.inputs.release_tag }} ./build/*.{tar.gz,zip} --generate-notes | |
| ${{ github.event.inputs.release_tag }} $(find ./build -maxdepth 1 -type f \( -name "*.tar.gz" -o -name "*.zip" \)) --generate-notes |
| run: | | ||
| gh release create --target ${{ github.ref }} \ | ||
| ${{ github.event.inputs.release_tag }} ./build/*.tar.gz --generate-notes --prerelease | ||
| ${{ github.event.inputs.release_tag }} ./build/*.{tar.gz,zip} --generate-notes --prerelease |
There was a problem hiding this comment.
The glob pattern './build/.{tar.gz,zip}' may not work as expected in bash. If no .zip files exist, the literal string './build/.zip' will be passed to gh release. Consider using a more robust approach like 'shopt -s nullglob' before the command or finding files explicitly with 'find'.
| ${{ github.event.inputs.release_tag }} ./build/*.{tar.gz,zip} --generate-notes --prerelease | |
| ${{ github.event.inputs.release_tag }} $(find ./build -maxdepth 1 -type f \( -name "*.tar.gz" -o -name "*.zip" \)) --generate-notes --prerelease |
No description provided.