From 37fbcfaded60783eea45b72b1fdf3f696f6c6046 Mon Sep 17 00:00:00 2001 From: Calum Chamberlain Date: Tue, 12 Dec 2023 12:44:05 +1300 Subject: [PATCH 1/5] remove pyfftw dependency --- recipe/meta.yaml | 16 +++++++--------- recipe/run_test.py | 17 +---------------- 2 files changed, 8 insertions(+), 25 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 484fff1..536585d 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ {% set name = "EQcorrscan" %} -{% set version = "0.4.4" %} +{% set version = "0.5.0" %} {% set sha256 = "70cdebade97d6ddd05dbd347f7bebced66e8163dd8817259bf080302c2e1c69d" %} package: @@ -7,15 +7,15 @@ package: version: {{ version }} source: - fn: {{ name }}-{{ version }}.tar.gz - url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: {{ sha256 }} - # fn: 0.4.4rc0.tar.gz - # url: https://github.com/eqcorrscan/EQcorrscan/archive/0.4.4rc0.tar.gz + # fn: {{ name }}-{{ version }}.tar.gz + # url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz + # sha256: {{ sha256 }} + fn: 0.5.0rc0.tar.gz + url: https://github.com/eqcorrscan/EQcorrscan/archive/0.5.0rc0.tar.gz build: skip: true # [win and py==38] - number: 3 + number: 0 requirements: @@ -31,14 +31,12 @@ requirements: - future - numpy - fftw - - pyfftw ==0.12 - llvm-openmp >=4.0.1 # [osx] run: - python - setuptools - future - {{ pin_compatible('numpy') }} - - pyfftw ==0.12 - fftw - scipy <1.9.0 - matplotlib-base diff --git a/recipe/run_test.py b/recipe/run_test.py index c26076a..294c71f 100644 --- a/recipe/run_test.py +++ b/recipe/run_test.py @@ -107,22 +107,7 @@ def check_c_locations(): # Load the cdll cdll = libnames._load_cdll("libutils") - -def test_pyfftw_resample(): - """ Check that pyfftw works properly with our fftw libs. """ - import io - from contextlib import redirect_stdout - from eqcorrscan.utils.pre_processing import _resample - - tr = Trace(np.random.randn(360000)) - tr.stats.sampling_rate = 100.0 - - f = io.StringIO() - with redirect_stdout(f): - # If linking not done properly then this will output a traceback to stdout - tr_resampled = _resample(tr, 50, threads=2) - assert f.getvalue() == '' - + def test_obspy_resample(): """ Check that obspy resample works - scipy hanning to hann name change. """ tr = Trace(np.random.randn(360000)) From 28260fe7f57f3f126938a5a772a7f33362c26741 Mon Sep 17 00:00:00 2001 From: Calum Chamberlain Date: Tue, 12 Dec 2023 12:48:23 +1300 Subject: [PATCH 2/5] MNT: Re-rendered with conda-build 3.27.0, conda-smithy 3.30.1, and conda-forge-pinning 2023.12.11.22.38.11 --- .azure-pipelines/azure-pipelines-linux.yml | 24 ++-- .azure-pipelines/azure-pipelines-osx.yml | 33 +++-- .azure-pipelines/azure-pipelines-win.yml | 67 +++------- ...x_64_numpy1.22python3.10.____cpython.yaml} | 4 +- ...ux_64_numpy1.22python3.8.____cpython.yaml} | 4 +- ...ux_64_numpy1.22python3.9.____cpython.yaml} | 4 +- ...ux_64_numpy1.23python3.11.____cpython.yaml | 27 ++++ ...x_64_numpy1.22python3.10.____cpython.yaml} | 4 +- ...sx_64_numpy1.22python3.8.____cpython.yaml} | 4 +- ...sx_64_numpy1.22python3.9.____cpython.yaml} | 4 +- ...sx_64_numpy1.23python3.11.____cpython.yaml | 27 ++++ ...rm64_numpy1.22python3.10.____cpython.yaml} | 4 +- ...arm64_numpy1.22python3.8.____cpython.yaml} | 4 +- ...arm64_numpy1.22python3.9.____cpython.yaml} | 4 +- ...arm64_numpy1.23python3.11.____cpython.yaml | 27 ++++ ...n_64_numpy1.22python3.10.____cpython.yaml} | 2 +- ...in_64_numpy1.22python3.9.____cpython.yaml} | 2 +- ...in_64_numpy1.23python3.11.____cpython.yaml | 21 +++ .scripts/build_steps.sh | 20 ++- .scripts/logging_utils.sh | 4 +- .scripts/run_docker_build.sh | 3 + .scripts/run_osx_build.sh | 27 ++-- .scripts/run_win_build.bat | 125 ++++++++++++++++++ README.md | 74 +++++++---- 24 files changed, 386 insertions(+), 133 deletions(-) rename .ci_support/{linux_64_numpy1.21python3.10.____cpython.yaml => linux_64_numpy1.22python3.10.____cpython.yaml} (95%) rename .ci_support/{linux_64_numpy1.20python3.8.____cpython.yaml => linux_64_numpy1.22python3.8.____cpython.yaml} (95%) rename .ci_support/{linux_64_numpy1.20python3.9.____cpython.yaml => linux_64_numpy1.22python3.9.____cpython.yaml} (95%) create mode 100644 .ci_support/linux_64_numpy1.23python3.11.____cpython.yaml rename .ci_support/{osx_64_numpy1.21python3.10.____cpython.yaml => osx_64_numpy1.22python3.10.____cpython.yaml} (95%) rename .ci_support/{osx_64_numpy1.20python3.8.____cpython.yaml => osx_64_numpy1.22python3.8.____cpython.yaml} (95%) rename .ci_support/{osx_64_numpy1.20python3.9.____cpython.yaml => osx_64_numpy1.22python3.9.____cpython.yaml} (95%) create mode 100644 .ci_support/osx_64_numpy1.23python3.11.____cpython.yaml rename .ci_support/{osx_arm64_numpy1.21python3.10.____cpython.yaml => osx_arm64_numpy1.22python3.10.____cpython.yaml} (95%) rename .ci_support/{osx_arm64_numpy1.20python3.8.____cpython.yaml => osx_arm64_numpy1.22python3.8.____cpython.yaml} (95%) rename .ci_support/{osx_arm64_numpy1.20python3.9.____cpython.yaml => osx_arm64_numpy1.22python3.9.____cpython.yaml} (95%) create mode 100644 .ci_support/osx_arm64_numpy1.23python3.11.____cpython.yaml rename .ci_support/{win_64_numpy1.21python3.10.____cpython.yaml => win_64_numpy1.22python3.10.____cpython.yaml} (96%) rename .ci_support/{win_64_numpy1.20python3.9.____cpython.yaml => win_64_numpy1.22python3.9.____cpython.yaml} (96%) create mode 100644 .ci_support/win_64_numpy1.23python3.11.____cpython.yaml create mode 100755 .scripts/run_win_build.bat diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index 1a92ac8..536fd7c 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -8,26 +8,25 @@ jobs: vmImage: ubuntu-latest strategy: matrix: - linux_64_numpy1.20python3.8.____cpython: - CONFIG: linux_64_numpy1.20python3.8.____cpython + linux_64_numpy1.22python3.10.____cpython: + CONFIG: linux_64_numpy1.22python3.10.____cpython UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_64_numpy1.20python3.9.____cpython: - CONFIG: linux_64_numpy1.20python3.9.____cpython + linux_64_numpy1.22python3.8.____cpython: + CONFIG: linux_64_numpy1.22python3.8.____cpython UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_64_numpy1.21python3.10.____cpython: - CONFIG: linux_64_numpy1.21python3.10.____cpython + linux_64_numpy1.22python3.9.____cpython: + CONFIG: linux_64_numpy1.22python3.9.____cpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + linux_64_numpy1.23python3.11.____cpython: + CONFIG: linux_64_numpy1.23python3.11.____cpython UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 timeoutInMinutes: 360 steps: - - script: | - rm -rf /opt/ghc - df -h - displayName: Manage disk space - # configure qemu binfmt-misc running. This allows us to run docker containers # embedded qemu-static - script: | @@ -38,6 +37,9 @@ jobs: - script: | export CI=azure + export flow_run_id=azure_$(Build.BuildNumber).$(System.JobAttempt) + export remote_url=$(Build.Repository.Uri) + export sha=$(Build.SourceVersion) export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) if [[ "${BUILD_REASON:-}" == "PullRequest" ]]; then diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index 386869a..2e1f707 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -8,23 +8,29 @@ jobs: vmImage: macOS-11 strategy: matrix: - osx_64_numpy1.20python3.8.____cpython: - CONFIG: osx_64_numpy1.20python3.8.____cpython + osx_64_numpy1.22python3.10.____cpython: + CONFIG: osx_64_numpy1.22python3.10.____cpython UPLOAD_PACKAGES: 'True' - osx_64_numpy1.20python3.9.____cpython: - CONFIG: osx_64_numpy1.20python3.9.____cpython + osx_64_numpy1.22python3.8.____cpython: + CONFIG: osx_64_numpy1.22python3.8.____cpython UPLOAD_PACKAGES: 'True' - osx_64_numpy1.21python3.10.____cpython: - CONFIG: osx_64_numpy1.21python3.10.____cpython + osx_64_numpy1.22python3.9.____cpython: + CONFIG: osx_64_numpy1.22python3.9.____cpython UPLOAD_PACKAGES: 'True' - osx_arm64_numpy1.20python3.8.____cpython: - CONFIG: osx_arm64_numpy1.20python3.8.____cpython + osx_64_numpy1.23python3.11.____cpython: + CONFIG: osx_64_numpy1.23python3.11.____cpython UPLOAD_PACKAGES: 'True' - osx_arm64_numpy1.20python3.9.____cpython: - CONFIG: osx_arm64_numpy1.20python3.9.____cpython + osx_arm64_numpy1.22python3.10.____cpython: + CONFIG: osx_arm64_numpy1.22python3.10.____cpython UPLOAD_PACKAGES: 'True' - osx_arm64_numpy1.21python3.10.____cpython: - CONFIG: osx_arm64_numpy1.21python3.10.____cpython + osx_arm64_numpy1.22python3.8.____cpython: + CONFIG: osx_arm64_numpy1.22python3.8.____cpython + UPLOAD_PACKAGES: 'True' + osx_arm64_numpy1.22python3.9.____cpython: + CONFIG: osx_arm64_numpy1.22python3.9.____cpython + UPLOAD_PACKAGES: 'True' + osx_arm64_numpy1.23python3.11.____cpython: + CONFIG: osx_arm64_numpy1.23python3.11.____cpython UPLOAD_PACKAGES: 'True' timeoutInMinutes: 360 @@ -32,6 +38,9 @@ jobs: # TODO: Fast finish on azure pipelines? - script: | export CI=azure + export flow_run_id=azure_$(Build.BuildNumber).$(System.JobAttempt) + export remote_url=$(Build.Repository.Uri) + export sha=$(Build.SourceVersion) export OSX_FORCE_SDK_DOWNLOAD="1" export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index eafa3c5..e2307e3 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -8,11 +8,14 @@ jobs: vmImage: windows-2022 strategy: matrix: - win_64_numpy1.20python3.9.____cpython: - CONFIG: win_64_numpy1.20python3.9.____cpython + win_64_numpy1.22python3.10.____cpython: + CONFIG: win_64_numpy1.22python3.10.____cpython UPLOAD_PACKAGES: 'True' - win_64_numpy1.21python3.10.____cpython: - CONFIG: win_64_numpy1.21python3.10.____cpython + win_64_numpy1.22python3.9.____cpython: + CONFIG: win_64_numpy1.22python3.9.____cpython + UPLOAD_PACKAGES: 'True' + win_64_numpy1.23python3.11.____cpython: + CONFIG: win_64_numpy1.23python3.11.____cpython UPLOAD_PACKAGES: 'True' timeoutInMinutes: 360 variables: @@ -20,6 +23,7 @@ jobs: UPLOAD_TEMP: D:\\tmp steps: + - task: PythonScript@0 displayName: 'Download Miniforge' inputs: @@ -38,52 +42,17 @@ jobs: displayName: Add conda to PATH - script: | - call activate base - mamba.exe install "python=3.10" conda-build conda pip boa conda-forge-ci-setup=3 -c conda-forge --strict-channel-priority --yes - displayName: Install conda-build - - - script: set PYTHONUNBUFFERED=1 - displayName: Set PYTHONUNBUFFERED - - # Configure the VM - - script: | - call activate base - setup_conda_rc .\ ".\recipe" .\.ci_support\%CONFIG%.yaml - displayName: conda-forge CI setup - - # Configure the VM. - - script: | - set "CI=azure" - call activate base - run_conda_forge_build_setup - displayName: conda-forge build setup - - - script: | - call activate base - if EXIST LICENSE.txt ( - copy LICENSE.txt "recipe\\recipe-scripts-license.txt" - ) - conda.exe mambabuild "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables - displayName: Build recipe + call ".scripts\run_win_build.bat" + displayName: Run Windows build env: PYTHONUNBUFFERED: 1 - - script: | - set "FEEDSTOCK_NAME=%BUILD_REPOSITORY_NAME:*/=%" - call activate base - validate_recipe_outputs "%FEEDSTOCK_NAME%" - displayName: Validate Recipe Outputs - - - script: | - set "GIT_BRANCH=%BUILD_SOURCEBRANCHNAME%" - set "FEEDSTOCK_NAME=%BUILD_REPOSITORY_NAME:*/=%" - set "TEMP=$(UPLOAD_TEMP)" - if not exist "%TEMP%\" md "%TEMP%" - set "TMP=%TEMP%" - call activate base - upload_package --validate --feedstock-name="%FEEDSTOCK_NAME%" .\ ".\recipe" .ci_support\%CONFIG%.yaml - displayName: Upload package - env: + CONFIG: $(CONFIG) + CI: azure + flow_run_id: azure_$(Build.BuildNumber).$(System.JobAttempt) + remote_url: $(Build.Repository.Uri) + sha: $(Build.SourceVersion) + UPLOAD_PACKAGES: $(UPLOAD_PACKAGES) + UPLOAD_TEMP: $(UPLOAD_TEMP) BINSTAR_TOKEN: $(BINSTAR_TOKEN) FEEDSTOCK_TOKEN: $(FEEDSTOCK_TOKEN) - STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN) - condition: and(succeeded(), not(eq(variables['UPLOAD_PACKAGES'], 'False')), not(eq(variables['Build.Reason'], 'PullRequest'))) \ No newline at end of file + STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN) \ No newline at end of file diff --git a/.ci_support/linux_64_numpy1.21python3.10.____cpython.yaml b/.ci_support/linux_64_numpy1.22python3.10.____cpython.yaml similarity index 95% rename from .ci_support/linux_64_numpy1.21python3.10.____cpython.yaml rename to .ci_support/linux_64_numpy1.22python3.10.____cpython.yaml index ede353f..9165ded 100644 --- a/.ci_support/linux_64_numpy1.21python3.10.____cpython.yaml +++ b/.ci_support/linux_64_numpy1.22python3.10.____cpython.yaml @@ -1,7 +1,7 @@ c_compiler: - gcc c_compiler_version: -- '11' +- '12' cdt_name: - cos6 channel_sources: @@ -13,7 +13,7 @@ docker_image: fftw: - '3' numpy: -- '1.21' +- '1.22' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/linux_64_numpy1.20python3.8.____cpython.yaml b/.ci_support/linux_64_numpy1.22python3.8.____cpython.yaml similarity index 95% rename from .ci_support/linux_64_numpy1.20python3.8.____cpython.yaml rename to .ci_support/linux_64_numpy1.22python3.8.____cpython.yaml index 321eba8..befb419 100644 --- a/.ci_support/linux_64_numpy1.20python3.8.____cpython.yaml +++ b/.ci_support/linux_64_numpy1.22python3.8.____cpython.yaml @@ -1,7 +1,7 @@ c_compiler: - gcc c_compiler_version: -- '11' +- '12' cdt_name: - cos6 channel_sources: @@ -13,7 +13,7 @@ docker_image: fftw: - '3' numpy: -- '1.20' +- '1.22' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/linux_64_numpy1.20python3.9.____cpython.yaml b/.ci_support/linux_64_numpy1.22python3.9.____cpython.yaml similarity index 95% rename from .ci_support/linux_64_numpy1.20python3.9.____cpython.yaml rename to .ci_support/linux_64_numpy1.22python3.9.____cpython.yaml index 8d02897..a353a10 100644 --- a/.ci_support/linux_64_numpy1.20python3.9.____cpython.yaml +++ b/.ci_support/linux_64_numpy1.22python3.9.____cpython.yaml @@ -1,7 +1,7 @@ c_compiler: - gcc c_compiler_version: -- '11' +- '12' cdt_name: - cos6 channel_sources: @@ -13,7 +13,7 @@ docker_image: fftw: - '3' numpy: -- '1.20' +- '1.22' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/linux_64_numpy1.23python3.11.____cpython.yaml b/.ci_support/linux_64_numpy1.23python3.11.____cpython.yaml new file mode 100644 index 0000000..ba4b2df --- /dev/null +++ b/.ci_support/linux_64_numpy1.23python3.11.____cpython.yaml @@ -0,0 +1,27 @@ +c_compiler: +- gcc +c_compiler_version: +- '12' +cdt_name: +- cos6 +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +docker_image: +- quay.io/condaforge/linux-anvil-cos7-x86_64 +fftw: +- '3' +numpy: +- '1.23' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.11.* *_cpython +target_platform: +- linux-64 +zip_keys: +- - python + - numpy diff --git a/.ci_support/osx_64_numpy1.21python3.10.____cpython.yaml b/.ci_support/osx_64_numpy1.22python3.10.____cpython.yaml similarity index 95% rename from .ci_support/osx_64_numpy1.21python3.10.____cpython.yaml rename to .ci_support/osx_64_numpy1.22python3.10.____cpython.yaml index 2c1dfc3..5e1f11f 100644 --- a/.ci_support/osx_64_numpy1.21python3.10.____cpython.yaml +++ b/.ci_support/osx_64_numpy1.22python3.10.____cpython.yaml @@ -3,7 +3,7 @@ MACOSX_DEPLOYMENT_TARGET: c_compiler: - clang c_compiler_version: -- '14' +- '16' channel_sources: - conda-forge channel_targets: @@ -13,7 +13,7 @@ fftw: macos_machine: - x86_64-apple-darwin13.4.0 numpy: -- '1.21' +- '1.22' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/osx_64_numpy1.20python3.8.____cpython.yaml b/.ci_support/osx_64_numpy1.22python3.8.____cpython.yaml similarity index 95% rename from .ci_support/osx_64_numpy1.20python3.8.____cpython.yaml rename to .ci_support/osx_64_numpy1.22python3.8.____cpython.yaml index dd0f448..a191e5f 100644 --- a/.ci_support/osx_64_numpy1.20python3.8.____cpython.yaml +++ b/.ci_support/osx_64_numpy1.22python3.8.____cpython.yaml @@ -3,7 +3,7 @@ MACOSX_DEPLOYMENT_TARGET: c_compiler: - clang c_compiler_version: -- '14' +- '16' channel_sources: - conda-forge channel_targets: @@ -13,7 +13,7 @@ fftw: macos_machine: - x86_64-apple-darwin13.4.0 numpy: -- '1.20' +- '1.22' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/osx_64_numpy1.20python3.9.____cpython.yaml b/.ci_support/osx_64_numpy1.22python3.9.____cpython.yaml similarity index 95% rename from .ci_support/osx_64_numpy1.20python3.9.____cpython.yaml rename to .ci_support/osx_64_numpy1.22python3.9.____cpython.yaml index 4f1ec0e..3e4730f 100644 --- a/.ci_support/osx_64_numpy1.20python3.9.____cpython.yaml +++ b/.ci_support/osx_64_numpy1.22python3.9.____cpython.yaml @@ -3,7 +3,7 @@ MACOSX_DEPLOYMENT_TARGET: c_compiler: - clang c_compiler_version: -- '14' +- '16' channel_sources: - conda-forge channel_targets: @@ -13,7 +13,7 @@ fftw: macos_machine: - x86_64-apple-darwin13.4.0 numpy: -- '1.20' +- '1.22' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/osx_64_numpy1.23python3.11.____cpython.yaml b/.ci_support/osx_64_numpy1.23python3.11.____cpython.yaml new file mode 100644 index 0000000..f341c5d --- /dev/null +++ b/.ci_support/osx_64_numpy1.23python3.11.____cpython.yaml @@ -0,0 +1,27 @@ +MACOSX_DEPLOYMENT_TARGET: +- '10.9' +c_compiler: +- clang +c_compiler_version: +- '16' +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +fftw: +- '3' +macos_machine: +- x86_64-apple-darwin13.4.0 +numpy: +- '1.23' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.11.* *_cpython +target_platform: +- osx-64 +zip_keys: +- - python + - numpy diff --git a/.ci_support/osx_arm64_numpy1.21python3.10.____cpython.yaml b/.ci_support/osx_arm64_numpy1.22python3.10.____cpython.yaml similarity index 95% rename from .ci_support/osx_arm64_numpy1.21python3.10.____cpython.yaml rename to .ci_support/osx_arm64_numpy1.22python3.10.____cpython.yaml index df6739d..94d48d4 100644 --- a/.ci_support/osx_arm64_numpy1.21python3.10.____cpython.yaml +++ b/.ci_support/osx_arm64_numpy1.22python3.10.____cpython.yaml @@ -3,7 +3,7 @@ MACOSX_DEPLOYMENT_TARGET: c_compiler: - clang c_compiler_version: -- '14' +- '16' channel_sources: - conda-forge channel_targets: @@ -13,7 +13,7 @@ fftw: macos_machine: - arm64-apple-darwin20.0.0 numpy: -- '1.21' +- '1.22' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/osx_arm64_numpy1.20python3.8.____cpython.yaml b/.ci_support/osx_arm64_numpy1.22python3.8.____cpython.yaml similarity index 95% rename from .ci_support/osx_arm64_numpy1.20python3.8.____cpython.yaml rename to .ci_support/osx_arm64_numpy1.22python3.8.____cpython.yaml index 21f9825..0421255 100644 --- a/.ci_support/osx_arm64_numpy1.20python3.8.____cpython.yaml +++ b/.ci_support/osx_arm64_numpy1.22python3.8.____cpython.yaml @@ -3,7 +3,7 @@ MACOSX_DEPLOYMENT_TARGET: c_compiler: - clang c_compiler_version: -- '14' +- '16' channel_sources: - conda-forge channel_targets: @@ -13,7 +13,7 @@ fftw: macos_machine: - arm64-apple-darwin20.0.0 numpy: -- '1.20' +- '1.22' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/osx_arm64_numpy1.20python3.9.____cpython.yaml b/.ci_support/osx_arm64_numpy1.22python3.9.____cpython.yaml similarity index 95% rename from .ci_support/osx_arm64_numpy1.20python3.9.____cpython.yaml rename to .ci_support/osx_arm64_numpy1.22python3.9.____cpython.yaml index 2feb619..68346cf 100644 --- a/.ci_support/osx_arm64_numpy1.20python3.9.____cpython.yaml +++ b/.ci_support/osx_arm64_numpy1.22python3.9.____cpython.yaml @@ -3,7 +3,7 @@ MACOSX_DEPLOYMENT_TARGET: c_compiler: - clang c_compiler_version: -- '14' +- '16' channel_sources: - conda-forge channel_targets: @@ -13,7 +13,7 @@ fftw: macos_machine: - arm64-apple-darwin20.0.0 numpy: -- '1.20' +- '1.22' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/osx_arm64_numpy1.23python3.11.____cpython.yaml b/.ci_support/osx_arm64_numpy1.23python3.11.____cpython.yaml new file mode 100644 index 0000000..ef99454 --- /dev/null +++ b/.ci_support/osx_arm64_numpy1.23python3.11.____cpython.yaml @@ -0,0 +1,27 @@ +MACOSX_DEPLOYMENT_TARGET: +- '11.0' +c_compiler: +- clang +c_compiler_version: +- '16' +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +fftw: +- '3' +macos_machine: +- arm64-apple-darwin20.0.0 +numpy: +- '1.23' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.11.* *_cpython +target_platform: +- osx-arm64 +zip_keys: +- - python + - numpy diff --git a/.ci_support/win_64_numpy1.21python3.10.____cpython.yaml b/.ci_support/win_64_numpy1.22python3.10.____cpython.yaml similarity index 96% rename from .ci_support/win_64_numpy1.21python3.10.____cpython.yaml rename to .ci_support/win_64_numpy1.22python3.10.____cpython.yaml index f779c60..99e3651 100644 --- a/.ci_support/win_64_numpy1.21python3.10.____cpython.yaml +++ b/.ci_support/win_64_numpy1.22python3.10.____cpython.yaml @@ -7,7 +7,7 @@ channel_targets: fftw: - '3' numpy: -- '1.21' +- '1.22' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/win_64_numpy1.20python3.9.____cpython.yaml b/.ci_support/win_64_numpy1.22python3.9.____cpython.yaml similarity index 96% rename from .ci_support/win_64_numpy1.20python3.9.____cpython.yaml rename to .ci_support/win_64_numpy1.22python3.9.____cpython.yaml index fcc09f5..456fc90 100644 --- a/.ci_support/win_64_numpy1.20python3.9.____cpython.yaml +++ b/.ci_support/win_64_numpy1.22python3.9.____cpython.yaml @@ -7,7 +7,7 @@ channel_targets: fftw: - '3' numpy: -- '1.20' +- '1.22' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/win_64_numpy1.23python3.11.____cpython.yaml b/.ci_support/win_64_numpy1.23python3.11.____cpython.yaml new file mode 100644 index 0000000..21e7779 --- /dev/null +++ b/.ci_support/win_64_numpy1.23python3.11.____cpython.yaml @@ -0,0 +1,21 @@ +c_compiler: +- vs2019 +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +fftw: +- '3' +numpy: +- '1.23' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.11.* *_cpython +target_platform: +- win-64 +zip_keys: +- - python + - numpy diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 054c000..b92838e 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -28,14 +28,15 @@ conda-build: pkgs_dirs: - ${FEEDSTOCK_ROOT}/build_artifacts/pkg_cache - /opt/conda/pkgs +solver: libmamba CONDARC +export CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1 - -mamba install --update-specs --yes --quiet --channel conda-forge \ - 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 +mamba install --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \ + pip mamba conda-build boa conda-forge-ci-setup=4 +mamba update --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \ + pip mamba conda-build boa conda-forge-ci-setup=4 # set up the condarc setup_conda_rc "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" @@ -64,6 +65,12 @@ if [[ -f "${FEEDSTOCK_ROOT}/LICENSE.txt" ]]; then cp "${FEEDSTOCK_ROOT}/LICENSE.txt" "${RECIPE_ROOT}/recipe-scripts-license.txt" fi +if [[ "${sha:-}" == "" ]]; then + pushd ${FEEDSTOCK_ROOT} + sha=$(git rev-parse HEAD) + popd +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}" @@ -77,7 +84,8 @@ if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then else conda mambabuild "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ --suppress-variables ${EXTRA_CB_OPTIONS:-} \ - --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" + --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" \ + --extra-meta flow_run_id="${flow_run_id:-}" remote_url="${remote_url:-}" sha="${sha:-}" ( startgroup "Validating outputs" ) 2> /dev/null validate_recipe_outputs "${FEEDSTOCK_NAME}" diff --git a/.scripts/logging_utils.sh b/.scripts/logging_utils.sh index 57bc95c..aff009f 100644 --- a/.scripts/logging_utils.sh +++ b/.scripts/logging_utils.sh @@ -12,7 +12,7 @@ function startgroup { echo "##[group]$1";; travis ) echo "$1" - echo -en 'travis_fold:start:'"${1// /}"'\\r';; + echo -en 'travis_fold:start:'"${1// /}"'\r';; github_actions ) echo "::group::$1";; * ) @@ -28,7 +28,7 @@ function endgroup { azure ) echo "##[endgroup]";; travis ) - echo -en 'travis_fold:end:'"${1// /}"'\\r';; + echo -en 'travis_fold:end:'"${1// /}"'\r';; github_actions ) echo "::endgroup::";; esac diff --git a/.scripts/run_docker_build.sh b/.scripts/run_docker_build.sh index 9236239..b70ef01 100755 --- a/.scripts/run_docker_build.sh +++ b/.scripts/run_docker_build.sh @@ -91,6 +91,9 @@ docker run ${DOCKER_RUN_ARGS} \ -e CPU_COUNT \ -e BUILD_WITH_CONDA_DEBUG \ -e BUILD_OUTPUT_ID \ + -e flow_run_id \ + -e remote_url \ + -e sha \ -e BINSTAR_TOKEN \ -e FEEDSTOCK_TOKEN \ -e STAGING_BINSTAR_TOKEN \ diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index bb00584..9259eb9 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -22,11 +22,13 @@ bash $MINIFORGE_FILE -b -p ${MINIFORGE_HOME} source ${MINIFORGE_HOME}/etc/profile.d/conda.sh conda activate base +export CONDA_SOLVER="libmamba" +export CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1 -mamba install --update-specs --quiet --yes --channel conda-forge \ - 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 +mamba install --update-specs --quiet --yes --channel conda-forge --strict-channel-priority \ + pip mamba conda-build boa conda-forge-ci-setup=4 +mamba update --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \ + pip mamba conda-build boa conda-forge-ci-setup=4 @@ -45,6 +47,10 @@ else echo -e "\n\nNot mangling homebrew as we are not running in CI" fi +if [[ "${sha:-}" == "" ]]; then + sha=$(git rev-parse HEAD) +fi + echo -e "\n\nRunning the build setup script." source run_conda_forge_build_setup @@ -55,11 +61,6 @@ source run_conda_forge_build_setup echo -e "\n\nMaking the build clobber file" make_build_number ./ ./recipe ./.ci_support/${CONFIG}.yaml -if [[ "${HOST_PLATFORM}" != "${BUILD_PLATFORM}" ]]; then - EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --no-test" -fi - - if [[ -f LICENSE.txt ]]; then cp LICENSE.txt "recipe/recipe-scripts-license.txt" fi @@ -75,9 +76,15 @@ if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then # Drop into an interactive shell /bin/bash else + + if [[ "${HOST_PLATFORM}" != "${BUILD_PLATFORM}" ]]; then + EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --no-test" + fi + conda mambabuild ./recipe -m ./.ci_support/${CONFIG}.yaml \ --suppress-variables ${EXTRA_CB_OPTIONS:-} \ - --clobber-file ./.ci_support/clobber_${CONFIG}.yaml + --clobber-file ./.ci_support/clobber_${CONFIG}.yaml \ + --extra-meta flow_run_id="$flow_run_id" remote_url="$remote_url" sha="$sha" ( startgroup "Validating outputs" ) 2> /dev/null validate_recipe_outputs "${FEEDSTOCK_NAME}" diff --git a/.scripts/run_win_build.bat b/.scripts/run_win_build.bat new file mode 100755 index 0000000..48734de --- /dev/null +++ b/.scripts/run_win_build.bat @@ -0,0 +1,125 @@ +:: PLEASE NOTE: This script has been automatically generated by conda-smithy. Any changes here +:: will be lost next time ``conda smithy rerender`` is run. If you would like to make permanent +:: changes to this script, consider a proposal to conda-smithy so that other feedstocks can also +:: benefit from the improvement. + +:: Note: we assume a Miniforge installation is available + +:: INPUTS (required environment variables) +:: CONFIG: name of the .ci_support/*.yaml file for this job +:: CI: azure, github_actions, or unset +:: UPLOAD_PACKAGES: true or false +:: UPLOAD_ON_BRANCH: true or false + +setlocal enableextensions enabledelayedexpansion + +call :start_group "Configuring conda" + +:: Activate the base conda environment +call activate base +:: Configure the solver +set "CONDA_SOLVER=libmamba" +if !errorlevel! neq 0 exit /b !errorlevel! +set "CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1" + +:: Provision the necessary dependencies to build the recipe later +echo Installing dependencies +mamba.exe install "python=3.10" pip mamba conda-build boa conda-forge-ci-setup=4 -c conda-forge --strict-channel-priority --yes +if !errorlevel! neq 0 exit /b !errorlevel! + +:: Set basic configuration +echo Setting up configuration +setup_conda_rc .\ ".\recipe" .\.ci_support\%CONFIG%.yaml +if !errorlevel! neq 0 exit /b !errorlevel! +echo Running build setup +CALL run_conda_forge_build_setup + + +if !errorlevel! neq 0 exit /b !errorlevel! + +if EXIST LICENSE.txt ( + echo Copying feedstock license + copy LICENSE.txt "recipe\\recipe-scripts-license.txt" +) +if NOT [%HOST_PLATFORM%] == [%BUILD_PLATFORM%] ( + if [%CROSSCOMPILING_EMULATOR%] == [] ( + set "EXTRA_CB_OPTIONS=%EXTRA_CB_OPTIONS% --no-test" + ) +) + +if NOT [%flow_run_id%] == [] ( + set "EXTRA_CB_OPTIONS=%EXTRA_CB_OPTIONS% --extra-meta flow_run_id=%flow_run_id% remote_url=%remote_url% sha=%sha%" +) + +call :end_group + +:: Build the recipe +echo Building recipe +conda.exe mambabuild "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables %EXTRA_CB_OPTIONS% +if !errorlevel! neq 0 exit /b !errorlevel! + +:: Prepare some environment variables for the upload step +if /i "%CI%" == "github_actions" ( + set "FEEDSTOCK_NAME=%GITHUB_REPOSITORY:*/=%" + set "GIT_BRANCH=%GITHUB_REF:refs/heads/=%" + if /i "%GITHUB_EVENT_NAME%" == "pull_request" ( + set "IS_PR_BUILD=True" + ) else ( + set "IS_PR_BUILD=False" + ) + set "TEMP=%RUNNER_TEMP%" +) +if /i "%CI%" == "azure" ( + set "FEEDSTOCK_NAME=%BUILD_REPOSITORY_NAME:*/=%" + set "GIT_BRANCH=%BUILD_SOURCEBRANCHNAME%" + if /i "%BUILD_REASON%" == "PullRequest" ( + set "IS_PR_BUILD=True" + ) else ( + set "IS_PR_BUILD=False" + ) + set "TEMP=%UPLOAD_TEMP%" +) + +:: Validate +call :start_group "Validating outputs" +validate_recipe_outputs "%FEEDSTOCK_NAME%" +if !errorlevel! neq 0 exit /b !errorlevel! +call :end_group + +if /i "%UPLOAD_PACKAGES%" == "true" ( + if /i "%IS_PR_BUILD%" == "false" ( + call :start_group "Uploading packages" + if not exist "%TEMP%\" md "%TEMP%" + set "TMP=%TEMP%" + upload_package --validate --feedstock-name="%FEEDSTOCK_NAME%" .\ ".\recipe" .ci_support\%CONFIG%.yaml + if !errorlevel! neq 0 exit /b !errorlevel! + call :end_group + ) +) + +exit + +:: Logging subroutines + +:start_group +if /i "%CI%" == "github_actions" ( + echo ::group::%~1 + exit /b +) +if /i "%CI%" == "azure" ( + echo ##[group]%~1 + exit /b +) +echo %~1 +exit /b + +:end_group +if /i "%CI%" == "github_actions" ( + echo ::endgroup:: + exit /b +) +if /i "%CI%" == "azure" ( + echo ##[endgroup] + exit /b +) +exit /b \ No newline at end of file diff --git a/README.md b/README.md index af420fe..657d5b9 100644 --- a/README.md +++ b/README.md @@ -35,80 +35,108 @@ Current build status - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + @@ -192,7 +220,7 @@ available continuous integration services. Thanks to the awesome service provide [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/) +[conda-forge](https://anaconda.org/conda-forge) [anaconda.org](https://anaconda.org/) channel for Linux, Windows and OSX respectively. To manage the continuous integration and simplify feedstock maintenance From 4efc1f335dee80ed0a3aa8ee7b0af9b87698ef9f Mon Sep 17 00:00:00 2001 From: Calum Chamberlain Date: Tue, 12 Dec 2023 13:26:55 +1300 Subject: [PATCH 3/5] Remove scipy pinning --- recipe/meta.yaml | 2 +- recipe/run_test.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 536585d..8cb1e32 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -38,7 +38,7 @@ requirements: - future - {{ pin_compatible('numpy') }} - fftw - - scipy <1.9.0 + - scipy - matplotlib-base - obspy - bottleneck diff --git a/recipe/run_test.py b/recipe/run_test.py index 294c71f..9729f3f 100644 --- a/recipe/run_test.py +++ b/recipe/run_test.py @@ -107,7 +107,7 @@ def check_c_locations(): # Load the cdll cdll = libnames._load_cdll("libutils") - + def test_obspy_resample(): """ Check that obspy resample works - scipy hanning to hann name change. """ tr = Trace(np.random.randn(360000)) From 554962736f0d2b55453b36d0857873862dc36f19 Mon Sep 17 00:00:00 2001 From: Calum Chamberlain Date: Tue, 12 Dec 2023 13:33:29 +1300 Subject: [PATCH 4/5] Properly remove fftw test --- recipe/run_test.py | 1 - 1 file changed, 1 deletion(-) diff --git a/recipe/run_test.py b/recipe/run_test.py index 9729f3f..9ba250d 100644 --- a/recipe/run_test.py +++ b/recipe/run_test.py @@ -120,5 +120,4 @@ def test_obspy_resample(): """ check_c_locations() test_multi_channel_xcorr() - test_pyfftw_resample() test_obspy_resample() From a2bdb7283a0441bd29da3ed5fd29f0dc7b2934b3 Mon Sep 17 00:00:00 2001 From: Calum Chamberlain Date: Tue, 12 Dec 2023 14:36:23 +1300 Subject: [PATCH 5/5] Use pypi release --- recipe/meta.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 8cb1e32..1ed1ff5 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,17 +1,17 @@ {% set name = "EQcorrscan" %} {% set version = "0.5.0" %} -{% set sha256 = "70cdebade97d6ddd05dbd347f7bebced66e8163dd8817259bf080302c2e1c69d" %} +{% set sha256 = "bf36e0d6eccb5257bfceeaa8c40b744d8519978e49330835d73d5fd5fbed73c3" %} package: name: {{ name|lower }} version: {{ version }} source: - # fn: {{ name }}-{{ version }}.tar.gz - # url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - # sha256: {{ sha256 }} - fn: 0.5.0rc0.tar.gz - url: https://github.com/eqcorrscan/EQcorrscan/archive/0.5.0rc0.tar.gz + fn: {{ name }}-{{ version }}.tar.gz + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz + sha256: {{ sha256 }} +# fn: 0.5.0rc0.tar.gz +# url: https://github.com/eqcorrscan/EQcorrscan/archive/0.5.0rc0.tar.gz build: skip: true # [win and py==38]
VariantStatus
linux_64_numpy1.20python3.8.____cpythonlinux_64_numpy1.22python3.10.____cpython - variant + variant
linux_64_numpy1.20python3.9.____cpythonlinux_64_numpy1.22python3.8.____cpython - variant + variant
linux_64_numpy1.21python3.10.____cpythonlinux_64_numpy1.22python3.9.____cpython - variant + variant
osx_64_numpy1.20python3.8.____cpythonlinux_64_numpy1.23python3.11.____cpython - variant + variant
osx_64_numpy1.20python3.9.____cpythonosx_64_numpy1.22python3.10.____cpython - variant + variant
osx_64_numpy1.21python3.10.____cpythonosx_64_numpy1.22python3.8.____cpython - variant + variant
osx_arm64_numpy1.20python3.8.____cpythonosx_64_numpy1.22python3.9.____cpython - variant + variant
osx_arm64_numpy1.20python3.9.____cpythonosx_64_numpy1.23python3.11.____cpython - variant + variant
osx_arm64_numpy1.21python3.10.____cpythonosx_arm64_numpy1.22python3.10.____cpython - variant + variant
win_64_numpy1.20python3.9.____cpythonosx_arm64_numpy1.22python3.8.____cpython - variant + variant
win_64_numpy1.21python3.10.____cpythonosx_arm64_numpy1.22python3.9.____cpython - variant + variant + +
osx_arm64_numpy1.23python3.11.____cpython + + variant + +
win_64_numpy1.22python3.10.____cpython + + variant + +
win_64_numpy1.22python3.9.____cpython + + variant + +
win_64_numpy1.23python3.11.____cpython + + variant