From e1c9cc5e35e369d8bb4fadd862bcd5f620a7bff1 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Sat, 6 Aug 2022 06:41:13 +0000 Subject: [PATCH 01/10] updated v4.0.0 --- recipe/conda_build_config.yaml | 1 - recipe/meta.yaml | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml index 0ef2206..b883e82 100644 --- a/recipe/conda_build_config.yaml +++ b/recipe/conda_build_config.yaml @@ -2,4 +2,3 @@ mpi: - nompi - mpich # [unix] - openmpi # [unix] - diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 2d51eb7..14fb292 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ {% set name = "lalinference" %} -{% set version = "3.0.3" %} +{% set version = "4.0.0" %} {% set build = 0 %} # dependencies @@ -18,7 +18,7 @@ package: source: url: http://software.ligo.org/lscsoft/source/lalsuite/{{ name }}-{{ version }}.tar.xz - sha256: 1e317d34d6ddc5eba67117bfbfd324e5502941578a5bba7b80ae48c48759783e + sha256: 165b97765884c0bc505728c0b9c73a7d93cdee7092beadd1e62925fafebd58eb build: error_overdepending: true From 12c86a071b79cef525cd302c9b6744b28a8b7ff8 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Sat, 6 Aug 2022 06:45:38 +0000 Subject: [PATCH 02/10] MNT: Re-rendered with conda-build 3.21.9, conda-smithy 3.21.1, and conda-forge-pinning 2022.08.05.23.22.55 --- .azure-pipelines/azure-pipelines-osx.yml | 2 +- .ci_support/linux_64_.yaml | 4 +- .ci_support/osx_64_.yaml | 8 ++-- .ci_support/osx_arm64_.yaml | 4 +- .circleci/config.yml | 3 +- .scripts/build_steps.sh | 9 +++- .scripts/run_osx_build.sh | 4 ++ LICENSE.txt | 30 +++++++++---- README.md | 57 +++++++++++++++++------- build-locally.py | 19 +++++--- 10 files changed, 100 insertions(+), 40 deletions(-) diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index 84d4f42..8032e96 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -5,7 +5,7 @@ jobs: - job: osx pool: - vmImage: macOS-10.15 + vmImage: macOS-11 strategy: matrix: osx_64_: diff --git a/.ci_support/linux_64_.yaml b/.ci_support/linux_64_.yaml index 703c470..13cbe09 100644 --- a/.ci_support/linux_64_.yaml +++ b/.ci_support/linux_64_.yaml @@ -20,8 +20,8 @@ mpich: - '4' numpy: - '1.21' -- '1.18' -- '1.18' +- '1.19' +- '1.19' - '1.19' openmpi: - '4' diff --git a/.ci_support/osx_64_.yaml b/.ci_support/osx_64_.yaml index 1718b8d..0b80ae9 100644 --- a/.ci_support/osx_64_.yaml +++ b/.ci_support/osx_64_.yaml @@ -3,7 +3,7 @@ MACOSX_DEPLOYMENT_TARGET: c_compiler: - clang c_compiler_version: -- '12' +- '13' channel_sources: - conda-forge channel_targets: @@ -11,7 +11,7 @@ channel_targets: gsl: - '2.7' llvm_openmp: -- '12' +- '13' macos_machine: - x86_64-apple-darwin13.4.0 mpi: @@ -22,8 +22,8 @@ mpich: - '4' numpy: - '1.21' -- '1.18' -- '1.18' +- '1.19' +- '1.19' - '1.19' openmpi: - '4' diff --git a/.ci_support/osx_arm64_.yaml b/.ci_support/osx_arm64_.yaml index 45e3a4a..fe81f97 100644 --- a/.ci_support/osx_arm64_.yaml +++ b/.ci_support/osx_arm64_.yaml @@ -3,7 +3,7 @@ MACOSX_DEPLOYMENT_TARGET: c_compiler: - clang c_compiler_version: -- '12' +- '13' channel_sources: - conda-forge channel_targets: @@ -11,7 +11,7 @@ channel_targets: gsl: - '2.7' llvm_openmp: -- '12' +- '13' macos_machine: - arm64-apple-darwin20.0.0 mpi: diff --git a/.circleci/config.yml b/.circleci/config.yml index 6ad461b..3e61aa2 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -7,7 +7,8 @@ version: 2 jobs: build: working_directory: ~/test - machine: true + machine: + image: ubuntu-2004:current steps: - run: # The Circle-CI build should not be active, but if this is not true for some reason, do a fast finish. diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index faf9678..583ace0 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -24,7 +24,10 @@ export CONFIG_FILE="${CI_SUPPORT}/${CONFIG}.yaml" cat >~/.condarc < /dev/null +if [[ -f "${FEEDSTOCK_ROOT}/LICENSE.txt" ]]; then + cp "${FEEDSTOCK_ROOT}/LICENSE.txt" "${RECIPE_ROOT}/recipe-scripts-license.txt" +fi + if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then if [[ "x${BUILD_OUTPUT_ID:-}" != "x" ]]; then EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --output-id ${BUILD_OUTPUT_ID}" diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index 418b18f..67b9993 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -59,6 +59,10 @@ if [[ "${HOST_PLATFORM}" != "${BUILD_PLATFORM}" ]]; then fi +if [[ -f LICENSE.txt ]]; then + cp LICENSE.txt "recipe/recipe-scripts-license.txt" +fi + if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then if [[ "x${BUILD_OUTPUT_ID:-}" != "x" ]]; then EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --output-id ${BUILD_OUTPUT_ID}" diff --git a/LICENSE.txt b/LICENSE.txt index 6ec1401..2ec51d7 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,13 +1,27 @@ -BSD 3-clause license +BSD-3-Clause license Copyright (c) 2015-2022, conda-forge contributors All rights reserved. -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. -2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. diff --git a/README.md b/README.md index f548459..bd1d547 100755 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ Home: https://wiki.ligo.org/Computing/LALSuite Package license: GPL-2.0-or-later -Feedstock license: [BSD-3-Clause](https://github.com/conda-forge/lalinference-feedstock/blob/master/LICENSE.txt) +Feedstock license: [BSD-3-Clause](https://github.com/conda-forge/lalinference-feedstock/blob/main/LICENSE.txt) Summary: LSC Algorithm Inference Library data files @@ -29,8 +29,8 @@ Current build status
- - + + @@ -38,22 +38,22 @@ Current build status @@ -84,18 +84,43 @@ conda config --add channels conda-forge conda config --set channel_priority strict ``` -Once the `conda-forge` channel has been enabled, `lalinference, lalinference-data, liblalinference, python-lalinference` can be installed with: +Once the `conda-forge` channel has been enabled, `lalinference, lalinference-data, liblalinference, python-lalinference` can be installed with `conda`: ``` conda install lalinference lalinference-data liblalinference python-lalinference ``` -It is possible to list all of the versions of `lalinference` available on your platform with: +or with `mamba`: + +``` +mamba install lalinference lalinference-data liblalinference python-lalinference +``` + +It is possible to list all of the versions of `lalinference` available on your platform with `conda`: ``` conda search lalinference --channel conda-forge ``` +or with `mamba`: + +``` +mamba search lalinference --channel conda-forge +``` + +Alternatively, `mamba repoquery` may provide more information: + +``` +# Search all versions available on your platform: +mamba repoquery search lalinference --channel conda-forge + +# List packages depending on `lalinference`: +mamba repoquery whoneeds lalinference --channel conda-forge + +# List dependencies of `lalinference`: +mamba repoquery depends lalinference --channel conda-forge +``` + About conda-forge ================= @@ -111,10 +136,12 @@ for each of the installable packages. Such a repository is known as a *feedstock A feedstock is made up of a conda recipe (the instructions on what and how to build the package) and the necessary configurations for automatic building using freely available continuous integration services. Thanks to the awesome service provided by -[CircleCI](https://circleci.com/), [AppVeyor](https://www.appveyor.com/) -and [TravisCI](https://travis-ci.com/) it is possible to build and upload installable -packages to the [conda-forge](https://anaconda.org/conda-forge) -[Anaconda-Cloud](https://anaconda.org/) channel for Linux, Windows and OSX respectively. +[Azure](https://azure.microsoft.com/en-us/services/devops/), [GitHub](https://github.com/), +[CircleCI](https://circleci.com/), [AppVeyor](https://www.appveyor.com/), +[Drone](https://cloud.drone.io/welcome), and [TravisCI](https://travis-ci.com/) +it is possible to build and upload installable packages to the +[conda-forge](https://anaconda.org/conda-forge) [Anaconda-Cloud](https://anaconda.org/) +channel for Linux, Windows and OSX respectively. To manage the continuous integration and simplify feedstock maintenance [conda-smithy](https://github.com/conda-forge/conda-smithy) has been developed. diff --git a/build-locally.py b/build-locally.py index eec38a0..3f4b7a7 100755 --- a/build-locally.py +++ b/build-locally.py @@ -86,12 +86,19 @@ def main(args=None): verify_config(ns) setup_environment(ns) - if ns.config.startswith("linux") or ( - ns.config.startswith("osx") and platform.system() == "Linux" - ): - run_docker_build(ns) - elif ns.config.startswith("osx"): - run_osx_build(ns) + try: + if ns.config.startswith("linux") or ( + ns.config.startswith("osx") and platform.system() == "Linux" + ): + run_docker_build(ns) + elif ns.config.startswith("osx"): + run_osx_build(ns) + finally: + recipe_license_file = os.path.join( + "recipe", "recipe-scripts-license.txt" + ) + if os.path.exists(recipe_license_file): + os.remove(recipe_license_file) if __name__ == "__main__": From 8d9cd3053afcf0233342bdfaceda7f59506bf280 Mon Sep 17 00:00:00 2001 From: "duncan.macleod" Date: Sat, 13 Aug 2022 15:32:21 +0100 Subject: [PATCH 03/10] update recipe --- recipe/meta.yaml | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 14fb292..0834f7f 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -3,13 +3,12 @@ {% set build = 0 %} # dependencies -{% set lal_version = "7.1.0" %} -{% set lalburst_version = "1.5.3" %} +{% set lal_version = "7.2.0" %} +{% set lalburst_version = "1.6.0" %} {% set lalframe_version = "2.0.0" %} -{% set lalinspiral_version = "2.0.0" %} -{% set lalmetaio_version = "2.1.0" %} -{% set lalpulsar_version = "4.0.0" %} -{% set lalsimulation_version = "3.1.0" %} +{% set lalinspiral_version = "3.0.0" %} +{% set lalmetaio_version = "3.0.0" %} +{% set lalsimulation_version = "4.0.0" %} {% set swig_version = "3.0.10" %} package: @@ -17,7 +16,7 @@ package: version: {{ version }} source: - url: http://software.ligo.org/lscsoft/source/lalsuite/{{ name }}-{{ version }}.tar.xz + url: https://software.igwn.org/sources/source/lalsuite/{{ name }}-{{ version }}.tar.xz sha256: 165b97765884c0bc505728c0b9c73a7d93cdee7092beadd1e62925fafebd58eb build: @@ -41,7 +40,6 @@ requirements: - liblalsimulation >={{ lalsimulation_version }} - liblalburst >={{ lalburst_version }} - liblalinspiral >={{ lalinspiral_version }} - - liblalpulsar >={{ lalpulsar_version }} - libgomp # [linux] - llvm-openmp # [osx] # here to help the solver @@ -96,7 +94,6 @@ outputs: - liblalsimulation >={{ lalsimulation_version }} - liblalburst >={{ lalburst_version }} - liblalinspiral >={{ lalinspiral_version }} - - liblalpulsar >={{ lalpulsar_version }} - llvm-openmp # [osx] # here to help the solver - openssl @@ -109,7 +106,6 @@ outputs: - liblalsimulation >={{ lalsimulation_version }} - liblalburst >={{ lalburst_version }} - liblalinspiral >={{ lalinspiral_version }} - - liblalpulsar >={{ lalpulsar_version }} - llvm-openmp # [osx] run_constrained: - lalinference >=2.0.6 @@ -126,7 +122,7 @@ outputs: - pkg-config --print-errors --exact-version "${PKG_VERSION}" lalinference about: home: https://wiki.ligo.org/Computing/LALSuite - doc_url: https://docs.ligo.org/lscsoft/lalsuite/lalinference/ + doc_url: https://lscsoft.docs.ligo.org/lalsuite/lalinference/ dev_url: https://git.ligo.org/lscsoft/lalsuite/ license: GPL-2.0-or-later license_family: GPL @@ -176,7 +172,6 @@ outputs: - python-lalsimulation >={{ lalsimulation_version }} - python-lalburst >={{ lalburst_version }} - python-lalinspiral >={{ lalinspiral_version }} - - python-lalpulsar >={{ lalpulsar_version }} - python-ligo-lw >=1.7.0 - scipy >=0.9.0 test: @@ -203,7 +198,7 @@ outputs: - lalinference.wrapper about: home: https://wiki.ligo.org/Computing/LALSuite - doc_url: https://docs.ligo.org/lscsoft/lalsuite/lalinference/ + doc_url: https://lscsoft.docs.ligo.org/lalsuite/lalinference/ dev_url: https://git.ligo.org/lscsoft/lalsuite/ license: GPL-2.0-or-later license_family: GPL @@ -290,7 +285,6 @@ outputs: - test -f "${LALINFERENCE_DATADIR}/lalinference_pipe_example.ini" # [unix] # C executables - lalinference_bench --psdlength 1000 --psdstart 1 --seglen 8 --srate 4096 --trigtime 0 --ifo H1 --H1-channel LALSimAdLIGO --H1-cache LALSimAdLIGO --dataseed 1324 --Niter 10 --fix-chirpmass 1.21 - #- lalinference_burst --help - lalinference_datadump --help - lalinference_injectedlike --help - lalinference_kombine --help # [mpi != 'nompi'] @@ -327,7 +321,7 @@ outputs: - lalinference about: home: https://wiki.ligo.org/Computing/LALSuite - doc_url: https://docs.ligo.org/lscsoft/lalsuite/lalinference/ + doc_url: https://lscsoft.docs.ligo.org/lalsuite/lalinference/ dev_url: https://git.ligo.org/lscsoft/lalsuite/ license: GPL-2.0-or-later license_family: GPL @@ -338,7 +332,7 @@ outputs: about: home: https://wiki.ligo.org/Computing/LALSuite - doc_url: https://docs.ligo.org/lscsoft/lalsuite/lalinference/ + doc_url: https://lscsoft.docs.ligo.org/lalsuite/lalinference/ dev_url: https://git.ligo.org/lscsoft/lalsuite/ license: GPL-2.0-or-later license_family: GPL From 1167a3ee3f58d8d79decb58c569e2bf0f1c5d284 Mon Sep 17 00:00:00 2001 From: "duncan.macleod" Date: Sat, 13 Aug 2022 15:35:40 +0100 Subject: [PATCH 04/10] alias make arguments to macro to make scripts easier to read --- recipe/build.sh | 6 ++++-- recipe/install-bin.sh | 6 ++++-- recipe/install-data.sh | 4 +++- recipe/install-lib.sh | 8 +++++--- recipe/install-python.sh | 10 ++++++---- 5 files changed, 22 insertions(+), 12 deletions(-) diff --git a/recipe/build.sh b/recipe/build.sh index 3429336..a15053e 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -6,6 +6,8 @@ set -e +_make="make -j ${CPU_COUNT} V=1 VERBOSE=1" + # use out-of-tree build mkdir -pv _build cd _build @@ -34,9 +36,9 @@ ${SRC_DIR}/configure \ ; # build -make -j ${CPU_COUNT} V=1 VERBOSE=1 +${_make} # test if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" != "1" ]]; then - make -j ${CPU_COUNT} V=1 VERBOSE=1 check + ${_make} check fi diff --git a/recipe/install-bin.sh b/recipe/install-bin.sh index 3e90162..b03b374 100644 --- a/recipe/install-bin.sh +++ b/recipe/install-bin.sh @@ -2,6 +2,8 @@ set -ex +_make="make -j ${CPU_COUNT} V=1 VERBOSE=1" + # build in a sub-directory using a copy of the python build _builddir="_build${PY_VER}_${mpi}" cp -r _build${PY_VER} ${_builddir} @@ -43,7 +45,7 @@ ${SRC_DIR}/configure \ ; # install binaries -make -j ${CPU_COUNT} V=1 VERBOSE=1 install -C bin +${_make} install -C bin # install system configuration files -make -j ${CPU_COUNT} V=1 VERBOSE=1 install-sysconfDATA +${_make} install-sysconfDATA diff --git a/recipe/install-data.sh b/recipe/install-data.sh index c7390e7..91621f7 100644 --- a/recipe/install-data.sh +++ b/recipe/install-data.sh @@ -2,10 +2,12 @@ set -e +_make="make -j ${CPU_COUNT} V=1 VERBOSE=1" + cd _build # install data files only -make -j ${CPU_COUNT} V=1 VERBOSE=1 -C lib install-pkgdataDATA +${_make} -C lib install-pkgdataDATA # install activate/deactivate scripts for action in activate deactivate; do diff --git a/recipe/install-lib.sh b/recipe/install-lib.sh index 1637a8e..fba6b2f 100644 --- a/recipe/install-lib.sh +++ b/recipe/install-lib.sh @@ -2,13 +2,15 @@ set -ex +_make="make -j ${CPU_COUNT} V=1 VERBOSE=1" + cd _build # install library and headers -make -j ${CPU_COUNT} V=1 VERBOSE=1 -C lib install +${_make} -C lib install # install SWIG binding definitions and headers -make -j ${CPU_COUNT} V=1 VERBOSE=1 -C swig install-data +${_make} -C swig install-data # install pkg-config -make -j ${CPU_COUNT} V=1 VERBOSE=1 install-pkgconfigDATA +${_make} install-pkgconfigDATA diff --git a/recipe/install-python.sh b/recipe/install-python.sh index bad238e..3d8491f 100644 --- a/recipe/install-python.sh +++ b/recipe/install-python.sh @@ -6,6 +6,8 @@ set -e +_make="make -j ${CPU_COUNT} V=1 VERBOSE=1" + # build python in a sub-directory using a copy of the C build _builddir="_build${PY_VER}" cp -r _build ${_builddir} @@ -34,9 +36,9 @@ ${SRC_DIR}/configure \ sed -i.tmp '/^dependency_libs/d' lib/lib${PKG_NAME##*-}.la # build -make -j ${CPU_COUNT} V=1 VERBOSE=1 -C swig LIBS="" -make -j ${CPU_COUNT} V=1 VERBOSE=1 -C python LIBS="" +${_make} -C swig LIBS="" +${_make} -C python LIBS="" # install -make -j ${CPU_COUNT} V=1 VERBOSE=1 -C swig install-exec # swig bindings -make -j ${CPU_COUNT} V=1 VERBOSE=1 -C python install # pure-python extras +${_make} -C swig install-exec # swig bindings +${_make} -C python install # pure-python extras From d7df055831976c523660cb2367b3ea92ae2ede89 Mon Sep 17 00:00:00 2001 From: "duncan.macleod" Date: Sat, 13 Aug 2022 15:36:07 +0100 Subject: [PATCH 05/10] build with mambabuild and enable linux arch builds --- conda-forge.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/conda-forge.yml b/conda-forge.yml index 3633ae2..773474a 100644 --- a/conda-forge.yml +++ b/conda-forge.yml @@ -1,8 +1,10 @@ build_platform: osx_arm64: osx_64 -build_with_mambabuild: false conda_forge_output_validation: true -test_on_native_only: true github: branch_name: main tooling_branch_name: main +provider: + linux_aarch64: azure + linux_ppc64le: azure +test_on_native_only: true From f98e272807be11818a6fef995b21df51998d4080 Mon Sep 17 00:00:00 2001 From: "duncan.macleod" Date: Sat, 13 Aug 2022 15:50:42 +0100 Subject: [PATCH 06/10] MNT: Re-rendered with conda-build 3.21.9, conda-smithy 3.21.1, and conda-forge-pinning 2022.08.12.23.25.47 --- .azure-pipelines/azure-pipelines-linux.yml | 8 ++++ .ci_support/linux_aarch64_.yaml | 47 ++++++++++++++++++++++ .ci_support/linux_ppc64le_.yaml | 43 ++++++++++++++++++++ .scripts/build_steps.sh | 6 ++- .scripts/run_osx_build.sh | 6 ++- README.md | 14 +++++++ 6 files changed, 120 insertions(+), 4 deletions(-) create mode 100644 .ci_support/linux_aarch64_.yaml create mode 100644 .ci_support/linux_ppc64le_.yaml diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index 974e878..2e0430f 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -12,6 +12,14 @@ jobs: CONFIG: linux_64_ UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + linux_aarch64_: + CONFIG: linux_aarch64_ + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-aarch64 + linux_ppc64le_: + CONFIG: linux_ppc64le_ + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-ppc64le timeoutInMinutes: 360 steps: diff --git a/.ci_support/linux_aarch64_.yaml b/.ci_support/linux_aarch64_.yaml new file mode 100644 index 0000000..e52f00b --- /dev/null +++ b/.ci_support/linux_aarch64_.yaml @@ -0,0 +1,47 @@ +BUILD: +- aarch64-conda_cos7-linux-gnu +c_compiler: +- gcc +c_compiler_version: +- '10' +cdt_arch: +- aarch64 +cdt_name: +- cos7 +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +docker_image: +- quay.io/condaforge/linux-anvil-aarch64 +gsl: +- '2.7' +mpi: +- mpich +- nompi +- openmpi +mpich: +- '4' +numpy: +- '1.21' +- '1.19' +- '1.19' +- '1.19' +openmpi: +- '4' +openssl: +- 1.1.1 +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.10.* *_cpython +- 3.7.* *_cpython +- 3.8.* *_cpython +- 3.9.* *_cpython +target_platform: +- linux-aarch64 +zip_keys: +- - python + - numpy diff --git a/.ci_support/linux_ppc64le_.yaml b/.ci_support/linux_ppc64le_.yaml new file mode 100644 index 0000000..1c58067 --- /dev/null +++ b/.ci_support/linux_ppc64le_.yaml @@ -0,0 +1,43 @@ +c_compiler: +- gcc +c_compiler_version: +- '10' +cdt_name: +- cos7 +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +docker_image: +- quay.io/condaforge/linux-anvil-ppc64le +gsl: +- '2.7' +mpi: +- mpich +- nompi +- openmpi +mpich: +- '4' +numpy: +- '1.21' +- '1.19' +- '1.19' +- '1.19' +openmpi: +- '4' +openssl: +- 1.1.1 +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.10.* *_cpython +- 3.7.* *_cpython +- 3.8.* *_cpython +- 3.9.* *_cpython +target_platform: +- linux-ppc64le +zip_keys: +- - python + - numpy diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 583ace0..a6b09f6 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -33,7 +33,9 @@ CONDARC mamba install --update-specs --yes --quiet --channel conda-forge \ - conda-build pip conda-forge-ci-setup=3 + conda-build pip boa conda-forge-ci-setup=3 +mamba update --update-specs --yes --quiet --channel conda-forge \ + conda-build pip boa conda-forge-ci-setup=3 # set up the condarc setup_conda_rc "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" @@ -65,7 +67,7 @@ if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then # Drop into an interactive shell /bin/bash else - conda build "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ + conda mambabuild "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ --suppress-variables ${EXTRA_CB_OPTIONS:-} \ --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" ( startgroup "Validating outputs" ) 2> /dev/null diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index 67b9993..736a39a 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -25,7 +25,9 @@ conda activate base echo -e "\n\nInstalling ['conda-forge-ci-setup=3'] and conda-build." mamba install --update-specs --quiet --yes --channel conda-forge \ - conda-build pip conda-forge-ci-setup=3 + conda-build pip boa conda-forge-ci-setup=3 +mamba update --update-specs --yes --quiet --channel conda-forge \ + conda-build pip boa conda-forge-ci-setup=3 @@ -74,7 +76,7 @@ if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then # Drop into an interactive shell /bin/bash else - conda build ./recipe -m ./.ci_support/${CONFIG}.yaml \ + conda mambabuild ./recipe -m ./.ci_support/${CONFIG}.yaml \ --suppress-variables ${EXTRA_CB_OPTIONS:-} \ --clobber-file ./.ci_support/clobber_${CONFIG}.yaml ( startgroup "Validating outputs" ) 2> /dev/null diff --git a/README.md b/README.md index bd1d547..1ba4fd6 100755 --- a/README.md +++ b/README.md @@ -42,6 +42,20 @@ Current build status variant + + + + + +
linux_64 - - variant + + variant
osx_64 - - variant + + variant
osx_arm64 - - variant + + variant
linux_aarch64 + + variant + +
linux_ppc64le + + variant + +
osx_64 From 17de5c04845b4387841610e993fb028290df1f1f Mon Sep 17 00:00:00 2001 From: "duncan.macleod" Date: Mon, 13 Jun 2022 14:09:09 +0100 Subject: [PATCH 07/10] fix install name for deactivate scripts --- recipe/install-data.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/install-data.sh b/recipe/install-data.sh index 91621f7..cab1cd8 100644 --- a/recipe/install-data.sh +++ b/recipe/install-data.sh @@ -13,7 +13,7 @@ ${_make} -C lib install-pkgdataDATA for action in activate deactivate; do mkdir -p ${PREFIX}/etc/conda/${action}.d for ext in sh csh; do - _target="${PREFIX}/etc/conda/${action}.d/activate-${PKG_NAME}.${ext}" + _target="${PREFIX}/etc/conda/${action}.d/${action}-${PKG_NAME}.${ext}" echo "-- Installing: ${_target}" cp "${RECIPE_DIR}/${action}-${PKG_NAME}.${ext}" "${_target}" done From 4cb92de09874b574d763e0df2cf78b2b512aa0d5 Mon Sep 17 00:00:00 2001 From: "duncan.macleod" Date: Mon, 13 Jun 2022 14:09:19 +0100 Subject: [PATCH 08/10] add numpy to ignore_run_exports for python-lalinf --- recipe/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 0834f7f..43b46df 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -139,8 +139,8 @@ outputs: error_overdepending: true error_overlinking: true ignore_run_exports: + - numpy - openssl - # ignore run_exports from python's recipe - python requirements: build: From 25b43dc822d2e62ff3e2ee04daecb6863c686f02 Mon Sep 17 00:00:00 2001 From: "duncan.macleod" Date: Sun, 14 Aug 2022 19:47:18 +0100 Subject: [PATCH 09/10] cross-compile linux arch rather than emulate, which is horribly slow --- conda-forge.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/conda-forge.yml b/conda-forge.yml index 773474a..66f6182 100644 --- a/conda-forge.yml +++ b/conda-forge.yml @@ -1,5 +1,7 @@ build_platform: osx_arm64: osx_64 + linux_aarch64: linux_64 + linux_ppc64le: linux_64 conda_forge_output_validation: true github: branch_name: main From aa1d1d47f2bb4a302d376b6735ac7a7f8749fc6d Mon Sep 17 00:00:00 2001 From: "duncan.macleod" Date: Sun, 14 Aug 2022 19:54:22 +0100 Subject: [PATCH 10/10] MNT: Re-rendered with conda-build 3.21.9, conda-smithy 3.21.1, and conda-forge-pinning 2022.08.14.15.51.06 --- .azure-pipelines/azure-pipelines-linux.yml | 4 ++-- .ci_support/linux_aarch64_.yaml | 2 +- .ci_support/linux_ppc64le_.yaml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index 2e0430f..3b9dee7 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -15,11 +15,11 @@ jobs: linux_aarch64_: CONFIG: linux_aarch64_ UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-aarch64 + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 linux_ppc64le_: CONFIG: linux_ppc64le_ UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-ppc64le + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 timeoutInMinutes: 360 steps: diff --git a/.ci_support/linux_aarch64_.yaml b/.ci_support/linux_aarch64_.yaml index e52f00b..85428da 100644 --- a/.ci_support/linux_aarch64_.yaml +++ b/.ci_support/linux_aarch64_.yaml @@ -13,7 +13,7 @@ channel_sources: channel_targets: - conda-forge main docker_image: -- quay.io/condaforge/linux-anvil-aarch64 +- quay.io/condaforge/linux-anvil-cos7-x86_64 gsl: - '2.7' mpi: diff --git a/.ci_support/linux_ppc64le_.yaml b/.ci_support/linux_ppc64le_.yaml index 1c58067..7275085 100644 --- a/.ci_support/linux_ppc64le_.yaml +++ b/.ci_support/linux_ppc64le_.yaml @@ -9,7 +9,7 @@ channel_sources: channel_targets: - conda-forge main docker_image: -- quay.io/condaforge/linux-anvil-ppc64le +- quay.io/condaforge/linux-anvil-cos7-x86_64 gsl: - '2.7' mpi: