Conversation
There was a problem hiding this comment.
Pull request overview
This PR introduces a conda-forge-oriented CI workflow/recipe setup and updates repository tooling to better enforce commit hygiene and workflow validation.
Changes:
- Add a new conda-forge workflow (
conda-package-cf.yml) and a parallel conda recipe directory (conda-recipe-cf/). - Update conda recipe maintainers.
- Expand pre-commit hooks (including actionlint/gitleaks) and adjust CI scripts/quoting in GitHub workflows.
Reviewed changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
conda-recipe/meta.yaml |
Updates recipe-maintainers list. |
conda-recipe-cf/meta.yaml |
Adds a conda-forge-oriented recipe definition. |
conda-recipe-cf/conda_build_config.yaml |
Adds platform compiler/sysroot configuration for conda-build. |
conda-recipe-cf/build.sh |
Adds Linux build script for the new recipe directory. |
conda-recipe-cf/bld.bat |
Adds Windows build script for the new recipe directory. |
.pre-commit-config.yaml |
Adds additional hooks (git hygiene, gitleaks, actionlint). |
.github/workflows/pre-commit.yml |
Adjusts checkout ref and clang-format installation approach. |
.github/workflows/conda-package.yml |
Improves quoting/arg handling in bash steps. |
.github/workflows/conda-package-cf.yml |
Adds new conda-forge CI workflow (build + test matrix). |
.github/workflows/build-with-clang.yml |
Improves quoting for compiler path export. |
.git-blame-ignore-revs |
Adds ignore revision entry for the pre-commit hook expansion. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
|
||
| - name: Run tests | ||
| run: | | ||
| conda activate -n ${{ env.TEST_ENV_NAME }} |
There was a problem hiding this comment.
On Windows, conda activate does not accept -n (that's for commands like conda run/conda create). This will likely prevent the test environment from activating and cause the test step to fail. Use conda activate ${{ env.TEST_ENV_NAME }} (or run tests via conda run -n ...).
| conda activate -n ${{ env.TEST_ENV_NAME }} | |
| conda activate ${{ env.TEST_ENV_NAME }} |
| c_compiler: # [linux] | ||
| - gcc # [linux] | ||
| cxx_compiler: # [linux] | ||
| - gxx # [linux] | ||
| cxx_compiler_version: # [linux] | ||
| - '14' # [linux] | ||
| c_stdlib: # [linux] | ||
| - sysroot # [linux] | ||
| c_stdlib_version: # [linux] | ||
| - '2.28' # [linux] | ||
| c_stdlib: # [win] | ||
| - vs # [win] | ||
| cxx_compiler: # [win] | ||
| - vs2022 # [win] | ||
| c_compiler: # [win] | ||
| - vs2022 # [win] |
There was a problem hiding this comment.
conda_build_config.yaml repeats the same top-level keys (c_compiler, cxx_compiler, etc.) for linux and win. YAML duplicate keys are not reliably supported (often the last one wins), so the linux configuration may be ignored or the file may fail to parse. Combine selectors under a single key with multiple list entries instead of repeating the key.
| c_compiler: # [linux] | |
| - gcc # [linux] | |
| cxx_compiler: # [linux] | |
| - gxx # [linux] | |
| cxx_compiler_version: # [linux] | |
| - '14' # [linux] | |
| c_stdlib: # [linux] | |
| - sysroot # [linux] | |
| c_stdlib_version: # [linux] | |
| - '2.28' # [linux] | |
| c_stdlib: # [win] | |
| - vs # [win] | |
| cxx_compiler: # [win] | |
| - vs2022 # [win] | |
| c_compiler: # [win] | |
| - vs2022 # [win] | |
| c_compiler: | |
| - gcc # [linux] | |
| - vs2022 # [win] | |
| cxx_compiler: | |
| - gxx # [linux] | |
| - vs2022 # [win] | |
| cxx_compiler_version: | |
| - '14' # [linux] | |
| c_stdlib: | |
| - sysroot # [linux] | |
| - vs # [win] | |
| c_stdlib_version: | |
| - '2.28' # [linux] |
| c_stdlib: # [linux] | ||
| - sysroot # [linux] | ||
| c_stdlib_version: # [linux] | ||
| - '2.28' # [linux] | ||
| c_stdlib: # [win] | ||
| - vs # [win] | ||
| cxx_compiler: # [win] | ||
| - vs2022 # [win] | ||
| c_compiler: # [win] | ||
| - vs2022 # [win] |
There was a problem hiding this comment.
c_stdlib is defined twice (linux and win). As with other duplicate keys, this can override earlier values and break the intended per-platform configuration. Restructure as a single c_stdlib: key with per-platform entries (using selectors on the list items).
| c_stdlib: # [linux] | |
| - sysroot # [linux] | |
| c_stdlib_version: # [linux] | |
| - '2.28' # [linux] | |
| c_stdlib: # [win] | |
| - vs # [win] | |
| cxx_compiler: # [win] | |
| - vs2022 # [win] | |
| c_compiler: # [win] | |
| - vs2022 # [win] | |
| c_stdlib: | |
| - sysroot # [linux] | |
| - vs # [win] | |
| c_stdlib_version: # [linux] | |
| - '2.28' # [linux] | |
| cxx_compiler: # [win] | |
| - vs2022 # [win] | |
| c_compiler: # [win] | |
| - vs2022 # [win] |
d598fd2 to
33ec733
Compare
Also updates recipe maintainers