Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
385 changes: 0 additions & 385 deletions .azure-pipelines/azure-pipelines-linux.yml

This file was deleted.

2 changes: 1 addition & 1 deletion .azure-pipelines/azure-pipelines-osx.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .azure-pipelines/azure-pipelines-win.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

534 changes: 527 additions & 7 deletions .github/workflows/conda-build.yml

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions .scripts/build_steps.sh

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

33 changes: 27 additions & 6 deletions .scripts/run_docker_build.sh

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 0 additions & 1 deletion azure-pipelines.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 0 additions & 7 deletions build-locally.py

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions recipe/conda_build_config.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
python:
- 3.11
- 3.12
- 3.13
- 3.14
Copy link
Copy Markdown
Member

@EZoni EZoni Apr 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added this because Python must be 3.11+ since pyAMReX 26.03 (https://github.com/AMReX-Codes/pyamrex/releases/tag/26.03).

The previous commit e39f51f raised errors like the following:

ERROR: Package 'amrex' requires a different Python: 3.10.20 not in '>=3.11'

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This breaks the automatic rerendering, see from https://github.com/conda-forge/conda-forge-webservices/actions/runs/24052856620/job/70152392549:

Traceback (most recent call last):
  File "/opt/conda/envs/cf-feedstock-ops/bin/conda-smithy", line 10, in <module>
    sys.exit(main())
             ^^^^^^
  File "/opt/conda/envs/cf-feedstock-ops/lib/python3.12/site-packages/conda_smithy/cli.py", line 760, in main
    args.subcommand_func(args)
  File "/opt/conda/envs/cf-feedstock-ops/lib/python3.12/site-packages/conda_smithy/cli.py", line 610, in __call__
    self._call(args, args.temporary_directory)
  File "/opt/conda/envs/cf-feedstock-ops/lib/python3.12/site-packages/conda_smithy/cli.py", line 613, in _call
    configure_feedstock.main(
  File "/opt/conda/envs/cf-feedstock-ops/lib/python3.12/site-packages/conda_smithy/configure_feedstock.py", line 3019, in main
    render_info.append(render_azure(env, config, forge_dir, return_metadata=True))
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/cf-feedstock-ops/lib/python3.12/site-packages/conda_smithy/configure_feedstock.py", line 2049, in render_azure
    return _render_ci_provider(
           ^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/cf-feedstock-ops/lib/python3.12/site-packages/conda_smithy/configure_feedstock.py", line 1290, in _render_ci_provider
    migrated_combined_variant_spec = migrate_combined_spec(
                                     ^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/cf-feedstock-ops/lib/python3.12/site-packages/conda_smithy/configure_feedstock.py", line 1115, in migrate_combined_spec
    combined_spec = variant_add(combined_spec, migration)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/cf-feedstock-ops/lib/python3.12/site-packages/conda_smithy/variant_algebra.py", line 315, in variant_add
    return VARIANT_OP[operation](v1, v2)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/cf-feedstock-ops/lib/python3.12/site-packages/conda_smithy/variant_algebra.py", line 230, in op_variant_key_add
    all_tuples = sorted(all_tuples_unsorted, key=sorter)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/cf-feedstock-ops/lib/python3.12/site-packages/conda_smithy/variant_algebra.py", line 227, in <lambda>
    sorter = lambda x: _version_order(
                       ^^^^^^^^^^^^^^^
  File "/opt/conda/envs/cf-feedstock-ops/lib/python3.12/site-packages/conda_smithy/variant_algebra.py", line 63, in _version_order
    return ordering.index(v)
           ^^^^^^^^^^^^^^^^^
ValueError: '3.11' is not in list

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Trying the skip directive in recipe/recipe.yaml instead in 69ba436.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There should be a field python that can be used for min version in recipe

Copy link
Copy Markdown
Member

@EZoni EZoni Apr 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see. Maybe this will work:

diff --git a/recipe/recipe.yaml b/recipe/recipe.yaml
index 3e2dd46..36b5209 100644
--- a/recipe/recipe.yaml
+++ b/recipe/recipe.yaml
@@ -8,6 +8,7 @@ context:
   build: 0
   mpi: ${{ mpi or "nompi" }}  # is this still needed?
   mpi_prefix: ${{ "nompi" if mpi == "nompi" else "mpi_" + mpi }}
+  python_min: "3.11"
 
 package:
   name: ${{ name|lower }}
@@ -18,7 +19,7 @@ source:
   sha256: 0d17f27ca7463b9983a987629ea2c18e06a8e4d98b2b8c6affb7aacfe340690d
 
 build:
-  skip: python_impl == "pypy" or python == "3.10.* *_cpython"
+  skip: python_impl == "pypy"
   # add build string so packages can depend on
   # mpi or nompi variants
   # dependencies:
@@ -61,13 +62,11 @@ requirements:
     - amrex >=${{ version }}[build=${{ mpi_prefix }}_${{ pyamrex_precision }}_*]
     - if: "mpi != 'nompi'"
       then: ${{ mpi }}
-    - python
-    - pybind11
     - numpy
     - pip
     - pybind11
     - pybind11-abi
-    - python
+    - python ${{ python_min }}.*
     - setuptools
     - vir-simd
     - wheel
@@ -77,7 +76,7 @@ requirements:
       then:
         - ${{ mpi }}
         - mpi4py
-    - python
+    - python >=${{ python_min }}
     - if: osx
       then: libcxx
   run_exports:
@@ -92,6 +91,7 @@ tests:
       imports:
         - amrex
       pip_check: false
+      python_version: ${{ python_min }}.*
   - script:
       - if: win
         then: set "OMP_NUM_THREADS=2"

Note this also removes duplicate entries (python and pybind11).

Copy link
Copy Markdown
Member

@ax3l ax3l Apr 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

python_min might usually need to go into the build config file in the root of the repo, would need to check

Oops, I deleted my comment with nice links into the CF knowledge base by accident.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On the other hand we had a lot of Python 3.10 builds in these PR's CI checks (see e39f51f), so I don't see how that's excluded by default. So we do need to do something about it, no?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes that makes sense. I thought CF had already migrated as in earlier versions


mpi:
- nompi
- mpich # [unix]
Expand Down
6 changes: 3 additions & 3 deletions recipe/recipe.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ schema_version: 1

context:
name: pyamrex
version: "26.03"
version: "26.04"
build: 0
mpi: ${{ mpi or "nompi" }} # is this still needed?
mpi_prefix: ${{ "nompi" if mpi == "nompi" else "mpi_" + mpi }}
Expand All @@ -15,10 +15,10 @@ package:

source:
url: https://github.com/AMReX-Codes/pyamrex/archive/refs/tags/${{ version }}.tar.gz
sha256: d6490ba75d3b9c71bbb73a15417d3238a0c0408e8ce63e3987c08ca85402c44b
sha256: 0d17f27ca7463b9983a987629ea2c18e06a8e4d98b2b8c6affb7aacfe340690d

build:
skip: python_impl == "pypy" or (target_platform == "linux-aarch64" and (mpi == "mpich" or mpi == "openmpi") and python == "3.10.* *_cpython")
skip: python_impl == "pypy"
# add build string so packages can depend on
# mpi or nompi variants
# dependencies:
Expand Down
Loading