diff --git a/.github/workflows/build_base.yml b/.github/workflows/build_base.yml index aeab75a..60460f6 100644 --- a/.github/workflows/build_base.yml +++ b/.github/workflows/build_base.yml @@ -6,15 +6,15 @@ env: FFTW3F_VERSION: 3.3.10 # Rascil Line - PYBDSF_VERSION: 1.10.2 - RASCIL_VERSION: 1.0.0 - SKA_SDP_DTMDL_VERSION: 0.1.3 - SKA_SDP_FUNC_PY_VERSION: 0.1.4 - SKA_SDP_FUNC_VERSION: 0.0.6 + PYBDSF_VERSION: 1.13.0.post2 #1.10.2 + RASCIL_VERSION: 2.1.0 #1.0.0 + SKA_SDP_DTMDL_VERSION: 1.0.0 #0.1.3 + SKA_SDP_FUNC_PY_VERSION: 1.0.0 #0.1.4 + SKA_SDP_FUNC_VERSION: 1.0.0 #0.0.6 # Oskar Line - OSKAR_VERSION: 2.8.3 - OSKARPY_VERSION: 2.8.3 # oskarpy should have same version as `OSKAR_VERSION` + OSKAR_VERSION: 2.12.2 + OSKARPY_VERSION: 2.12.2 # oskarpy should have same version as `OSKAR_VERSION` # casacore possible combinations from https://anaconda.org/conda-forge/casacore/files # | casacore | build | boost | hdf5 | numpy | cfitsio | @@ -27,10 +27,10 @@ env: # | 3.5.0 | nompi_115 | =1.82 | =1.14.3 | >=1.22.4 | =4.4.0 | # | 3.5.0 | nompi_114 | =1.82 | =1.14.2 | >=1.22.4 | =4.3.1 | *this one! # | 3.5.0 | nompi_110 | =1.78 | =1.14.1 | >=1.21.6 | =4.3.0 | - CASACORE_VERSION: 3.5.0 - BOOST_VERSION: 1.82 - HDF5_VERSION: 1.14 - CFITSIO_VERSION: 4.3 + CASACORE_VERSION: 3.7.1 + BOOST_VERSION: 1.88.0 + HDF5_VERSION: 1.14.6 + CFITSIO_VERSION: 4.6.2 # hvox Line -> don't add dev-label through ci-options because the setup is not ready for that. HVOX_VERSION: 0.0.1.dev48 # `pbr` version because they don't have an official release tag yet @@ -38,8 +38,8 @@ env: # WSClean IDG_VERSION: 1.2.0 - EVERYBEAM_VERSION: 0.6.1 - WSCLEAN_VERSION: 3.5.0 + EVERYBEAM_VERSION: 0.8.0 + WSCLEAN_VERSION: 3.6.0 # additional karabo dependencies @@ -131,19 +131,26 @@ jobs: uses: conda-incubator/setup-miniconda@v3 with: auto-update-conda: true - - name: Install GCC 9 for CUDA 11 + - name: Install GCC 11 for CUDA 12 if: ${{ inputs.useCuda }} run: | sudo apt-get update - sudo apt-get install -y gcc-9 g++-9 - sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 100 - sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 100 + sudo apt-get install -y gcc-11 g++-11 + sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 100 + sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 100 + - name: Free disk space on runner + if: ${{ inputs.useCuda }} + run: | + sudo rm -rf /usr/local/lib/android /opt/ghc /usr/share/dotnet || true + docker system prune -af || true + df -h + - name: Install Cuda Toolkit => ${{ inputs.useCuda }} if: ${{ inputs.useCuda }} uses: Jimver/cuda-toolkit@v0.2.25 id: cuda-toolkit with: - cuda: '11.7.0' + cuda: '12.0.1' log-file-suffix: 'build' - name: Set custom path to recipe if: inputs.customPath != '' @@ -186,10 +193,22 @@ jobs: echo "$NAME_ALT=$VERSION_ALT" >> "$GITHUB_ENV" done # install conda-build is changed with version 25. the target is swtiched to .conda instead of .tar.bz2 + # We explicitly add conda-forge and i4ds to the global conda config. + # Reason: Since conda-build 25, the solver no longer automatically inherits + # channels from the CLI `conda build -c ...` call when resolving *pinned* + # dependencies inside the build environment. + # Conda-build 25 no longer inherits CLI channels → we now configure channels explicitly - name: Install Conda-Build and create target run: | conda install -y -n base conda-libmamba-solver conda config --set solver libmamba + conda config --remove-key channels || true # remove all existing channels + + conda config --add channels conda-forge + conda config --add channels i4ds/label/${{ inputs.label }} + conda config --add channels i4ds + conda config --add channels defaults + conda config --set channel_priority flexible conda install "conda-build>=25" conda build -c i4ds/label/${{ inputs.label }} -c i4ds -c conda-forge ${{ env.recipePath }} @@ -230,31 +249,29 @@ jobs: conda install -y -n base conda-libmamba-solver conda config --set solver libmamba - - name: Install GCC 9 for CUDA 11 + - name: Install GCC 11 for CUDA 12 if: ${{ inputs.useCuda && !inputs.skipTest }} run: | sudo apt-get update - sudo apt-get install -y gcc-9 g++-9 - sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 100 - sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 100 + sudo apt-get install -y gcc-11 g++-11 + sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 100 + sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 100 + + - name: Free disk space on runner (test) + if: ${{ inputs.useCuda && !inputs.skipTest }} + run: | + sudo rm -rf /usr/local/lib/android /opt/ghc /usr/share/dotnet || true + docker system prune -af || true + df -h + - name: Install Cuda Toolkit => ${{ inputs.useCuda }} if: ${{ inputs.useCuda && !inputs.skipTest }} uses: Jimver/cuda-toolkit@v0.2.25 id: cuda-toolkit with: - cuda: '11.7.0' + cuda: '12.0.1' log-file-suffix: 'test' - - name: Install Package and test with Python 3.9 - if: ${{ !inputs.skipTest }} - continue-on-error: true #cntinue even if this step fails - shell: bash -l {0} - run: | - conda create -y -n testenv9 python=3.9 - conda activate testenv9 - conda install -y -c i4ds/label/${{ inputs.label }} -c i4ds -c conda-forge ${{ inputs.packageName }}="${{ needs.build_base.outputs.pkgv }}" - python -c "${{ inputs.pythonCall }}" - - name: Install Package and test with Python 3.10 if: ${{ !inputs.skipTest }} continue-on-error: true diff --git a/aotools/conda_build_config.yaml b/aotools/conda_build_config.yaml index 77f0eec..034631a 100644 --- a/aotools/conda_build_config.yaml +++ b/aotools/conda_build_config.yaml @@ -1,4 +1,3 @@ python: - - 3.9 - 3.10 - 3.11 diff --git a/aratmospy/conda_build_config.yaml b/aratmospy/conda_build_config.yaml index 77f0eec..d51c636 100644 --- a/aratmospy/conda_build_config.yaml +++ b/aratmospy/conda_build_config.yaml @@ -1,4 +1,5 @@ python: - - 3.9 - 3.10 - 3.11 +numpy: + - 2.2 diff --git a/bipp/conda_build_config.yaml b/bipp/conda_build_config.yaml index 66accba..bb84328 100644 --- a/bipp/conda_build_config.yaml +++ b/bipp/conda_build_config.yaml @@ -1,3 +1,8 @@ python: - - 3.9 - 3.10 + - 3.11 + + +numpy: + - 2.1 + - 2.2 \ No newline at end of file diff --git a/bipp/meta.yaml b/bipp/meta.yaml index 02afccb..a6fdb22 100644 --- a/bipp/meta.yaml +++ b/bipp/meta.yaml @@ -20,6 +20,7 @@ requirements: host: - python {{ python }} + - numpy - openblas - scikit-build - finufft ={{ FINUFFT_VERSION_ALT }} @@ -28,7 +29,7 @@ requirements: - python {{ python }} - openblas - finufft ={{ FINUFFT_VERSION_ALT }} - - {{ pin_compatible('numpy') }} + - {{ pin_compatible('numpy', max_pin='x') }} - scikit-learn - astropy - matplotlib diff --git a/eidos/conda_build_config.yaml b/eidos/conda_build_config.yaml index 629e2b8..d60ea53 100644 --- a/eidos/conda_build_config.yaml +++ b/eidos/conda_build_config.yaml @@ -1,4 +1,6 @@ python: - - 3.9 - 3.10 - - 3.11 \ No newline at end of file + - 3.11 + +numpy: + - 2.2 \ No newline at end of file diff --git a/everybeam/conda_build_config.yaml b/everybeam/conda_build_config.yaml index 11d8c25..5bfccbd 100644 --- a/everybeam/conda_build_config.yaml +++ b/everybeam/conda_build_config.yaml @@ -1,5 +1,4 @@ python: - - 3.9 - 3.10 - 3.11 diff --git a/everybeam/meta.yaml b/everybeam/meta.yaml index e632f66..057cef4 100644 --- a/everybeam/meta.yaml +++ b/everybeam/meta.yaml @@ -17,7 +17,9 @@ requirements: - {{ compiler('cxx') }} - cmake - make - - boost={{ BOOST_VERSION_ALT }} + # Boost headers + libs (like in PyBDSF) + - libboost-devel ={{ BOOST_VERSION_ALT }} + - libboost-python-devel ={{ BOOST_VERSION_ALT }} - casacore={{ CASACORE_VERSION_ALT }} - cfitsio={{ CFITSIO_VERSION_ALT }} - conda-forge::fftw=*=mpi_mpich* @@ -29,7 +31,9 @@ requirements: - wcslib host: - - boost={{ BOOST_VERSION_ALT }} + # host env also needs headers & libs + - libboost-devel ={{ BOOST_VERSION_ALT }} + - libboost-python-devel ={{ BOOST_VERSION_ALT }} - casacore={{ CASACORE_VERSION_ALT }} - cfitsio={{ CFITSIO_VERSION_ALT }} - conda-forge::fftw=*=mpi_mpich* @@ -41,7 +45,9 @@ requirements: - wcslib run: - - boost={{ BOOST_VERSION_ALT }} + # runtime only needs the libs + - libboost ={{ BOOST_VERSION_ALT }} + - libboost-python ={{ BOOST_VERSION_ALT }} - casacore={{ CASACORE_VERSION_ALT }} - cfitsio={{ CFITSIO_VERSION_ALT }} - fftw @@ -61,4 +67,4 @@ about: extra: recipe-maintainers: - - michel.pluess@fhnw.ch + - michel.pluess@fhnw.ch \ No newline at end of file diff --git a/finufft/conda_build_config.yaml b/finufft/conda_build_config.yaml index 77f0eec..3534a07 100644 --- a/finufft/conda_build_config.yaml +++ b/finufft/conda_build_config.yaml @@ -1,4 +1,7 @@ python: - - 3.9 - 3.10 - 3.11 + +numpy: + - 2.1 + - 2.2 \ No newline at end of file diff --git a/finufft/meta.yaml b/finufft/meta.yaml index 793b55f..0239b45 100644 --- a/finufft/meta.yaml +++ b/finufft/meta.yaml @@ -35,7 +35,7 @@ requirements: run: - python {{ python }} - - {{ pin_compatible('numpy') }} + - {{ pin_compatible('numpy', max_pin='x') }} - fftw =={{ FFTW3_VERSION_ALT }} about: diff --git a/hvox/conda_build_config.yaml b/hvox/conda_build_config.yaml index a3e9028..a592330 100644 --- a/hvox/conda_build_config.yaml +++ b/hvox/conda_build_config.yaml @@ -1,5 +1,4 @@ python: - - 3.9 - 3.10 # - 3.11 diff --git a/katbeam/conda_build_config.yaml b/katbeam/conda_build_config.yaml index 34131f8..383becd 100644 --- a/katbeam/conda_build_config.yaml +++ b/katbeam/conda_build_config.yaml @@ -1,5 +1,6 @@ python: - - 3.9 - 3.10 - 3.11 +numpy: + - 2.2 diff --git a/montagepy/conda_build_config.yaml b/montagepy/conda_build_config.yaml index 3a5c904..2a86aaf 100644 --- a/montagepy/conda_build_config.yaml +++ b/montagepy/conda_build_config.yaml @@ -1,17 +1,17 @@ python: - - 3.9 - 3.10 - 3.11 +numpy: + - 2.2 + wheel_url: - - https://files.pythonhosted.org/packages/e8/00/fbb4468dec62ec0b9e7152588c14ded838298fe370fa70d1d59ee4041f81/MontagePy-1.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl - - https://files.pythonhosted.org/packages/01/82/d92658b37d8f9dcf1bf137344e39964b2f4c4b1825a3acdc777cd355372a/MontagePy-1.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl - - https://files.pythonhosted.org/packages/01/82/d92658b37d8f9dcf1bf137344e39964b2f4c4b1825a3acdc777cd355372a/MontagePy-1.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl + - https://files.pythonhosted.org/packages/26/c9/70ac00af62df03479bb018e3d462e31bd6709fd8cbe84bd70275737bd597/montagepy-2.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - https://files.pythonhosted.org/packages/98/b6/0e79a7ea4d40d104ec3640aeec5736cb5d0e291a756e993a3ec91dde0c18/montagepy-2.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl wheel_sha: - - 570716d6b32d5a72fb40079461707b900809c58938efa99d691636fb837b31df - - a9005a0d838b59258c8ce3e83ec8f1a21b4d5013f8b296dd00a1a0e9add8496f - - b69d810d23a0e2ed7f10a8d9f69c6023a7c36a1dfe07ef4879b3e1583a8f3e2f + - df63872aae3646b7f6bd9d7f34b242d80150baf3b54676de966502e2a85c21b4 + - 6afb38fb3e57982d16a8cf46948c8e49766fac9101bf43d7613f984867862254 zip_keys: - python diff --git a/montagepy/meta.yaml b/montagepy/meta.yaml index 0a8d50b..b20ca62 100644 --- a/montagepy/meta.yaml +++ b/montagepy/meta.yaml @@ -14,17 +14,17 @@ requirements: build: - {{ compiler('c') }} - python - - numpy + - numpy {{ numpy }} host: - python {{ python }} - pip - - numpy + - numpy {{ numpy }} run: - python {{ python }} - requests - - {{ pin_compatible('numpy') }} + - numpy >=2.2 about: home: https://github.com/Caltech-IPAC/Montage diff --git a/oskar-py/conda_build_config.yaml b/oskar-py/conda_build_config.yaml index 34131f8..383becd 100644 --- a/oskar-py/conda_build_config.yaml +++ b/oskar-py/conda_build_config.yaml @@ -1,5 +1,6 @@ python: - - 3.9 - 3.10 - 3.11 +numpy: + - 2.2 diff --git a/pybdsf/conda_build_config.yaml b/pybdsf/conda_build_config.yaml index 47a75c1..305b8a8 100644 --- a/pybdsf/conda_build_config.yaml +++ b/pybdsf/conda_build_config.yaml @@ -1,8 +1,9 @@ python: - - 3.9 - 3.10 - 3.11 -numpy: 1.23 +numpy: + - 2.2 + c_compiler_version: 11 -cxx_compiler_version: 11 \ No newline at end of file +cxx_compiler_version: 11 diff --git a/pybdsf/meta.yaml b/pybdsf/meta.yaml index 92f010e..5e0124c 100644 --- a/pybdsf/meta.yaml +++ b/pybdsf/meta.yaml @@ -9,6 +9,9 @@ build: number: {{ build }} string: py{{ py }}h{{ PKG_HASH }}_{{ build }} +#libboost-python-devel (host): needed at build time so CMake can find Boost.Python headers and config files and link the C++ extension. +#libboost-python (run): needed at runtime because the compiled Python module is dynamically linked against libboost_python*.so. +# Without them: build fails (CMake can’t find Boost.Python), or runtime fails (missing shared library). requirements: build: - {{ compiler('c') }} @@ -17,7 +20,8 @@ requirements: - cmake >=3.18, <4 - python {{ python }} - numpy {{ numpy }} - - boost={{ BOOST_VERSION_ALT }} + - libboost-devel ={{ BOOST_VERSION }} + - setuptools <60.0 # <— NEW: avoid latest setuptools/distutils breakage # Use <60.0 to avoid setuptools compatibility issues with distutils. distutils is deprecated and it will be removed in Python 3.12., for older version of python it will remain present. this should be changed later for 3.12 - ninja @@ -26,19 +30,21 @@ requirements: - cmake >=3.18, <4 - ninja - pip - - {{ pin_compatible('numpy') }} - - setuptools <60.0 # Use <60.0 to avoid setuptools compatibility issues with distutils. distutils is deprecated and it will be removed in Python 3.12., for older version of python it will remain present. this should be changed later for 3.12 + - numpy {{ numpy }} + - setuptools <60.0 # <— NEW: avoid latest setuptools/distutils breakage # Use <60.0 to avoid setuptools compatibility issues with distutils. distutils is deprecated and it will be removed in Python 3.12., for older version of python it will remain present. this should be changed later for 3.12 - scikit-build >=0.13 - - boost={{ BOOST_VERSION_ALT }} + - libboost-devel ={{ BOOST_VERSION }} + - libboost-python-devel ={{ BOOST_VERSION }} - wheel run: - python {{ python }} - - boost={{ BOOST_VERSION_ALT }} + - libboost ={{ BOOST_VERSION }} + - libboost-python ={{ BOOST_VERSION }} - astropy - {{ pin_compatible('numpy') }} - matplotlib-base - - scipy >=1.10.1 + - scipy >=1.15 - ipython diff --git a/rascil/conda_build_config.yaml b/rascil/conda_build_config.yaml index afb11b7..90aafc4 100644 --- a/rascil/conda_build_config.yaml +++ b/rascil/conda_build_config.yaml @@ -1,4 +1,7 @@ python: - # - 3.9 # build times out on python3.9 only - 3.10 - # - 3.11 # python requires a version >=3.9, <3.11 ( see setup.py: https://gitlab.com/ska-telescope/external/rascil-main/-/blob/1.0.0/setup.py?ref_type=tags) + - 3.11 + +numpy: + - 2.2 + diff --git a/rascil/meta.yaml b/rascil/meta.yaml index b8d1d5f..40676ac 100644 --- a/rascil/meta.yaml +++ b/rascil/meta.yaml @@ -21,29 +21,34 @@ requirements: host: - python {{ python }} - pip - - numpy + - numpy {{ numpy }} + # Required because pyproject.toml uses Poetry backend: + # build-backend = "poetry.core.masonry.api" + # Without this, conda-build fails with: + # "BackendUnavailable: Cannot import 'poetry.core.masonry.api'" + - poetry-core >=2.0.0,<3.0.0 - setuptools run: - python {{ python }} - - astropy >=5.1, <5.2 # <5.2 for RASCIL <= 1.0 (private import error) + - astropy >=6.1 #>=5.1, <5.2 # <5.2 for RASCIL <= 1.0 (private import error) - bdsf ={{ PYBDSF_VERSION_ALT }} - - dask >=2022.12 + - dask >=2024.12, <2025.4 - dask-memusage >=1.1 - - distributed >=2022.12 - - matplotlib >=3.6 + - distributed >=2024.12, <2025.4 + - matplotlib >=3.8 - {{ pin_compatible('numpy') }} - pandas >=1.5 - - python-casacore >=3.5 + - python-casacore >=3.7.1 - reproject >=0.9 - - scipy >=1.10.1 + - scipy >=1.15 - seqfile >=0.2 - ska-sdp-datamodels ={{ SKA_SDP_DTMDL_VERSION_ALT }} - ska-sdp-func ={{ SKA_SDP_FUNC_VERSION_ALT }} - ska-sdp-func-python ={{ SKA_SDP_FUNC_PY_VERSION_ALT }} - tabulate >=0.9 - - xarray >=2022.12 + - xarray >=2024.9,<2024.11 about: home: https://gitlab.com/ska-telescope/external/rascil-main diff --git a/seqfile/conda_build_config.yaml b/seqfile/conda_build_config.yaml index 34131f8..d597f21 100644 --- a/seqfile/conda_build_config.yaml +++ b/seqfile/conda_build_config.yaml @@ -1,5 +1,4 @@ python: - - 3.9 - 3.10 - 3.11 diff --git a/ska-gridder-nifty-cuda/conda_build_config.yaml b/ska-gridder-nifty-cuda/conda_build_config.yaml index 77f0eec..2a066a6 100644 --- a/ska-gridder-nifty-cuda/conda_build_config.yaml +++ b/ska-gridder-nifty-cuda/conda_build_config.yaml @@ -1,4 +1,6 @@ python: - - 3.9 - 3.10 - 3.11 + +numpy: + - 2.2 \ No newline at end of file diff --git a/ska-sdp-datamodels/build.sh b/ska-sdp-datamodels/build.sh index 03aef02..b6061d0 100644 --- a/ska-sdp-datamodels/build.sh +++ b/ska-sdp-datamodels/build.sh @@ -1,6 +1,9 @@ #!/bin/sh +set -eux -# tar.gz has internal folder which contains the setup.py -cd $INTERNAL_FOLDER_NAME +# Only cd if the folder actually exists (conda-build often runs from the source root already) +if [ -n "${INTERNAL_FOLDER_NAME:-}" ] && [ -d "$INTERNAL_FOLDER_NAME" ]; then + cd "$INTERNAL_FOLDER_NAME" +fi -$PYTHON -m pip install --no-deps . +$PYTHON -m pip install --no-deps . -vv diff --git a/ska-sdp-datamodels/conda_build_config.yaml b/ska-sdp-datamodels/conda_build_config.yaml index 34131f8..1305dc2 100644 --- a/ska-sdp-datamodels/conda_build_config.yaml +++ b/ska-sdp-datamodels/conda_build_config.yaml @@ -1,5 +1,6 @@ python: - - 3.9 - 3.10 - 3.11 +numpy: + - 2.2 diff --git a/ska-sdp-datamodels/meta.yaml b/ska-sdp-datamodels/meta.yaml index cebd603..2fb81ef 100644 --- a/ska-sdp-datamodels/meta.yaml +++ b/ska-sdp-datamodels/meta.yaml @@ -5,7 +5,7 @@ package: version: {{ SKA_SDP_DTMDL_VERSION_ALT }} source: - url: https://artefact.skao.int/repository/pypi-internal/packages/{{ PACKAGE_NAME }}/{{ SKA_SDP_DTMDL_VERSION }}/{{ uNameAndVers }}.tar.gz + url: https://artefact.skao.int/repository/pypi-internal/packages/{{ PACKAGE_NAME }}/{{ SKA_SDP_DTMDL_VERSION }}/{{ uNameAndVers }}.tar.gz build: number: {{ build }} @@ -26,17 +26,21 @@ requirements: run: - python {{ python }} - - astroplan >=0.8 - - astropy >=5.1 - - h5py >=3.7.0 + - astroplan >=0.10 + - astropy >=6.1 + - h5py >=3.12 - {{ pin_compatible('numpy') }} - - pandas >=1.5.0 - - xarray >=2022.10.0 + - pandas >=2.2 + - xarray >=2024.9,<2024.11 + +test: + imports: + - ska_sdp_datamodels about: home: https://gitlab.com/ska-telescope/sdp/ska-sdp-datamodels license: Apache 2.0 - license_file: {{ uNameAndVers }}/LICENSE + license_file: LICENSE summary: 'SKA SDP Datamodels' description: | SKA SDP Datamodels diff --git a/ska-sdp-func-python/conda_build_config.yaml b/ska-sdp-func-python/conda_build_config.yaml index d726469..1305dc2 100644 --- a/ska-sdp-func-python/conda_build_config.yaml +++ b/ska-sdp-func-python/conda_build_config.yaml @@ -1,3 +1,6 @@ python: - #- 3.9 - 3.10 + - 3.11 + +numpy: + - 2.2 diff --git a/ska-sdp-func-python/meta.yaml b/ska-sdp-func-python/meta.yaml index bca7217..d0dbf46 100644 --- a/ska-sdp-func-python/meta.yaml +++ b/ska-sdp-func-python/meta.yaml @@ -5,7 +5,8 @@ package: version: {{ SKA_SDP_FUNC_PY_VERSION_ALT }} source: - url: https://artefact.skao.int/repository/pypi-internal/packages/{{ PACKAGE_NAME }}/{{ SKA_SDP_FUNC_PY_VERSION }}/{{ uNameAndVers }}.tar.gz + url: https://artefact.skao.int/repository/pypi-internal/packages/{{ PACKAGE_NAME }}/{{ SKA_SDP_FUNC_PY_VERSION }}/{{ uNameAndVers }}.tar.gz + folder: {{ uNameAndVers }} build: number: {{ build }} @@ -25,15 +26,15 @@ requirements: run: - python {{ python }} - - astroplan >=0.8 - - astropy >=5.1 - - ducc0 >=0.27.0, <0.28 + - astroplan >=0.10 + - astropy >=6.1 + - ducc0 >=0.36 - {{ pin_compatible('numpy') }} - - photutils >=1.5 - - scipy >=1.10.1 + - photutils >=1.12 + - scipy >=1.1 - ska-sdp-datamodels ={{ SKA_SDP_DTMDL_VERSION_ALT }} - ska-sdp-func ={{ SKA_SDP_FUNC_VERSION_ALT }} - - xarray =2023.2 # see issue #542 of Karabo + - xarray >=2024.9,<2024.11 about: home: https://gitlab.com/ska-telescope/sdp/ska-sdp-func-python/ diff --git a/ska-sdp-func/conda_build_config.yaml b/ska-sdp-func/conda_build_config.yaml index 77f0eec..2a066a6 100644 --- a/ska-sdp-func/conda_build_config.yaml +++ b/ska-sdp-func/conda_build_config.yaml @@ -1,4 +1,6 @@ python: - - 3.9 - 3.10 - 3.11 + +numpy: + - 2.2 \ No newline at end of file diff --git a/ska-sdp-func/meta.yaml b/ska-sdp-func/meta.yaml index 8d1408e..cecb0e7 100644 --- a/ska-sdp-func/meta.yaml +++ b/ska-sdp-func/meta.yaml @@ -4,7 +4,7 @@ package: source: git_url: https://gitlab.com/ska-telescope/sdp/ska-sdp-func.git - git_tag: {{ SKA_SDP_FUNC_VERSION }}-testing + git_tag: {{ SKA_SDP_FUNC_VERSION }} build: number: {{ build }} diff --git a/tools21cm/conda_build_config.yaml b/tools21cm/conda_build_config.yaml index 77f0eec..e4cd495 100644 --- a/tools21cm/conda_build_config.yaml +++ b/tools21cm/conda_build_config.yaml @@ -1,4 +1,6 @@ python: - - 3.9 - 3.10 - 3.11 + - 3.12 + + diff --git a/tools21cm/meta.yaml b/tools21cm/meta.yaml index 49cd202..32a64b7 100644 --- a/tools21cm/meta.yaml +++ b/tools21cm/meta.yaml @@ -13,11 +13,11 @@ build: requirements: build: - python - - numpy + # - numpy {{ numpy }} host: - python {{ python }} - - numpy + # - {{ pin_compatible('numpy', max_pin='x') }} - setuptools run: @@ -25,14 +25,14 @@ requirements: - astropy - joblib - matplotlib - - numba - - {{ pin_compatible('numpy') }} + - numba # >=0.61.1 # Numba 0.61.1+ is the first version with official NumPy 2.x support https://github.com/numba/numba/issues/9838? + - numpy >=2.0,<3 - fftw =={{ FFTW3_VERSION_ALT }} - pyfftw - pytest - scikit-image - scikit-learn - - scipy >=1.10.1,<1.15 # see https://github.com/i4Ds/Karabo-Feedstock/issues/30 + - scipy >=1.13,<1.15 # see https://github.com/i4Ds/Karabo-Feedstock/issues/30 # SciPy 1.13+ is also required for NumPy 2 compatibility - tqdm - numexpr - tensorflow diff --git a/wsclean/build.sh b/wsclean/build.sh index 0c9d4f6..be09494 100644 --- a/wsclean/build.sh +++ b/wsclean/build.sh @@ -1,8 +1,16 @@ #!/bin/bash +# Force CMake to use the Conda Python interpreter. +# Without this, GitHub Actions often selects the system Python (3.12), +# which does NOT ship with development headers (pyconfig.h), causing +# radler and pybind11 to fail during configuration. +# +# Setting these ensures consistent, reliable builds across local, CI, +# and all conda-build environments. mkdir -p build cd build cmake -DCMAKE_INSTALL_PREFIX=$PREFIX .. \ - -DCMAKE_CXX_STANDARD=17 -DCMAKE_CXX_STANDARD_REQUIRED=ON + -DCMAKE_CXX_STANDARD=17 -DCMAKE_CXX_STANDARD_REQUIRED=ON \ + -DPYTHON_EXECUTABLE="${PYTHON}" -DPython3_EXECUTABLE="${PYTHON}" \ make -j 4 -make install +make install \ No newline at end of file diff --git a/wsclean/conda_build_config.yaml b/wsclean/conda_build_config.yaml index 11d8c25..5bfccbd 100644 --- a/wsclean/conda_build_config.yaml +++ b/wsclean/conda_build_config.yaml @@ -1,5 +1,4 @@ python: - - 3.9 - 3.10 - 3.11 diff --git a/wsclean/meta.yaml b/wsclean/meta.yaml index f2f2ed6..08a72e3 100644 --- a/wsclean/meta.yaml +++ b/wsclean/meta.yaml @@ -20,7 +20,8 @@ requirements: - {{ compiler('cxx') }} - cmake >=3.10,<4 - make - - boost={{ BOOST_VERSION_ALT }} + - libboost-devel ={{ BOOST_VERSION_ALT }} + - libboost-python-devel ={{ BOOST_VERSION_ALT }} - casacore={{ CASACORE_VERSION_ALT }} - cfitsio={{ CFITSIO_VERSION_ALT }} - everybeam={{ EVERYBEAM_VERSION_ALT }} @@ -32,7 +33,8 @@ requirements: - python host: - - boost={{ BOOST_VERSION_ALT }} + - libboost-devel ={{ BOOST_VERSION_ALT }} + - libboost-python-devel ={{ BOOST_VERSION_ALT }} - casacore={{ CASACORE_VERSION_ALT }} - cfitsio={{ CFITSIO_VERSION_ALT }} - everybeam={{ EVERYBEAM_VERSION_ALT }} @@ -44,7 +46,8 @@ requirements: - python run: - - boost={{ BOOST_VERSION_ALT }} + - libboost-devel ={{ BOOST_VERSION_ALT }} + - libboost-python-devel ={{ BOOST_VERSION_ALT }} - casacore={{ CASACORE_VERSION_ALT }} - cfitsio={{ CFITSIO_VERSION_ALT }} - everybeam={{ EVERYBEAM_VERSION_ALT }} @@ -64,4 +67,4 @@ about: extra: recipe-maintainers: - - michel.pluess@fhnw.ch + - michel.pluess@fhnw.ch \ No newline at end of file