diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index 8bc77aa..124ede5 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -6,27 +6,37 @@ jobs: - job: linux pool: vmImage: ubuntu-16.04 - timeoutInMinutes: 360 strategy: - maxParallel: 8 matrix: - linux_python3.6.____73_pypy: - CONFIG: linux_python3.6.____73_pypy - UPLOAD_PACKAGES: True + linux_64_python3.6.____73_pypy: + CONFIG: linux_64_python3.6.____73_pypy + UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: condaforge/linux-anvil-comp7 - linux_python3.6.____cpython: - CONFIG: linux_python3.6.____cpython - UPLOAD_PACKAGES: True + linux_64_python3.6.____cpython: + CONFIG: linux_64_python3.6.____cpython + UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: condaforge/linux-anvil-comp7 - linux_python3.7.____cpython: - CONFIG: linux_python3.7.____cpython - UPLOAD_PACKAGES: True + linux_64_python3.7.____cpython: + CONFIG: linux_64_python3.7.____cpython + UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: condaforge/linux-anvil-comp7 - linux_python3.8.____cpython: - CONFIG: linux_python3.8.____cpython - UPLOAD_PACKAGES: True + linux_64_python3.8.____cpython: + CONFIG: linux_64_python3.8.____cpython + UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: condaforge/linux-anvil-comp7 + linux_64_python3.9.____cpython: + CONFIG: linux_64_python3.9.____cpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: condaforge/linux-anvil-comp7 + maxParallel: 8 + 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,7 +48,10 @@ jobs: - script: | export CI=azure export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) .scripts/run_docker_build.sh displayName: Run docker build env: - BINSTAR_TOKEN: $(BINSTAR_TOKEN) \ No newline at end of file + BINSTAR_TOKEN: $(BINSTAR_TOKEN) + FEEDSTOCK_TOKEN: $(FEEDSTOCK_TOKEN) + STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN) \ No newline at end of file diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index 83de38d..cb8dc23 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -5,81 +5,37 @@ jobs: - job: osx pool: - vmImage: macOS-10.14 - timeoutInMinutes: 360 + vmImage: macOS-10.15 strategy: - maxParallel: 8 matrix: - osx_python3.6.____73_pypy: - CONFIG: osx_python3.6.____73_pypy - UPLOAD_PACKAGES: True - osx_python3.6.____cpython: - CONFIG: osx_python3.6.____cpython - UPLOAD_PACKAGES: True - osx_python3.7.____cpython: - CONFIG: osx_python3.7.____cpython - UPLOAD_PACKAGES: True - osx_python3.8.____cpython: - CONFIG: osx_python3.8.____cpython - UPLOAD_PACKAGES: True + osx_64_python3.6.____73_pypy: + CONFIG: osx_64_python3.6.____73_pypy + UPLOAD_PACKAGES: 'True' + osx_64_python3.6.____cpython: + CONFIG: osx_64_python3.6.____cpython + UPLOAD_PACKAGES: 'True' + osx_64_python3.7.____cpython: + CONFIG: osx_64_python3.7.____cpython + UPLOAD_PACKAGES: 'True' + osx_64_python3.8.____cpython: + CONFIG: osx_64_python3.8.____cpython + UPLOAD_PACKAGES: 'True' + osx_64_python3.9.____cpython: + CONFIG: osx_64_python3.9.____cpython + UPLOAD_PACKAGES: 'True' + maxParallel: 8 + timeoutInMinutes: 360 steps: # TODO: Fast finish on azure pipelines? - script: | - echo "Fast Finish" - - - - script: | - echo "Removing homebrew from Azure to avoid conflicts." - curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall > ~/uninstall_homebrew - chmod +x ~/uninstall_homebrew - ~/uninstall_homebrew -fq - rm ~/uninstall_homebrew - displayName: Remove homebrew - - - bash: | - echo "##vso[task.prependpath]$CONDA/bin" - sudo chown -R $USER $CONDA - displayName: Add conda to PATH - - - script: | - source activate base - conda install -n base -c conda-forge --quiet --yes conda-forge-ci-setup=2 conda-build - displayName: 'Add conda-forge-ci-setup=2' - - - script: | - source activate base - echo "Configuring conda." - - setup_conda_rc ./ "./recipe" ./.ci_support/${CONFIG}.yaml export CI=azure - source run_conda_forge_build_setup - conda update --yes --quiet --override-channels -c conda-forge -c defaults --all - env: { - OSX_FORCE_SDK_DOWNLOAD: "1" - } - displayName: Configure conda and conda-build - - - script: | - source activate base - mangle_compiler ./ "./recipe" ./.ci_support/${CONFIG}.yaml - displayName: Mangle compiler - - - script: | - source activate base - make_build_number ./ "./recipe" ./.ci_support/${CONFIG}.yaml - displayName: Generate build number clobber file - - - script: | - source activate base - conda build "./recipe" -m ./.ci_support/${CONFIG}.yaml --clobber-file ./.ci_support/clobber_${CONFIG}.yaml - displayName: Build recipe - - - script: | - source activate base + export OSX_FORCE_SDK_DOWNLOAD="1" export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME - upload_package ./ "./recipe" ./.ci_support/${CONFIG}.yaml - displayName: Upload package + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + ./.scripts/run_osx_build.sh + displayName: Run OSX build env: BINSTAR_TOKEN: $(BINSTAR_TOKEN) - condition: and(succeeded(), not(eq(variables['UPLOAD_PACKAGES'], 'False'))) \ No newline at end of file + FEEDSTOCK_TOKEN: $(FEEDSTOCK_TOKEN) + STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN) \ No newline at end of file diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index 06d5476..8bd0414 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -6,28 +6,26 @@ jobs: - job: win pool: vmImage: vs2017-win2016 - timeoutInMinutes: 360 strategy: - maxParallel: 4 matrix: - win_python3.6.____cpython: - CONFIG: win_python3.6.____cpython - CONDA_BLD_PATH: D:\\bld\\ - UPLOAD_PACKAGES: True - win_python3.7.____cpython: - CONFIG: win_python3.7.____cpython - CONDA_BLD_PATH: D:\\bld\\ - UPLOAD_PACKAGES: True - win_python3.8.____cpython: - CONFIG: win_python3.8.____cpython - CONDA_BLD_PATH: D:\\bld\\ - UPLOAD_PACKAGES: True - steps: - # TODO: Fast finish on azure pipelines? - - script: | - ECHO ON - + win_64_python3.6.____cpython: + CONFIG: win_64_python3.6.____cpython + UPLOAD_PACKAGES: 'True' + win_64_python3.7.____cpython: + CONFIG: win_64_python3.7.____cpython + UPLOAD_PACKAGES: 'True' + win_64_python3.8.____cpython: + CONFIG: win_64_python3.8.____cpython + UPLOAD_PACKAGES: 'True' + win_64_python3.9.____cpython: + CONFIG: win_64_python3.9.____cpython + UPLOAD_PACKAGES: 'True' + maxParallel: 4 + timeoutInMinutes: 360 + variables: + CONDA_BLD_PATH: D:\\bld\\ + steps: - script: | choco install vcpython27 -fdv -y --debug condition: contains(variables['CONFIG'], 'vs2008') @@ -64,30 +62,31 @@ jobs: - task: CondaEnvironment@1 inputs: - packageSpecs: 'python=3.6 conda-build conda conda-forge::conda-forge-ci-setup=2' # Optional + packageSpecs: 'python=3.6 conda-build conda "conda-forge-ci-setup=3" pip' # Optional installOptions: "-c conda-forge" updateConda: true displayName: Install conda-build and activate environment - script: set PYTHONUNBUFFERED=1 + displayName: Set PYTHONUNBUFFERED # Configure the VM - - script: setup_conda_rc .\ ".\recipe" .\.ci_support\%CONFIG%.yaml + - 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: | - rmdir C:\strawberry /s /q - continueOnError: true - displayName: remove strawberryperl - # 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: @@ -96,16 +95,26 @@ jobs: condition: contains(variables['CONFIG'], 'vs2008') - script: | + call activate base conda.exe build "recipe" -m .ci_support\%CONFIG%.yaml displayName: Build recipe env: PYTHONUNBUFFERED: 1 condition: not(contains(variables['CONFIG'], 'vs2008')) + - 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%" - upload_package .\ ".\recipe" .ci_support\%CONFIG%.yaml + set "FEEDSTOCK_NAME=%BUILD_REPOSITORY_NAME:*/=%" + call activate base + upload_package --validate --feedstock-name="%FEEDSTOCK_NAME%" .\ ".\recipe" .ci_support\%CONFIG%.yaml displayName: Upload package env: BINSTAR_TOKEN: $(BINSTAR_TOKEN) + FEEDSTOCK_TOKEN: $(FEEDSTOCK_TOKEN) + STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN) condition: and(succeeded(), not(eq(variables['UPLOAD_PACKAGES'], 'False'))) \ No newline at end of file diff --git a/.ci_support/linux_python3.6.____73_pypy.yaml b/.ci_support/linux_64_python3.6.____73_pypy.yaml similarity index 90% rename from .ci_support/linux_python3.6.____73_pypy.yaml rename to .ci_support/linux_64_python3.6.____73_pypy.yaml index a505e04..cf6fae6 100644 --- a/.ci_support/linux_python3.6.____73_pypy.yaml +++ b/.ci_support/linux_64_python3.6.____73_pypy.yaml @@ -14,3 +14,5 @@ pin_run_as_build: max_pin: x.x python: - 3.6.* *_73_pypy +target_platform: +- linux-64 diff --git a/.ci_support/linux_python3.6.____cpython.yaml b/.ci_support/linux_64_python3.6.____cpython.yaml similarity index 90% rename from .ci_support/linux_python3.6.____cpython.yaml rename to .ci_support/linux_64_python3.6.____cpython.yaml index d7e74c2..91df078 100644 --- a/.ci_support/linux_python3.6.____cpython.yaml +++ b/.ci_support/linux_64_python3.6.____cpython.yaml @@ -14,3 +14,5 @@ pin_run_as_build: max_pin: x.x python: - 3.6.* *_cpython +target_platform: +- linux-64 diff --git a/.ci_support/linux_python3.7.____cpython.yaml b/.ci_support/linux_64_python3.7.____cpython.yaml similarity index 90% rename from .ci_support/linux_python3.7.____cpython.yaml rename to .ci_support/linux_64_python3.7.____cpython.yaml index 27cc91d..c1c0e3b 100644 --- a/.ci_support/linux_python3.7.____cpython.yaml +++ b/.ci_support/linux_64_python3.7.____cpython.yaml @@ -14,3 +14,5 @@ pin_run_as_build: max_pin: x.x python: - 3.7.* *_cpython +target_platform: +- linux-64 diff --git a/.ci_support/linux_python3.8.____cpython.yaml b/.ci_support/linux_64_python3.8.____cpython.yaml similarity index 90% rename from .ci_support/linux_python3.8.____cpython.yaml rename to .ci_support/linux_64_python3.8.____cpython.yaml index 6413222..3e80f1a 100644 --- a/.ci_support/linux_python3.8.____cpython.yaml +++ b/.ci_support/linux_64_python3.8.____cpython.yaml @@ -14,3 +14,5 @@ pin_run_as_build: max_pin: x.x python: - 3.8.* *_cpython +target_platform: +- linux-64 diff --git a/.ci_support/linux_64_python3.9.____cpython.yaml b/.ci_support/linux_64_python3.9.____cpython.yaml new file mode 100644 index 0000000..d70ba32 --- /dev/null +++ b/.ci_support/linux_64_python3.9.____cpython.yaml @@ -0,0 +1,18 @@ +channel_sources: +- conda-forge,defaults +channel_targets: +- conda-forge main +cxx_compiler: +- gxx +cxx_compiler_version: +- '7' +docker_image: +- condaforge/linux-anvil-comp7 +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.9.* *_cpython +target_platform: +- linux-64 diff --git a/.ci_support/linux_aarch64_python3.6.____73_pypy.yaml b/.ci_support/linux_aarch64_python3.6.____73_pypy.yaml index 71b4046..981bcc1 100644 --- a/.ci_support/linux_aarch64_python3.6.____73_pypy.yaml +++ b/.ci_support/linux_aarch64_python3.6.____73_pypy.yaml @@ -20,3 +20,5 @@ pin_run_as_build: max_pin: x.x python: - 3.6.* *_73_pypy +target_platform: +- linux-aarch64 diff --git a/.ci_support/linux_aarch64_python3.6.____cpython.yaml b/.ci_support/linux_aarch64_python3.6.____cpython.yaml index 00e4e39..972e302 100644 --- a/.ci_support/linux_aarch64_python3.6.____cpython.yaml +++ b/.ci_support/linux_aarch64_python3.6.____cpython.yaml @@ -20,3 +20,5 @@ pin_run_as_build: max_pin: x.x python: - 3.6.* *_cpython +target_platform: +- linux-aarch64 diff --git a/.ci_support/linux_aarch64_python3.7.____cpython.yaml b/.ci_support/linux_aarch64_python3.7.____cpython.yaml index 2bb7ee4..5b35082 100644 --- a/.ci_support/linux_aarch64_python3.7.____cpython.yaml +++ b/.ci_support/linux_aarch64_python3.7.____cpython.yaml @@ -20,3 +20,5 @@ pin_run_as_build: max_pin: x.x python: - 3.7.* *_cpython +target_platform: +- linux-aarch64 diff --git a/.ci_support/linux_aarch64_python3.8.____cpython.yaml b/.ci_support/linux_aarch64_python3.8.____cpython.yaml index af49bd3..3be1743 100644 --- a/.ci_support/linux_aarch64_python3.8.____cpython.yaml +++ b/.ci_support/linux_aarch64_python3.8.____cpython.yaml @@ -20,3 +20,5 @@ pin_run_as_build: max_pin: x.x python: - 3.8.* *_cpython +target_platform: +- linux-aarch64 diff --git a/.ci_support/linux_aarch64_python3.9.____cpython.yaml b/.ci_support/linux_aarch64_python3.9.____cpython.yaml new file mode 100644 index 0000000..ca5d437 --- /dev/null +++ b/.ci_support/linux_aarch64_python3.9.____cpython.yaml @@ -0,0 +1,24 @@ +BUILD: +- aarch64-conda_cos7-linux-gnu +cdt_arch: +- aarch64 +cdt_name: +- cos7 +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- gxx +cxx_compiler_version: +- '7' +docker_image: +- condaforge/linux-anvil-aarch64 +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.9.* *_cpython +target_platform: +- linux-aarch64 diff --git a/.ci_support/linux_ppc64le_python3.6.____73_pypy.yaml b/.ci_support/linux_ppc64le_python3.6.____73_pypy.yaml index 5e6c28b..6b2fa80 100644 --- a/.ci_support/linux_ppc64le_python3.6.____73_pypy.yaml +++ b/.ci_support/linux_ppc64le_python3.6.____73_pypy.yaml @@ -14,3 +14,5 @@ pin_run_as_build: max_pin: x.x python: - 3.6.* *_73_pypy +target_platform: +- linux-ppc64le diff --git a/.ci_support/linux_ppc64le_python3.6.____cpython.yaml b/.ci_support/linux_ppc64le_python3.6.____cpython.yaml index 84cadd7..23c3615 100644 --- a/.ci_support/linux_ppc64le_python3.6.____cpython.yaml +++ b/.ci_support/linux_ppc64le_python3.6.____cpython.yaml @@ -14,3 +14,5 @@ pin_run_as_build: max_pin: x.x python: - 3.6.* *_cpython +target_platform: +- linux-ppc64le diff --git a/.ci_support/linux_ppc64le_python3.7.____cpython.yaml b/.ci_support/linux_ppc64le_python3.7.____cpython.yaml index 3d1d9f5..f2a19d7 100644 --- a/.ci_support/linux_ppc64le_python3.7.____cpython.yaml +++ b/.ci_support/linux_ppc64le_python3.7.____cpython.yaml @@ -14,3 +14,5 @@ pin_run_as_build: max_pin: x.x python: - 3.7.* *_cpython +target_platform: +- linux-ppc64le diff --git a/.ci_support/linux_ppc64le_python3.8.____cpython.yaml b/.ci_support/linux_ppc64le_python3.8.____cpython.yaml index 50e0525..2be263c 100644 --- a/.ci_support/linux_ppc64le_python3.8.____cpython.yaml +++ b/.ci_support/linux_ppc64le_python3.8.____cpython.yaml @@ -14,3 +14,5 @@ pin_run_as_build: max_pin: x.x python: - 3.8.* *_cpython +target_platform: +- linux-ppc64le diff --git a/.ci_support/linux_ppc64le_python3.9.____cpython.yaml b/.ci_support/linux_ppc64le_python3.9.____cpython.yaml new file mode 100644 index 0000000..d8fbea1 --- /dev/null +++ b/.ci_support/linux_ppc64le_python3.9.____cpython.yaml @@ -0,0 +1,18 @@ +channel_sources: +- conda-forge,defaults +channel_targets: +- conda-forge main +cxx_compiler: +- gxx +cxx_compiler_version: +- '8' +docker_image: +- condaforge/linux-anvil-ppc64le +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.9.* *_cpython +target_platform: +- linux-ppc64le diff --git a/.ci_support/migrations/python38.yaml b/.ci_support/migrations/python38.yaml deleted file mode 100644 index b11022c..0000000 --- a/.ci_support/migrations/python38.yaml +++ /dev/null @@ -1,55 +0,0 @@ -migrator_ts: 1569538102 # The timestamp of when the migration was made -__migrator: - kind: - version - exclude: - - c_compiler - - vc - - cxx_compiler - migration_number: # Only use this if the bot messes up, putting this in will cause a complete rerun of the migration - 1 - bump_number: 0 - -python: - - 2.7 - - 3.6 - - 3.7 - - 3.8 - -c_compiler: - # legacy compilers for things that refuse to move - - toolchain_c # [(linux64 or osx) and (environ.get('CF_COMPILER_STACK') == 'comp4')] - # modern compilers - - gcc # [linux64] - - clang # [osx] - # non-standard arches get built with gcc - - gcc # [aarch64] - - gcc # [ppc64le] - - gcc # [armv7l] - - - vs2008 # [win] - - vs2015 # [win] - - vs2015 # [win] - - vs2015 # [win] - -cxx_compiler: - # legacy compilers for things that refuse to move - - toolchain_cxx # [(linux64 or osx) and (environ.get('CF_COMPILER_STACK') == 'comp4')] - # modern compilers - - gxx # [linux64] - - clangxx # [osx] - - - gxx # [aarch64] - - gxx # [ppc64le] - - gxx # [armv7l] - - - vs2008 # [win] - - vs2015 # [win] - - vs2015 # [win] - - vs2015 # [win] - -vc: # [win] - - 9 # [win] - - 14 # [win] - - 14 # [win] - - 14 # [win] diff --git a/.ci_support/migrations/python39.yaml b/.ci_support/migrations/python39.yaml new file mode 100644 index 0000000..0fd3158 --- /dev/null +++ b/.ci_support/migrations/python39.yaml @@ -0,0 +1,20 @@ +migrator_ts: 1602104489 +__migrator: + migration_number: 2 + operation: key_add + primary_key: python + ordering: + python: + - 3.6.* *_cpython + - 3.7.* *_cpython + - 3.8.* *_cpython + - 3.9.* *_cpython # new entry + - 3.6.* *_73_pypy + paused: false +python: + - 3.9.* *_cpython +# additional entries to add for zip_keys +numpy: + - 1.18 +python_impl: + - cpython diff --git a/.ci_support/osx_python3.6.____73_pypy.yaml b/.ci_support/osx_64_python3.6.____73_pypy.yaml similarity index 89% rename from .ci_support/osx_python3.6.____73_pypy.yaml rename to .ci_support/osx_64_python3.6.____73_pypy.yaml index 570493f..712a1d7 100644 --- a/.ci_support/osx_python3.6.____73_pypy.yaml +++ b/.ci_support/osx_64_python3.6.____73_pypy.yaml @@ -7,14 +7,14 @@ channel_targets: cxx_compiler: - clangxx cxx_compiler_version: -- '9' +- '10' macos_machine: - x86_64-apple-darwin13.4.0 -macos_min_version: -- '10.9' pin_run_as_build: python: min_pin: x.x max_pin: x.x python: - 3.6.* *_73_pypy +target_platform: +- osx-64 diff --git a/.ci_support/osx_python3.6.____cpython.yaml b/.ci_support/osx_64_python3.6.____cpython.yaml similarity index 89% rename from .ci_support/osx_python3.6.____cpython.yaml rename to .ci_support/osx_64_python3.6.____cpython.yaml index 029efa4..8f2db39 100644 --- a/.ci_support/osx_python3.6.____cpython.yaml +++ b/.ci_support/osx_64_python3.6.____cpython.yaml @@ -7,14 +7,14 @@ channel_targets: cxx_compiler: - clangxx cxx_compiler_version: -- '9' +- '10' macos_machine: - x86_64-apple-darwin13.4.0 -macos_min_version: -- '10.9' pin_run_as_build: python: min_pin: x.x max_pin: x.x python: - 3.6.* *_cpython +target_platform: +- osx-64 diff --git a/.ci_support/osx_python3.7.____cpython.yaml b/.ci_support/osx_64_python3.7.____cpython.yaml similarity index 89% rename from .ci_support/osx_python3.7.____cpython.yaml rename to .ci_support/osx_64_python3.7.____cpython.yaml index 76b937d..b88e134 100644 --- a/.ci_support/osx_python3.7.____cpython.yaml +++ b/.ci_support/osx_64_python3.7.____cpython.yaml @@ -7,14 +7,14 @@ channel_targets: cxx_compiler: - clangxx cxx_compiler_version: -- '9' +- '10' macos_machine: - x86_64-apple-darwin13.4.0 -macos_min_version: -- '10.9' pin_run_as_build: python: min_pin: x.x max_pin: x.x python: - 3.7.* *_cpython +target_platform: +- osx-64 diff --git a/.ci_support/osx_python3.8.____cpython.yaml b/.ci_support/osx_64_python3.8.____cpython.yaml similarity index 89% rename from .ci_support/osx_python3.8.____cpython.yaml rename to .ci_support/osx_64_python3.8.____cpython.yaml index 462436d..465a2f4 100644 --- a/.ci_support/osx_python3.8.____cpython.yaml +++ b/.ci_support/osx_64_python3.8.____cpython.yaml @@ -7,14 +7,14 @@ channel_targets: cxx_compiler: - clangxx cxx_compiler_version: -- '9' +- '10' macos_machine: - x86_64-apple-darwin13.4.0 -macos_min_version: -- '10.9' pin_run_as_build: python: min_pin: x.x max_pin: x.x python: - 3.8.* *_cpython +target_platform: +- osx-64 diff --git a/.ci_support/osx_64_python3.9.____cpython.yaml b/.ci_support/osx_64_python3.9.____cpython.yaml new file mode 100644 index 0000000..957089e --- /dev/null +++ b/.ci_support/osx_64_python3.9.____cpython.yaml @@ -0,0 +1,20 @@ +MACOSX_DEPLOYMENT_TARGET: +- '10.9' +channel_sources: +- conda-forge,defaults +channel_targets: +- conda-forge main +cxx_compiler: +- clangxx +cxx_compiler_version: +- '10' +macos_machine: +- x86_64-apple-darwin13.4.0 +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.9.* *_cpython +target_platform: +- osx-64 diff --git a/.ci_support/win_python3.6.____cpython.yaml b/.ci_support/win_64_python3.6.____cpython.yaml similarity index 83% rename from .ci_support/win_python3.6.____cpython.yaml rename to .ci_support/win_64_python3.6.____cpython.yaml index 573d707..7937d15 100644 --- a/.ci_support/win_python3.6.____cpython.yaml +++ b/.ci_support/win_64_python3.6.____cpython.yaml @@ -3,10 +3,12 @@ channel_sources: channel_targets: - conda-forge main cxx_compiler: -- vs2015 +- vs2017 pin_run_as_build: python: min_pin: x.x max_pin: x.x python: - 3.6.* *_cpython +target_platform: +- win-64 diff --git a/.ci_support/win_python3.7.____cpython.yaml b/.ci_support/win_64_python3.7.____cpython.yaml similarity index 83% rename from .ci_support/win_python3.7.____cpython.yaml rename to .ci_support/win_64_python3.7.____cpython.yaml index 823c7ae..49ad54c 100644 --- a/.ci_support/win_python3.7.____cpython.yaml +++ b/.ci_support/win_64_python3.7.____cpython.yaml @@ -3,10 +3,12 @@ channel_sources: channel_targets: - conda-forge main cxx_compiler: -- vs2015 +- vs2017 pin_run_as_build: python: min_pin: x.x max_pin: x.x python: - 3.7.* *_cpython +target_platform: +- win-64 diff --git a/.ci_support/win_python3.8.____cpython.yaml b/.ci_support/win_64_python3.8.____cpython.yaml similarity index 83% rename from .ci_support/win_python3.8.____cpython.yaml rename to .ci_support/win_64_python3.8.____cpython.yaml index bb651b4..44dcd72 100644 --- a/.ci_support/win_python3.8.____cpython.yaml +++ b/.ci_support/win_64_python3.8.____cpython.yaml @@ -3,10 +3,12 @@ channel_sources: channel_targets: - conda-forge main cxx_compiler: -- vs2015 +- vs2017 pin_run_as_build: python: min_pin: x.x max_pin: x.x python: - 3.8.* *_cpython +target_platform: +- win-64 diff --git a/.ci_support/win_64_python3.9.____cpython.yaml b/.ci_support/win_64_python3.9.____cpython.yaml new file mode 100644 index 0000000..3e4ce48 --- /dev/null +++ b/.ci_support/win_64_python3.9.____cpython.yaml @@ -0,0 +1,14 @@ +channel_sources: +- conda-forge,defaults +channel_targets: +- conda-forge main +cxx_compiler: +- vs2017 +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.9.* *_cpython +target_platform: +- win-64 diff --git a/.drone.yml b/.drone.yml index 84d6247..31a2596 100644 --- a/.drone.yml +++ b/.drone.yml @@ -13,13 +13,18 @@ steps: CONFIG: linux_aarch64_python3.6.____73_pypy UPLOAD_PACKAGES: True PLATFORM: linux-aarch64 - BINSTAR_TOKEN: + BINSTAR_TOKEN: from_secret: BINSTAR_TOKEN + FEEDSTOCK_TOKEN: + from_secret: FEEDSTOCK_TOKEN + STAGING_BINSTAR_TOKEN: + from_secret: STAGING_BINSTAR_TOKEN commands: - export FEEDSTOCK_ROOT="$DRONE_WORKSPACE" - export RECIPE_ROOT="$FEEDSTOCK_ROOT/recipe" - export CI=drone - export GIT_BRANCH="$DRONE_BRANCH" + - export FEEDSTOCK_NAME=$(basename ${DRONE_REPO_NAME}) - sed -i '$ichown -R conda:conda "$FEEDSTOCK_ROOT"' /opt/docker/bin/entrypoint - /opt/docker/bin/entrypoint $FEEDSTOCK_ROOT/.scripts/build_steps.sh - echo "Done building" @@ -39,13 +44,18 @@ steps: CONFIG: linux_aarch64_python3.6.____cpython UPLOAD_PACKAGES: True PLATFORM: linux-aarch64 - BINSTAR_TOKEN: + BINSTAR_TOKEN: from_secret: BINSTAR_TOKEN + FEEDSTOCK_TOKEN: + from_secret: FEEDSTOCK_TOKEN + STAGING_BINSTAR_TOKEN: + from_secret: STAGING_BINSTAR_TOKEN commands: - export FEEDSTOCK_ROOT="$DRONE_WORKSPACE" - export RECIPE_ROOT="$FEEDSTOCK_ROOT/recipe" - export CI=drone - export GIT_BRANCH="$DRONE_BRANCH" + - export FEEDSTOCK_NAME=$(basename ${DRONE_REPO_NAME}) - sed -i '$ichown -R conda:conda "$FEEDSTOCK_ROOT"' /opt/docker/bin/entrypoint - /opt/docker/bin/entrypoint $FEEDSTOCK_ROOT/.scripts/build_steps.sh - echo "Done building" @@ -65,13 +75,18 @@ steps: CONFIG: linux_aarch64_python3.7.____cpython UPLOAD_PACKAGES: True PLATFORM: linux-aarch64 - BINSTAR_TOKEN: + BINSTAR_TOKEN: from_secret: BINSTAR_TOKEN + FEEDSTOCK_TOKEN: + from_secret: FEEDSTOCK_TOKEN + STAGING_BINSTAR_TOKEN: + from_secret: STAGING_BINSTAR_TOKEN commands: - export FEEDSTOCK_ROOT="$DRONE_WORKSPACE" - export RECIPE_ROOT="$FEEDSTOCK_ROOT/recipe" - export CI=drone - export GIT_BRANCH="$DRONE_BRANCH" + - export FEEDSTOCK_NAME=$(basename ${DRONE_REPO_NAME}) - sed -i '$ichown -R conda:conda "$FEEDSTOCK_ROOT"' /opt/docker/bin/entrypoint - /opt/docker/bin/entrypoint $FEEDSTOCK_ROOT/.scripts/build_steps.sh - echo "Done building" @@ -91,13 +106,49 @@ steps: CONFIG: linux_aarch64_python3.8.____cpython UPLOAD_PACKAGES: True PLATFORM: linux-aarch64 - BINSTAR_TOKEN: + BINSTAR_TOKEN: from_secret: BINSTAR_TOKEN + FEEDSTOCK_TOKEN: + from_secret: FEEDSTOCK_TOKEN + STAGING_BINSTAR_TOKEN: + from_secret: STAGING_BINSTAR_TOKEN commands: - export FEEDSTOCK_ROOT="$DRONE_WORKSPACE" - export RECIPE_ROOT="$FEEDSTOCK_ROOT/recipe" - export CI=drone - export GIT_BRANCH="$DRONE_BRANCH" + - export FEEDSTOCK_NAME=$(basename ${DRONE_REPO_NAME}) + - sed -i '$ichown -R conda:conda "$FEEDSTOCK_ROOT"' /opt/docker/bin/entrypoint + - /opt/docker/bin/entrypoint $FEEDSTOCK_ROOT/.scripts/build_steps.sh + - echo "Done building" + +--- +kind: pipeline +name: linux_aarch64_python3.9.____cpython + +platform: + os: linux + arch: arm64 + +steps: +- name: Install and build + image: condaforge/linux-anvil-aarch64 + environment: + CONFIG: linux_aarch64_python3.9.____cpython + UPLOAD_PACKAGES: True + PLATFORM: linux-aarch64 + BINSTAR_TOKEN: + from_secret: BINSTAR_TOKEN + FEEDSTOCK_TOKEN: + from_secret: FEEDSTOCK_TOKEN + STAGING_BINSTAR_TOKEN: + from_secret: STAGING_BINSTAR_TOKEN + commands: + - export FEEDSTOCK_ROOT="$DRONE_WORKSPACE" + - export RECIPE_ROOT="$FEEDSTOCK_ROOT/recipe" + - export CI=drone + - export GIT_BRANCH="$DRONE_BRANCH" + - export FEEDSTOCK_NAME=$(basename ${DRONE_REPO_NAME}) - sed -i '$ichown -R conda:conda "$FEEDSTOCK_ROOT"' /opt/docker/bin/entrypoint - /opt/docker/bin/entrypoint $FEEDSTOCK_ROOT/.scripts/build_steps.sh - echo "Done building" diff --git a/.gitattributes b/.gitattributes index ac943c1..9060b27 100644 --- a/.gitattributes +++ b/.gitattributes @@ -17,7 +17,7 @@ bld.bat text eol=crlf .gitattributes linguist-generated=true .gitignore linguist-generated=true .travis.yml linguist-generated=true -.scripts linguist-generated=true +.scripts/* linguist-generated=true LICENSE.txt linguist-generated=true README.md linguist-generated=true azure-pipelines.yml linguist-generated=true diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 8a4af44..aa9727b 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -19,7 +19,7 @@ conda-build: CONDARC -conda install --yes --quiet conda-forge-ci-setup=2 conda-build -c conda-forge +conda install --yes --quiet "conda-forge-ci-setup=3" conda-build pip -c conda-forge # set up the condarc setup_conda_rc "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" @@ -29,11 +29,25 @@ source run_conda_forge_build_setup # make the build number clobber make_build_number "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" -conda build "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ - --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" -if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then - upload_package "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" +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_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ + ${EXTRA_CB_OPTIONS:-} \ + --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" + # Drop into an interactive shell + /bin/bash +else + conda build "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ + --suppress-variables ${EXTRA_CB_OPTIONS:-} \ + --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" + validate_recipe_outputs "${FEEDSTOCK_NAME}" + + if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then + upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" + fi fi touch "${FEEDSTOCK_ROOT}/build_artifacts/conda-forge-build-done-${CONFIG}" \ No newline at end of file diff --git a/.scripts/run_docker_build.sh b/.scripts/run_docker_build.sh index 066a857..87ba4db 100755 --- a/.scripts/run_docker_build.sh +++ b/.scripts/run_docker_build.sh @@ -13,6 +13,10 @@ PROVIDER_DIR="$(basename $THISDIR)" FEEDSTOCK_ROOT=$(cd "$(dirname "$0")/.."; pwd;) RECIPE_ROOT="${FEEDSTOCK_ROOT}/recipe" +if [ -z ${FEEDSTOCK_NAME} ]; then + export FEEDSTOCK_NAME=$(basename ${FEEDSTOCK_ROOT}) +fi + docker info # In order for the conda-build process in the container to write to the mounted @@ -52,21 +56,29 @@ mkdir -p "$ARTIFACTS" DONE_CANARY="$ARTIFACTS/conda-forge-build-done-${CONFIG}" rm -f "$DONE_CANARY" +# Allow people to specify extra default arguments to `docker run` (e.g. `--rm`) +DOCKER_RUN_ARGS="${CONDA_FORGE_DOCKER_RUN_ARGS}" if [ -z "${CI}" ]; then - DOCKER_RUN_ARGS="-it " + DOCKER_RUN_ARGS="-it ${DOCKER_RUN_ARGS}" fi export UPLOAD_PACKAGES="${UPLOAD_PACKAGES:-True}" docker run ${DOCKER_RUN_ARGS} \ - -v "${RECIPE_ROOT}":/home/conda/recipe_root:ro,z \ + -v "${RECIPE_ROOT}":/home/conda/recipe_root:rw,z \ -v "${FEEDSTOCK_ROOT}":/home/conda/feedstock_root:rw,z \ -e CONFIG \ - -e BINSTAR_TOKEN \ -e HOST_USER_ID \ -e UPLOAD_PACKAGES \ -e GIT_BRANCH \ -e UPLOAD_ON_BRANCH \ -e CI \ + -e FEEDSTOCK_NAME \ + -e CPU_COUNT \ + -e BUILD_WITH_CONDA_DEBUG \ + -e BUILD_OUTPUT_ID \ + -e BINSTAR_TOKEN \ + -e FEEDSTOCK_TOKEN \ + -e STAGING_BINSTAR_TOKEN \ $DOCKER_IMAGE \ bash \ /home/conda/feedstock_root/${PROVIDER_DIR}/build_steps.sh diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh new file mode 100755 index 0000000..c299b79 --- /dev/null +++ b/.scripts/run_osx_build.sh @@ -0,0 +1,57 @@ +#!/usr/bin/env bash + +set -x + +echo -e "\n\nInstalling a fresh version of Miniforge." +if [[ ${CI} == "travis" ]]; then + echo -en 'travis_fold:start:install_miniforge\\r' +fi +MINIFORGE_URL="https://github.com/conda-forge/miniforge/releases/latest/download" +MINIFORGE_FILE="Miniforge3-MacOSX-x86_64.sh" +curl -L -O "${MINIFORGE_URL}/${MINIFORGE_FILE}" +bash $MINIFORGE_FILE -b +if [[ ${CI} == "travis" ]]; then + echo -en 'travis_fold:end:install_miniforge\\r' +fi + +echo -e "\n\nConfiguring conda." +if [[ ${CI} == "travis" ]]; then + echo -en 'travis_fold:start:configure_conda\\r' +fi + +source ${HOME}/miniforge3/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 + + + +echo -e "\n\nSetting up the condarc and mangling the compiler." +setup_conda_rc ./ ./recipe ./.ci_support/${CONFIG}.yaml +mangle_compiler ./ ./recipe .ci_support/${CONFIG}.yaml + +echo -e "\n\nMangling homebrew in the CI to avoid conflicts." +/usr/bin/sudo mangle_homebrew +/usr/bin/sudo -k + +echo -e "\n\nRunning the build setup script." +source run_conda_forge_build_setup + + +if [[ ${CI} == "travis" ]]; then + echo -en 'travis_fold:end:configure_conda\\r' +fi + +set -e + +echo -e "\n\nMaking the build clobber file and running the build." +make_build_number ./ ./recipe ./.ci_support/${CONFIG}.yaml + +conda build ./recipe -m ./.ci_support/${CONFIG}.yaml --suppress-variables --clobber-file ./.ci_support/clobber_${CONFIG}.yaml ${EXTRA_CB_OPTIONS:-} +validate_recipe_outputs "${FEEDSTOCK_NAME}" + +if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then + echo -e "\n\nUploading the packages." + upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" ./ ./recipe ./.ci_support/${CONFIG}.yaml +fi \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 5fbd163..595278d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,10 +3,7 @@ language: generic -env: - global: - # The BINSTAR_TOKEN secure variable. This is defined canonically in conda-forge.yml. - - secure: "qtF5PeDDd46bv4LyPNhCWmS9QMn/FRc/Xkh1ytHfW/TG/5OVUgp5kLq3MR9s+c2ryT5cDxm1L26GdnekclY2E+lwRGXOccjxDMO1m9HHJTyrpDsAna9TAmY7a3QoafO85G47D4C39achPXlVK8NENU1A+EHo8RHXTbPAvMnBs8CYODW+OdwrwECjmtQqMk8nrbp78SJRtEaikaVLXE5gofyfaWeoRKzrKEZ2IrzKlnK5Dykoy4OAjTUNMAKquBLzjyy8DVk0LRomGIKszi21NwVccUTe18yYKll59HBJg2KVM0YlXI2fO9fSqAuv19uijZTjyWzNoBJp5omGyjPFmN+3Uy1nLx0mzgztY0WLvCWSHunCVo7wXEBqzzLh3v/V2PRP/2rboyW8P4TxMEgHlwvSbgewwBBldf9SYyTCSm17/rrtMAadcPjWf2z8WEwTeTogGcb9RU2RV2SrzkefmROCbHqiCcIKBfR75hZVOWMWHy9j5rSS2HJtixa3eCzzT7rnmuqjbUNsmnzhDIzVqGEsC5XAmiohuAIDSF5iYWqjSJcFOuS8g58a4hVvnqb/oVVXpmDDFVGEgFeWveyN5rWnNWMsU9r7goGOFigmIWFbchhX+Y18ixNf4Yocousg1OHc9QpXJWZDZa4aUAyWQLaiJgGve67rVce5OGH/INM=" + matrix: include: @@ -26,9 +23,14 @@ matrix: os: linux arch: ppc64le + - env: CONFIG=linux_ppc64le_python3.9.____cpython UPLOAD_PACKAGES=True PLATFORM=linux-ppc64le DOCKER_IMAGE=condaforge/linux-anvil-ppc64le + os: linux + arch: ppc64le + script: - export CI=travis - export GIT_BRANCH="$TRAVIS_BRANCH" + - export FEEDSTOCK_NAME=$(basename ${TRAVIS_REPO_SLUG}) - if [[ ${PLATFORM} =~ .*linux.* ]]; then ./.scripts/run_docker_build.sh; fi \ No newline at end of file diff --git a/LICENSE.txt b/LICENSE.txt index cba42cf..5f30279 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,5 +1,5 @@ BSD 3-clause license -Copyright (c) 2015-2019, conda-forge +Copyright (c) 2015-2020, 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: diff --git a/README.md b/README.md index 48382db..0e12f40 100644 --- a/README.md +++ b/README.md @@ -5,12 +5,10 @@ Home: https://github.com/pybind/pybind11/ Package license: BSD-3-Clause -Feedstock license: BSD 3-Clause +Feedstock license: [BSD-3-Clause](https://github.com/conda-forge/pybind11-feedstock/blob/master/LICENSE.txt) Summary: Seamless operability between C++11 and Python - - Current build status ==================== @@ -26,7 +24,7 @@ Current build status
| Variant | Status | |
|---|---|---|
| linux_64_python3.6.____73_pypy | +
+
+ |
+ |
| linux_64_python3.6.____cpython | +
+
+ |
+ |
| linux_64_python3.7.____cpython | +
+
+ |
+ |
| linux_64_python3.8.____cpython | +
+
+ |
+ |
| linux_64_python3.9.____cpython | +
+
+ |
+ |
| linux_aarch64_python3.6.____73_pypy |
@@ -70,6 +103,13 @@ Current build status
|
+ |
| linux_aarch64_python3.9.____cpython | +
+
+ |
|
| linux_ppc64le_python3.6.____73_pypy | @@ -99,80 +139,73 @@ Current build status | |
| linux_python3.6.____73_pypy | -
-
- |
- |
| linux_python3.6.____cpython | +linux_ppc64le_python3.9.____cpython |
- |
| linux_python3.7.____cpython | +osx_64_python3.6.____73_pypy |
- |
| linux_python3.8.____cpython | +osx_64_python3.6.____cpython |
- |
| osx_python3.6.____73_pypy | +osx_64_python3.7.____cpython |
- |
| osx_python3.6.____cpython | +osx_64_python3.8.____cpython |
- |
| osx_python3.7.____cpython | +osx_64_python3.9.____cpython |
- |
| osx_python3.8.____cpython | +win_64_python3.6.____cpython |
- |
| win_python3.6.____cpython | +win_64_python3.7.____cpython |
- |
| win_python3.7.____cpython | +win_64_python3.8.____cpython |
- |
| win_python3.8.____cpython | +win_64_python3.9.____cpython |
- |