-
Notifications
You must be signed in to change notification settings - Fork 3.2k
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
panacus: add aarch64/arm64 builds #51066
Conversation
Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>
📝 WalkthroughWalkthroughThe pull request introduces modifications to the Changes
Possibly related PRs
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 (
|
Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>
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 (1)
recipes/panacus/build.sh (1)
7-7
: Excellent update to the build process.The switch from
cargo build
tocargo install
with the specified flags (--no-track --locked --verbose
) is a significant improvement. It ensures better reproducibility and aligns well with Conda's package management approach. The addition ofRUST_BACKTRACE=1
and settingCARGO_HOME
are also beneficial for debugging and build consistency.Consider adding a comment explaining the purpose of the
CARGO_HOME
setting, as it's not immediately obvious why it's set to"${BUILD_PREFIX}/.cargo"
. For example:# Set CARGO_HOME to ensure consistent and isolated dependency management RUST_BACKTRACE=1 CARGO_HOME="${BUILD_PREFIX}/.cargo" cargo install ...
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (2)
- recipes/panacus/build.sh (1 hunks)
- recipes/panacus/meta.yaml (2 hunks)
🔇 Additional comments (7)
recipes/panacus/build.sh (3)
3-3
: Excellent addition for improved debugging and error handling.The
set -xe
command enhances the script's robustness by enabling command tracing (-x
) and immediate exit on error (-e
). This change will make debugging easier and prevent the script from continuing execution after encountering errors, which is crucial for build scripts.
Line range hint
9-10
: Appropriate removal of redundant binary copy.The removal of the command to copy the built binary to
$PREFIX/bin
is correct, as thecargo install
command now handles this step. Retaining the copy command forpanacus-visualize.py
is also appropriate, as this script is likely not managed by Cargo.
Line range hint
1-10
: Verify cross-platform build support for aarch64/arm64.The changes to the build script improve the overall build process and reproducibility. However, they don't explicitly address the PR objective of adding aarch64/arm64 builds. While the use of
cargo install
with the--locked
flag ensures consistent builds across architectures, additional configuration might be needed to enable cross-platform builds.To ensure the PR objective is met, please verify that the
meta.yaml
file includes the necessary configuration for aarch64/arm64 builds. You can use the following script to check themeta.yaml
file:If aarch64/arm64 support is not explicitly mentioned in
meta.yaml
, consider adding it to thebuild
section or adjusting theskip
conditions if necessary.recipes/panacus/meta.yaml (4)
13-13
: LGTM: Build number increment is appropriate.The build number increment from 0 to 1 is correct. This change is necessary when modifying the package build process or expanding platform support without changing the package version.
21-21
: LGTM: Addition of Rust compiler is appropriate.Adding the Rust compiler to the build requirements is necessary for building Rust-based projects. Removing the specific version constraint allows for using the latest available Rust compiler, which is generally a good practice.
Please verify if a minimum Rust version is still required for this package. If so, consider adding it back with an appropriate version constraint.
#!/bin/bash # Description: Check if there's a minimum Rust version specified in the project # Test: Search for Rust version requirements in the project files rg --type rust 'rust-version\s*=\s*"[0-9]+\.[0-9]+(\.[0-9]+)?"' $(fd -e rs -e toml)
Line range hint
1-48
: Summary: Changes look good, final checks recommended.The modifications to the meta.yaml file are appropriate and consistent with the goal of adding aarch64/arm64 builds. The build number has been incremented, the Rust compiler has been added to the build requirements, and the additional platforms have been included.
Before merging, please ensure:
- The minimum Rust version requirement has been checked and added if necessary.
- Build and test processes have been verified for the new platforms (linux-aarch64 and osx-arm64).
- All Bioconda guidelines have been followed, especially regarding the
run_exports
section mentioned in the PR description.Run the following script to check if the
run_exports
section is properly configured:✅ Verification successful
Run_exports section is properly configured.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Check if run_exports section is properly configured # Test: Extract and display the run_exports section echo "Checking run_exports section in meta.yaml:" sed -n '/run_exports:/,/^[^ ]/p' recipes/panacus/meta.yaml | sed '$d'Length of output: 584
46-48
: LGTM: Addition of aarch64/arm64 platforms is appropriate.The addition of 'linux-aarch64' and 'osx-arm64' to the 'additional-platforms' section aligns with the PR objective and increases the accessibility of the package to users with ARM-based systems.
Please ensure that the build and test processes have been verified for these new platforms. Run the following script to check if there are any platform-specific build or test instructions:
Done with #50991 |
Describe your pull request here
Please read the guidelines for Bioconda recipes before opening a pull request (PR).
General instructions
@BiocondaBot please add label
command.@bioconda/core
in a comment.Instructions for avoiding API, ABI, and CLI breakage issues
Conda is able to record and lock (a.k.a. pin) dependency versions used at build time of other recipes.
This way, one can avoid that expectations of a downstream recipe with regards to API, ABI, or CLI are violated by later changes in the recipe.
If not already present in the meta.yaml, make sure to specify
run_exports
(see here for the rationale and comprehensive explanation).Add a
run_exports
section like this:with
...
being one of:{{ pin_subpackage("myrecipe", max_pin="x") }}
{{ pin_subpackage("myrecipe", max_pin="x.x") }}
{{ pin_subpackage("myrecipe", max_pin="x.x") }}
(in such a case, please add a note that shortly mentions your evidence for that){{ pin_subpackage("myrecipe", max_pin="x.x.x") }}
(in such a case, please add a note that shortly mentions your evidence for that){{ pin_subpackage("myrecipe", max_pin=None) }}
while replacing
"myrecipe"
with eithername
if aname|lower
variable is defined in your recipe or with the lowercase name of the package in quotes.Bot commands for PR management
Please use the following BiocondaBot commands:
Everyone has access to the following BiocondaBot commands, which can be given in a comment:
@BiocondaBot please update
@BiocondaBot please add label
please review & merge
label.@BiocondaBot please fetch artifacts
You can use this to test packages locally.
Note that the
@BiocondaBot please merge
command is now depreciated. Please just squash and merge instead.Also, the bot watches for comments from non-members that include
@bioconda/<team>
and will automatically re-post them to notify the addressed<team>
.Summary by CodeRabbit
panacus
package, now compatible withlinux-aarch64
andosx-arm64
.