From 51356cfa0f5970f35a2d8d1d65693e16c1274f7d Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Tue, 1 Nov 2022 22:05:54 +0000 Subject: [PATCH 1/2] Rebuild for python311 --- .ci_support/migrations/python311.yaml | 37 +++++++++++++++++++++++++++ recipe/meta.yaml | 2 +- 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 .ci_support/migrations/python311.yaml diff --git a/.ci_support/migrations/python311.yaml b/.ci_support/migrations/python311.yaml new file mode 100644 index 0000000..2715ab2 --- /dev/null +++ b/.ci_support/migrations/python311.yaml @@ -0,0 +1,37 @@ +migrator_ts: 1666686085 +__migrator: + migration_number: 1 + operation: key_add + primary_key: python + ordering: + python: + - 3.6.* *_cpython + - 3.7.* *_cpython + - 3.8.* *_cpython + - 3.9.* *_cpython + - 3.10.* *_cpython + - 3.11.* *_cpython # new entry + - 3.6.* *_73_pypy + - 3.7.* *_73_pypy + - 3.8.* *_73_pypy + - 3.9.* *_73_pypy + paused: false + longterm: True + pr_limit: 30 + max_solver_attempts: 10 # this will make the bot retry "not solvable" stuff 10 times + exclude: + # this shouldn't attempt to modify the python feedstocks + - python + - pypy3.6 + - pypy-meta + - cross-python + - python_abi + exclude_pinned_pkgs: false + +python: + - 3.11.* *_cpython +# additional entries to add for zip_keys +numpy: + - 1.23 +python_impl: + - cpython diff --git a/recipe/meta.yaml b/recipe/meta.yaml index f94ab99..e4d3e77 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -10,7 +10,7 @@ source: sha256: 00e1271e66e5f82ff846e054a61f78e22e04589253b7705813ea8a624642a402 build: - number: 5 + number: 6 script: "{{ PYTHON }} -m pip install . -vv" requirements: From b9580fd33227a6e67fd19273ef5889c24780bb7f Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Tue, 1 Nov 2022 22:06:08 +0000 Subject: [PATCH 2/2] MNT: Re-rendered with conda-build 3.22.0, conda-smithy 3.21.3, and conda-forge-pinning 2022.11.01.21.11.09 --- .azure-pipelines/azure-pipelines-linux.yml | 22 ++-- .azure-pipelines/azure-pipelines-osx.yml | 16 +-- .azure-pipelines/azure-pipelines-win.yml | 86 +++++-------- .ci_support/README | 7 +- ...ux_64_numpy1.20python3.8.____cpython.yaml} | 8 +- ...ux_64_numpy1.20python3.9.____cpython.yaml} | 8 +- ...ux_64_numpy1.21python3.10.____cpython.yaml | 6 +- ...x_64_numpy1.23python3.11.____cpython.yaml} | 10 +- .ci_support/migrations/python310.yaml | 33 ----- ...sx_64_numpy1.20python3.8.____cpython.yaml} | 4 +- ...sx_64_numpy1.20python3.9.____cpython.yaml} | 4 +- ...sx_64_numpy1.21python3.10.____cpython.yaml | 2 +- ...x_64_numpy1.23python3.11.____cpython.yaml} | 6 +- ...in_64_numpy1.20python3.8.____cpython.yaml} | 4 +- ...in_64_numpy1.20python3.9.____cpython.yaml} | 4 +- ...in_64_numpy1.21python3.10.____cpython.yaml | 2 +- ...n_64_numpy1.23python3.11.____cpython.yaml} | 6 +- .circleci/config.yml | 5 +- .gitattributes | 1 + .github/workflows/automerge.yml | 2 +- .scripts/build_steps.sh | 21 +++- .scripts/run_docker_build.sh | 2 +- .scripts/run_osx_build.sh | 51 +++++--- LICENSE.txt | 32 +++-- README.md | 117 +++++++++++------- build-locally.py | 30 +++-- 26 files changed, 251 insertions(+), 238 deletions(-) rename .ci_support/{linux_64_numpy1.18python3.8.____cpython.yaml => linux_64_numpy1.20python3.8.____cpython.yaml} (77%) rename .ci_support/{linux_64_numpy1.19python3.9.____cpython.yaml => linux_64_numpy1.20python3.9.____cpython.yaml} (77%) rename .ci_support/{linux_64_numpy1.18python3.7.____cpython.yaml => linux_64_numpy1.23python3.11.____cpython.yaml} (73%) delete mode 100644 .ci_support/migrations/python310.yaml rename .ci_support/{osx_64_numpy1.18python3.8.____cpython.yaml => osx_64_numpy1.20python3.8.____cpython.yaml} (95%) rename .ci_support/{osx_64_numpy1.19python3.9.____cpython.yaml => osx_64_numpy1.20python3.9.____cpython.yaml} (95%) rename .ci_support/{osx_64_numpy1.18python3.7.____cpython.yaml => osx_64_numpy1.23python3.11.____cpython.yaml} (90%) rename .ci_support/{win_64_numpy1.18python3.8.____cpython.yaml => win_64_numpy1.20python3.8.____cpython.yaml} (92%) rename .ci_support/{win_64_numpy1.19python3.9.____cpython.yaml => win_64_numpy1.20python3.9.____cpython.yaml} (92%) rename .ci_support/{win_64_numpy1.18python3.7.____cpython.yaml => win_64_numpy1.23python3.11.____cpython.yaml} (85%) diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index 7177637..7dc566e 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -8,22 +8,22 @@ jobs: vmImage: ubuntu-latest strategy: matrix: - linux_64_numpy1.18python3.7.____cpython: - CONFIG: linux_64_numpy1.18python3.7.____cpython + linux_64_numpy1.20python3.8.____cpython: + CONFIG: linux_64_numpy1.20python3.8.____cpython UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-comp7 - linux_64_numpy1.18python3.8.____cpython: - CONFIG: linux_64_numpy1.18python3.8.____cpython + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + linux_64_numpy1.20python3.9.____cpython: + CONFIG: linux_64_numpy1.20python3.9.____cpython UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-comp7 - linux_64_numpy1.19python3.9.____cpython: - CONFIG: linux_64_numpy1.19python3.9.____cpython - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-comp7 + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 linux_64_numpy1.21python3.10.____cpython: CONFIG: linux_64_numpy1.21python3.10.____cpython UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-comp7 + 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: diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index 7d1f525..59db525 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -5,21 +5,21 @@ jobs: - job: osx pool: - vmImage: macOS-10.15 + vmImage: macOS-11 strategy: matrix: - osx_64_numpy1.18python3.7.____cpython: - CONFIG: osx_64_numpy1.18python3.7.____cpython + osx_64_numpy1.20python3.8.____cpython: + CONFIG: osx_64_numpy1.20python3.8.____cpython UPLOAD_PACKAGES: 'True' - osx_64_numpy1.18python3.8.____cpython: - CONFIG: osx_64_numpy1.18python3.8.____cpython - UPLOAD_PACKAGES: 'True' - osx_64_numpy1.19python3.9.____cpython: - CONFIG: osx_64_numpy1.19python3.9.____cpython + osx_64_numpy1.20python3.9.____cpython: + CONFIG: osx_64_numpy1.20python3.9.____cpython UPLOAD_PACKAGES: 'True' osx_64_numpy1.21python3.10.____cpython: CONFIG: osx_64_numpy1.21python3.10.____cpython UPLOAD_PACKAGES: 'True' + osx_64_numpy1.23python3.11.____cpython: + CONFIG: osx_64_numpy1.23python3.11.____cpython + UPLOAD_PACKAGES: 'True' timeoutInMinutes: 360 steps: diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index 7396461..5c2447e 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -5,66 +5,47 @@ jobs: - job: win pool: - vmImage: vs2017-win2016 + vmImage: windows-2019 strategy: matrix: - win_64_numpy1.18python3.7.____cpython: - CONFIG: win_64_numpy1.18python3.7.____cpython + win_64_numpy1.20python3.8.____cpython: + CONFIG: win_64_numpy1.20python3.8.____cpython UPLOAD_PACKAGES: 'True' - win_64_numpy1.18python3.8.____cpython: - CONFIG: win_64_numpy1.18python3.8.____cpython - UPLOAD_PACKAGES: 'True' - win_64_numpy1.19python3.9.____cpython: - CONFIG: win_64_numpy1.19python3.9.____cpython + win_64_numpy1.20python3.9.____cpython: + CONFIG: win_64_numpy1.20python3.9.____cpython UPLOAD_PACKAGES: 'True' win_64_numpy1.21python3.10.____cpython: CONFIG: win_64_numpy1.21python3.10.____cpython UPLOAD_PACKAGES: 'True' + win_64_numpy1.23python3.11.____cpython: + CONFIG: win_64_numpy1.23python3.11.____cpython + UPLOAD_PACKAGES: 'True' timeoutInMinutes: 360 variables: CONDA_BLD_PATH: D:\\bld\\ steps: - - script: | - choco install vcpython27 -fdv -y --debug - condition: contains(variables['CONFIG'], 'vs2008') - displayName: Install vcpython27.msi (if needed) - - # Cygwin's git breaks conda-build. (See https://github.com/conda-forge/conda-smithy-feedstock/pull/2.) - # - script: rmdir C:\cygwin /s /q - # continueOnError: true - - - powershell: | - Set-PSDebug -Trace 1 - - $batchcontent = @" - ECHO ON - SET vcpython=C:\Program Files (x86)\Common Files\Microsoft\Visual C++ for Python\9.0 - - DIR "%vcpython%" - - CALL "%vcpython%\vcvarsall.bat" %* - "@ - - $batchDir = "C:\Program Files (x86)\Common Files\Microsoft\Visual C++ for Python\9.0\VC" - $batchPath = "$batchDir" + "\vcvarsall.bat" - New-Item -Path $batchPath -ItemType "file" -Force - - Set-Content -Value $batchcontent -Path $batchPath - - Get-ChildItem -Path $batchDir + - task: PythonScript@0 + displayName: 'Download Miniforge' + inputs: + scriptSource: inline + script: | + import urllib.request + url = 'https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-Windows-x86_64.exe' + path = r"$(Build.ArtifactStagingDirectory)/Miniforge.exe" + urllib.request.urlretrieve(url, path) - Get-ChildItem -Path ($batchDir + '\..') + - script: | + start /wait "" %BUILD_ARTIFACTSTAGINGDIRECTORY%\Miniforge.exe /InstallationType=JustMe /RegisterPython=0 /S /D=C:\Miniforge + displayName: Install Miniforge - condition: contains(variables['CONFIG'], 'vs2008') - displayName: Patch vs2008 (if needed) + - powershell: Write-Host "##vso[task.prependpath]C:\Miniforge\Scripts" + displayName: Add conda to PATH - - task: CondaEnvironment@1 - inputs: - packageSpecs: 'python=3.9 conda-build conda "conda-forge-ci-setup=3" pip boa' # Optional - installOptions: "-c conda-forge" - updateConda: true - displayName: Install conda-build and activate environment + - script: | + call activate base + mamba.exe install "python=3.9" conda-build conda pip boa conda-forge-ci-setup=3 "py-lief<0.12" -c conda-forge --strict-channel-priority --yes + displayName: Install conda-build - script: set PYTHONUNBUFFERED=1 displayName: Set PYTHONUNBUFFERED @@ -81,25 +62,16 @@ jobs: call activate base run_conda_forge_build_setup displayName: conda-forge build setup - - - # Special cased version setting some more things! - - script: | - call activate base - conda.exe build "recipe" -m .ci_support\%CONFIG%.yaml - displayName: Build recipe (vs2008) - env: - VS90COMNTOOLS: "C:\\Program Files (x86)\\Common Files\\Microsoft\\Visual C++ for Python\\9.0\\VC\\bin" - PYTHONUNBUFFERED: 1 - condition: contains(variables['CONFIG'], 'vs2008') - 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 env: PYTHONUNBUFFERED: 1 - condition: not(contains(variables['CONFIG'], 'vs2008')) - script: | set "FEEDSTOCK_NAME=%BUILD_REPOSITORY_NAME:*/=%" call activate base diff --git a/.ci_support/README b/.ci_support/README index e4e2dce..a47316b 100644 --- a/.ci_support/README +++ b/.ci_support/README @@ -1 +1,6 @@ -This file is automatically generated by conda-smithy. To change any matrix elements, you should change conda-smithy's input conda_build_config.yaml and re-render the recipe, rather than editing these files directly. \ No newline at end of file +This file is automatically generated by conda-smithy. If any +particular build configuration is expected, but it is not found, +please make sure all dependencies are satisfiable. To add/modify any +matrix elements, you should create/change conda-smithy's input +recipe/conda_build_config.yaml and re-render the recipe, rather than +editing these files directly. diff --git a/.ci_support/linux_64_numpy1.18python3.8.____cpython.yaml b/.ci_support/linux_64_numpy1.20python3.8.____cpython.yaml similarity index 77% rename from .ci_support/linux_64_numpy1.18python3.8.____cpython.yaml rename to .ci_support/linux_64_numpy1.20python3.8.____cpython.yaml index 60a2354..a8f7dd3 100644 --- a/.ci_support/linux_64_numpy1.18python3.8.____cpython.yaml +++ b/.ci_support/linux_64_numpy1.20python3.8.____cpython.yaml @@ -7,11 +7,11 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '9' +- '10' docker_image: -- quay.io/condaforge/linux-anvil-comp7 +- quay.io/condaforge/linux-anvil-cos7-x86_64 numpy: -- '1.18' +- '1.20' pin_run_as_build: python: min_pin: x.x @@ -21,7 +21,5 @@ python: target_platform: - linux-64 zip_keys: -- - cdt_name - - docker_image - - python - numpy diff --git a/.ci_support/linux_64_numpy1.19python3.9.____cpython.yaml b/.ci_support/linux_64_numpy1.20python3.9.____cpython.yaml similarity index 77% rename from .ci_support/linux_64_numpy1.19python3.9.____cpython.yaml rename to .ci_support/linux_64_numpy1.20python3.9.____cpython.yaml index 3b93a7a..fc8ce5c 100644 --- a/.ci_support/linux_64_numpy1.19python3.9.____cpython.yaml +++ b/.ci_support/linux_64_numpy1.20python3.9.____cpython.yaml @@ -7,11 +7,11 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '9' +- '10' docker_image: -- quay.io/condaforge/linux-anvil-comp7 +- quay.io/condaforge/linux-anvil-cos7-x86_64 numpy: -- '1.19' +- '1.20' pin_run_as_build: python: min_pin: x.x @@ -21,7 +21,5 @@ python: target_platform: - linux-64 zip_keys: -- - cdt_name - - docker_image - - python - numpy diff --git a/.ci_support/linux_64_numpy1.21python3.10.____cpython.yaml b/.ci_support/linux_64_numpy1.21python3.10.____cpython.yaml index 62902d3..ca2c850 100644 --- a/.ci_support/linux_64_numpy1.21python3.10.____cpython.yaml +++ b/.ci_support/linux_64_numpy1.21python3.10.____cpython.yaml @@ -7,9 +7,9 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '9' +- '10' docker_image: -- quay.io/condaforge/linux-anvil-comp7 +- quay.io/condaforge/linux-anvil-cos7-x86_64 numpy: - '1.21' pin_run_as_build: @@ -21,7 +21,5 @@ python: target_platform: - linux-64 zip_keys: -- - cdt_name - - docker_image - - python - numpy diff --git a/.ci_support/linux_64_numpy1.18python3.7.____cpython.yaml b/.ci_support/linux_64_numpy1.23python3.11.____cpython.yaml similarity index 73% rename from .ci_support/linux_64_numpy1.18python3.7.____cpython.yaml rename to .ci_support/linux_64_numpy1.23python3.11.____cpython.yaml index 788f8a3..d08e930 100644 --- a/.ci_support/linux_64_numpy1.18python3.7.____cpython.yaml +++ b/.ci_support/linux_64_numpy1.23python3.11.____cpython.yaml @@ -7,21 +7,19 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '9' +- '10' docker_image: -- quay.io/condaforge/linux-anvil-comp7 +- quay.io/condaforge/linux-anvil-cos7-x86_64 numpy: -- '1.18' +- '1.23' pin_run_as_build: python: min_pin: x.x max_pin: x.x python: -- 3.7.* *_cpython +- 3.11.* *_cpython target_platform: - linux-64 zip_keys: -- - cdt_name - - docker_image - - python - numpy diff --git a/.ci_support/migrations/python310.yaml b/.ci_support/migrations/python310.yaml deleted file mode 100644 index f61ae7a..0000000 --- a/.ci_support/migrations/python310.yaml +++ /dev/null @@ -1,33 +0,0 @@ -migrator_ts: 1634137107 -__migrator: - migration_number: 1 - operation: key_add - primary_key: python - ordering: - python: - - 3.6.* *_cpython - - 3.7.* *_cpython - - 3.8.* *_cpython - - 3.9.* *_cpython - - 3.10.* *_cpython # new entry - - 3.6.* *_73_pypy - - 3.7.* *_73_pypy - paused: false - longterm: True - pr_limit: 40 - exclude: - # this shouldn't attempt to modify the python feedstocks - - python - - pypy3.6 - - pypy-meta - - cross-python - - python_abi - exclude_pinned_pkgs: false - -python: - - 3.10.* *_cpython -# additional entries to add for zip_keys -numpy: - - 1.21 -python_impl: - - cpython diff --git a/.ci_support/osx_64_numpy1.18python3.8.____cpython.yaml b/.ci_support/osx_64_numpy1.20python3.8.____cpython.yaml similarity index 95% rename from .ci_support/osx_64_numpy1.18python3.8.____cpython.yaml rename to .ci_support/osx_64_numpy1.20python3.8.____cpython.yaml index 5390ad5..d3fcaf0 100644 --- a/.ci_support/osx_64_numpy1.18python3.8.____cpython.yaml +++ b/.ci_support/osx_64_numpy1.20python3.8.____cpython.yaml @@ -7,11 +7,11 @@ channel_targets: cxx_compiler: - clangxx cxx_compiler_version: -- '11' +- '14' macos_machine: - x86_64-apple-darwin13.4.0 numpy: -- '1.18' +- '1.20' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/osx_64_numpy1.19python3.9.____cpython.yaml b/.ci_support/osx_64_numpy1.20python3.9.____cpython.yaml similarity index 95% rename from .ci_support/osx_64_numpy1.19python3.9.____cpython.yaml rename to .ci_support/osx_64_numpy1.20python3.9.____cpython.yaml index bc8589f..7ebdf55 100644 --- a/.ci_support/osx_64_numpy1.19python3.9.____cpython.yaml +++ b/.ci_support/osx_64_numpy1.20python3.9.____cpython.yaml @@ -7,11 +7,11 @@ channel_targets: cxx_compiler: - clangxx cxx_compiler_version: -- '11' +- '14' macos_machine: - x86_64-apple-darwin13.4.0 numpy: -- '1.19' +- '1.20' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/osx_64_numpy1.21python3.10.____cpython.yaml b/.ci_support/osx_64_numpy1.21python3.10.____cpython.yaml index e44b69b..c02f84f 100644 --- a/.ci_support/osx_64_numpy1.21python3.10.____cpython.yaml +++ b/.ci_support/osx_64_numpy1.21python3.10.____cpython.yaml @@ -7,7 +7,7 @@ channel_targets: cxx_compiler: - clangxx cxx_compiler_version: -- '11' +- '14' macos_machine: - x86_64-apple-darwin13.4.0 numpy: diff --git a/.ci_support/osx_64_numpy1.18python3.7.____cpython.yaml b/.ci_support/osx_64_numpy1.23python3.11.____cpython.yaml similarity index 90% rename from .ci_support/osx_64_numpy1.18python3.7.____cpython.yaml rename to .ci_support/osx_64_numpy1.23python3.11.____cpython.yaml index 5757c36..05bf0fb 100644 --- a/.ci_support/osx_64_numpy1.18python3.7.____cpython.yaml +++ b/.ci_support/osx_64_numpy1.23python3.11.____cpython.yaml @@ -7,17 +7,17 @@ channel_targets: cxx_compiler: - clangxx cxx_compiler_version: -- '11' +- '14' macos_machine: - x86_64-apple-darwin13.4.0 numpy: -- '1.18' +- '1.23' pin_run_as_build: python: min_pin: x.x max_pin: x.x python: -- 3.7.* *_cpython +- 3.11.* *_cpython target_platform: - osx-64 zip_keys: diff --git a/.ci_support/win_64_numpy1.18python3.8.____cpython.yaml b/.ci_support/win_64_numpy1.20python3.8.____cpython.yaml similarity index 92% rename from .ci_support/win_64_numpy1.18python3.8.____cpython.yaml rename to .ci_support/win_64_numpy1.20python3.8.____cpython.yaml index d240196..940ed34 100644 --- a/.ci_support/win_64_numpy1.18python3.8.____cpython.yaml +++ b/.ci_support/win_64_numpy1.20python3.8.____cpython.yaml @@ -3,9 +3,9 @@ channel_sources: channel_targets: - conda-forge main cxx_compiler: -- vs2017 +- vs2019 numpy: -- '1.18' +- '1.20' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/win_64_numpy1.19python3.9.____cpython.yaml b/.ci_support/win_64_numpy1.20python3.9.____cpython.yaml similarity index 92% rename from .ci_support/win_64_numpy1.19python3.9.____cpython.yaml rename to .ci_support/win_64_numpy1.20python3.9.____cpython.yaml index 78d5fee..25e8447 100644 --- a/.ci_support/win_64_numpy1.19python3.9.____cpython.yaml +++ b/.ci_support/win_64_numpy1.20python3.9.____cpython.yaml @@ -3,9 +3,9 @@ channel_sources: channel_targets: - conda-forge main cxx_compiler: -- vs2017 +- vs2019 numpy: -- '1.19' +- '1.20' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/win_64_numpy1.21python3.10.____cpython.yaml b/.ci_support/win_64_numpy1.21python3.10.____cpython.yaml index 7f546f9..f80e2cc 100644 --- a/.ci_support/win_64_numpy1.21python3.10.____cpython.yaml +++ b/.ci_support/win_64_numpy1.21python3.10.____cpython.yaml @@ -3,7 +3,7 @@ channel_sources: channel_targets: - conda-forge main cxx_compiler: -- vs2017 +- vs2019 numpy: - '1.21' pin_run_as_build: diff --git a/.ci_support/win_64_numpy1.18python3.7.____cpython.yaml b/.ci_support/win_64_numpy1.23python3.11.____cpython.yaml similarity index 85% rename from .ci_support/win_64_numpy1.18python3.7.____cpython.yaml rename to .ci_support/win_64_numpy1.23python3.11.____cpython.yaml index 29e9440..caea98b 100644 --- a/.ci_support/win_64_numpy1.18python3.7.____cpython.yaml +++ b/.ci_support/win_64_numpy1.23python3.11.____cpython.yaml @@ -3,15 +3,15 @@ channel_sources: channel_targets: - conda-forge main cxx_compiler: -- vs2017 +- vs2019 numpy: -- '1.18' +- '1.23' pin_run_as_build: python: min_pin: x.x max_pin: x.x python: -- 3.7.* *_cpython +- 3.11.* *_cpython target_platform: - win-64 zip_keys: diff --git a/.circleci/config.yml b/.circleci/config.yml index 6ad461b..8b4ef2f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,13 +1,14 @@ # This file was generated automatically from conda-smithy. To update this configuration, # update the conda-forge.yml and/or the recipe/meta.yaml. -# -*- mode: yaml -*- +# -*- mode: jinja-yaml -*- 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/.gitattributes b/.gitattributes index ce52713..7f32763 100644 --- a/.gitattributes +++ b/.gitattributes @@ -9,6 +9,7 @@ bld.bat text eol=crlf # github helper pieces to make some files not show up in diffs automatically .azure-pipelines/* linguist-generated=true .circleci/* linguist-generated=true +.ci_support/README linguist-generated=true .drone/* linguist-generated=true .drone.yml linguist-generated=true .github/* linguist-generated=true diff --git a/.github/workflows/automerge.yml b/.github/workflows/automerge.yml index 773b3d1..da1368a 100644 --- a/.github/workflows/automerge.yml +++ b/.github/workflows/automerge.yml @@ -10,7 +10,7 @@ jobs: name: automerge steps: - name: checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: automerge-action id: automerge-action uses: conda-forge/automerge-action@main diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index a85ae38..71a4242 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -5,6 +5,8 @@ # changes to this script, consider a proposal to conda-smithy so that other feedstocks can also # benefit from the improvement. +# -*- mode: jinja-shell -*- + set -xeuo pipefail export FEEDSTOCK_ROOT="${FEEDSTOCK_ROOT:-/home/conda/feedstock_root}" source ${FEEDSTOCK_ROOT}/.scripts/logging_utils.sh @@ -22,13 +24,18 @@ 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}" @@ -53,7 +64,7 @@ if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then # Drop into an interactive shell /bin/bash else - conda $BUILD_CMD "${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_docker_build.sh b/.scripts/run_docker_build.sh index 0c6515f..9236239 100755 --- a/.scripts/run_docker_build.sh +++ b/.scripts/run_docker_build.sh @@ -14,7 +14,7 @@ set -xeo pipefail THISDIR="$( cd "$( dirname "$0" )" >/dev/null && pwd )" PROVIDER_DIR="$(basename $THISDIR)" -FEEDSTOCK_ROOT=$(cd "$(dirname "$0")/.."; pwd;) +FEEDSTOCK_ROOT="$( cd "$( dirname "$0" )/.." >/dev/null && pwd )" RECIPE_ROOT="${FEEDSTOCK_ROOT}/recipe" if [ -z ${FEEDSTOCK_NAME} ]; then diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index d6de123..caa788e 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -1,5 +1,7 @@ #!/usr/bin/env bash +# -*- mode: jinja-shell -*- + source .scripts/logging_utils.sh set -xe @@ -9,7 +11,7 @@ MINIFORGE_HOME=${MINIFORGE_HOME:-${HOME}/miniforge3} ( startgroup "Installing a fresh version of Miniforge" ) 2> /dev/null MINIFORGE_URL="https://github.com/conda-forge/miniforge/releases/latest/download" -MINIFORGE_FILE="Miniforge3-MacOSX-$(uname -m).sh" +MINIFORGE_FILE="Mambaforge-MacOSX-$(uname -m).sh" curl -L -O "${MINIFORGE_URL}/${MINIFORGE_FILE}" rm -rf ${MINIFORGE_HOME} bash $MINIFORGE_FILE -b -p ${MINIFORGE_HOME} @@ -18,14 +20,13 @@ bash $MINIFORGE_FILE -b -p ${MINIFORGE_HOME} ( startgroup "Configuring conda" ) 2> /dev/null -GET_BOA=boa -BUILD_CMD=mambabuild - source ${MINIFORGE_HOME}/etc/profile.d/conda.sh conda activate base -echo -e "\n\nInstalling conda-forge-ci-setup=3 and conda-build." -conda install -n base --quiet --yes "conda-forge-ci-setup=3" conda-build pip ${GET_BOA:-} +mamba install --update-specs --quiet --yes --channel conda-forge \ + conda-build pip boa conda-forge-ci-setup=3 "py-lief<0.12" +mamba update --update-specs --yes --quiet --channel conda-forge \ + conda-build pip boa conda-forge-ci-setup=3 "py-lief<0.12" @@ -51,21 +52,39 @@ source run_conda_forge_build_setup ( endgroup "Configuring conda" ) 2> /dev/null - echo -e "\n\nMaking the build clobber file" make_build_number ./ ./recipe ./.ci_support/${CONFIG}.yaml -conda $BUILD_CMD ./recipe -m ./.ci_support/${CONFIG}.yaml --suppress-variables --clobber-file ./.ci_support/clobber_${CONFIG}.yaml ${EXTRA_CB_OPTIONS:-} -( startgroup "Validating outputs" ) 2> /dev/null -validate_recipe_outputs "${FEEDSTOCK_NAME}" +if [[ -f LICENSE.txt ]]; then + cp LICENSE.txt "recipe/recipe-scripts-license.txt" +fi -( endgroup "Validating outputs" ) 2> /dev/null +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}" + fi + conda debug ./recipe -m ./.ci_support/${CONFIG}.yaml \ + ${EXTRA_CB_OPTIONS:-} \ + --clobber-file ./.ci_support/clobber_${CONFIG}.yaml -( startgroup "Uploading packages" ) 2> /dev/null + # Drop into an interactive shell + /bin/bash +else + 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 -if [[ "${UPLOAD_PACKAGES}" != "False" ]] && [[ "${IS_PR_BUILD}" == "False" ]]; then - upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" ./ ./recipe ./.ci_support/${CONFIG}.yaml -fi + validate_recipe_outputs "${FEEDSTOCK_NAME}" + + ( endgroup "Validating outputs" ) 2> /dev/null + + ( startgroup "Uploading packages" ) 2> /dev/null + + if [[ "${UPLOAD_PACKAGES}" != "False" ]] && [[ "${IS_PR_BUILD}" == "False" ]]; then + upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" ./ ./recipe ./.ci_support/${CONFIG}.yaml + fi -( endgroup "Uploading packages" ) 2> /dev/null \ No newline at end of file + ( endgroup "Uploading packages" ) 2> /dev/null +fi \ No newline at end of file diff --git a/LICENSE.txt b/LICENSE.txt index ed3f451..2ec51d7 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,13 +1,27 @@ -BSD 3-clause license -Copyright (c) 2015-2021, conda-forge contributors +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 19b32fe..d2d9e95 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ Home: https://github.com/pypr/cyarray Package license: BSD-3-Clause -Feedstock license: [BSD-3-Clause](https://github.com/conda-forge/cyarray-feedstock/blob/master/LICENSE.txt) +Feedstock license: [BSD-3-Clause](https://github.com/conda-forge/cyarray-feedstock/blob/main/LICENSE.txt) Summary: A typed, re-sizable Cython array @@ -20,94 +20,94 @@ Current build status
- - + + - + - + - + - + - + - + - + - + - + - + - + - + @@ -135,18 +135,43 @@ conda config --add channels conda-forge conda config --set channel_priority strict ``` -Once the `conda-forge` channel has been enabled, `cyarray` can be installed with: +Once the `conda-forge` channel has been enabled, `cyarray` can be installed with `conda`: ``` conda install cyarray ``` -It is possible to list all of the versions of `cyarray` available on your platform with: +or with `mamba`: + +``` +mamba install cyarray +``` + +It is possible to list all of the versions of `cyarray` available on your platform with `conda`: ``` conda search cyarray --channel conda-forge ``` +or with `mamba`: + +``` +mamba search cyarray --channel conda-forge +``` + +Alternatively, `mamba repoquery` may provide more information: + +``` +# Search all versions available on your platform: +mamba repoquery search cyarray --channel conda-forge + +# List packages depending on `cyarray`: +mamba repoquery whoneeds cyarray --channel conda-forge + +# List dependencies of `cyarray`: +mamba repoquery depends cyarray --channel conda-forge +``` + About conda-forge ================= @@ -162,10 +187,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 8b74348..3f4b7a7 100755 --- a/build-locally.py +++ b/build-locally.py @@ -22,10 +22,6 @@ def setup_environment(ns): os.environ["MINIFORGE_HOME"] = os.path.join( os.path.dirname(__file__), "miniforge3" ) - if "OSX_SDK_DIR" not in os.environ: - os.environ["OSX_SDK_DIR"] = os.path.join( - os.path.dirname(__file__), "SDKs" - ) def run_docker_build(ns): @@ -65,11 +61,12 @@ def verify_config(ns): raise ValueError( f"only Linux/macOS configs currently supported, got {ns.config}" ) - elif ns.config.startswith("osx") and platform.system() == "Darwin": + elif ns.config.startswith("osx"): if "OSX_SDK_DIR" not in os.environ: raise RuntimeError( - "Need OSX_SDK_DIR env variable set. Run 'export OSX_SDK_DIR=/opt'" - "to download the SDK automatically to '/opt/MacOSX.sdk'" + "Need OSX_SDK_DIR env variable set. Run 'export OSX_SDK_DIR=SDKs' " + "to download the SDK automatically to 'SDKs/MacOSX.sdk'. " + "Setting this variable implies agreement to the licensing terms of the SDK by Apple." ) @@ -89,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__":
VariantStatus
linux_64_numpy1.18python3.7.____cpythonlinux_64_numpy1.20python3.8.____cpython - - variant + + variant
linux_64_numpy1.18python3.8.____cpythonlinux_64_numpy1.20python3.9.____cpython - - variant + + variant
linux_64_numpy1.19python3.9.____cpythonlinux_64_numpy1.21python3.10.____cpython - - variant + + variant
linux_64_numpy1.21python3.10.____cpythonlinux_64_numpy1.23python3.11.____cpython - - variant + + variant
osx_64_numpy1.18python3.7.____cpythonosx_64_numpy1.20python3.8.____cpython - - variant + + variant
osx_64_numpy1.18python3.8.____cpythonosx_64_numpy1.20python3.9.____cpython - - variant + + variant
osx_64_numpy1.19python3.9.____cpythonosx_64_numpy1.21python3.10.____cpython - - variant + + variant
osx_64_numpy1.21python3.10.____cpythonosx_64_numpy1.23python3.11.____cpython - - variant + + variant
win_64_numpy1.18python3.7.____cpythonwin_64_numpy1.20python3.8.____cpython - - variant + + variant
win_64_numpy1.18python3.8.____cpythonwin_64_numpy1.20python3.9.____cpython - - variant + + variant
win_64_numpy1.19python3.9.____cpythonwin_64_numpy1.21python3.10.____cpython - - variant + + variant
win_64_numpy1.21python3.10.____cpythonwin_64_numpy1.23python3.11.____cpython - - variant + + variant