feat: migrate build and dependencies to conda-only workflow#93
feat: migrate build and dependencies to conda-only workflow#93
Conversation
|
Important Review skippedToo many files! This PR contains 285 files, which is 135 over the limit of 150. ⛔ Files ignored due to path filters (15)
📒 Files selected for processing (285)
You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
Summary of ChangesHello @Luohaothu, 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 significantly refactors the OpFlow project's build and dependency management by transitioning to a conda-centric workflow. This change streamlines the build process, enhances maintainability by removing vendored external libraries, and introduces robust variant support for key components like MPI and OpenMP. The updated CMake logic now exclusively leverages Highlights
Changelog
Activity
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 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 counter productive. 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. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request is a significant and positive refactoring that migrates the project's build system to a modern, conda-only workflow. By removing vendored dependencies and using find_package in CMake, the build process is greatly simplified and dependency management becomes much cleaner. The new conda recipes are well-structured. I've found a couple of minor issues in the new conda recipe files that would prevent a successful build, and I've provided suggestions to fix them. Overall, this is an excellent improvement for the project.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c54b1e22db
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
💡 Codex ReviewIn ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e6be0f0de0
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
💡 Codex Review
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Escape CMake variable interpolation in generated toolchain template. Separate debug/release configure presets so Ninja release builds use CMAKE_BUILD_TYPE=Release.
Add OPFLOW_WITH_TECIO toggle and disable TecIO in CI/conda recipe paths. Guard TecIO-specific test/code paths and allow MPI builds to skip teciompi when unavailable.
This reverts commit 7050813.
Use opflow-dev::tecio for nompi and opflow-dev::tecio-mpi for MPI variants in CI and recipe dependency specs.
- replace invalid pack-indexing metaprogramming in Meta.hpp\n- avoid exporting conda build sysroot static archives from HDF5 linkage\n- load OpenMP before HYPRE in package config and provide C target fallback\n\nLocal validation:\n- c++/g++ compile smoke for firstOf_t/lastOf_t\n- synthetic opflow config consumer test (OpenMP_C fallback + HDF5 filter)\n- CMake BUILD_INTERFACE export smoke test
Replace removed OPFLOW_VERSION macro check with OPFLOW_VERSION_STRING assertion.
- remove local time helper from AMRLS/UniLS\n- keep std::format and replace current_zone() with floor<seconds>(system_clock::now())\n- preserve compatibility while reducing code churn
- match auto-format style in LevelSet examples to avoid CI autocommit on PR runs - validate generated conda package artifacts before upload to prevent silent empty uploads
Summary
Test Plan