diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index 6c7e94b..f15f47e 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -8,10 +8,6 @@ jobs: vmImage: ubuntu-latest strategy: matrix: - linux_64_numpy1.18python3.6.____cpython: - CONFIG: linux_64_numpy1.18python3.6.____cpython - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-comp7 linux_64_numpy1.18python3.7.____cpython: CONFIG: linux_64_numpy1.18python3.7.____cpython UPLOAD_PACKAGES: 'True' @@ -24,6 +20,30 @@ jobs: CONFIG: linux_64_numpy1.19python3.9.____cpython UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-comp7 + linux_aarch64_numpy1.18python3.7.____cpython: + CONFIG: linux_aarch64_numpy1.18python3.7.____cpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-aarch64 + linux_aarch64_numpy1.18python3.8.____cpython: + CONFIG: linux_aarch64_numpy1.18python3.8.____cpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-aarch64 + linux_aarch64_numpy1.19python3.9.____cpython: + CONFIG: linux_aarch64_numpy1.19python3.9.____cpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-aarch64 + linux_ppc64le_numpy1.18python3.7.____cpython: + CONFIG: linux_ppc64le_numpy1.18python3.7.____cpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-ppc64le + linux_ppc64le_numpy1.18python3.8.____cpython: + CONFIG: linux_ppc64le_numpy1.18python3.8.____cpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-ppc64le + linux_ppc64le_numpy1.19python3.9.____cpython: + CONFIG: linux_ppc64le_numpy1.19python3.9.____cpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-ppc64le timeoutInMinutes: 360 steps: @@ -44,6 +64,11 @@ jobs: export CI=azure export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + if [[ "${BUILD_REASON:-}" == "PullRequest" ]]; then + export IS_PR_BUILD="True" + else + export IS_PR_BUILD="False" + fi .scripts/run_docker_build.sh displayName: Run docker build env: diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index cb74c32..ee4bebf 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -8,9 +8,6 @@ jobs: vmImage: macOS-10.15 strategy: matrix: - osx_64_numpy1.18python3.6.____cpython: - CONFIG: osx_64_numpy1.18python3.6.____cpython - UPLOAD_PACKAGES: 'True' osx_64_numpy1.18python3.7.____cpython: CONFIG: osx_64_numpy1.18python3.7.____cpython UPLOAD_PACKAGES: 'True' @@ -29,6 +26,11 @@ jobs: export OSX_FORCE_SDK_DOWNLOAD="1" export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + if [[ "${BUILD_REASON:-}" == "PullRequest" ]]; then + export IS_PR_BUILD="True" + else + export IS_PR_BUILD="False" + fi ./.scripts/run_osx_build.sh displayName: Run OSX build env: diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index d6c5f9e..861a0db 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -8,9 +8,6 @@ jobs: vmImage: vs2017-win2016 strategy: matrix: - win_64_numpy1.18python3.6.____cpython: - CONFIG: win_64_numpy1.18python3.6.____cpython - UPLOAD_PACKAGES: 'True' win_64_numpy1.18python3.7.____cpython: CONFIG: win_64_numpy1.18python3.7.____cpython UPLOAD_PACKAGES: 'True' @@ -61,7 +58,7 @@ jobs: - task: CondaEnvironment@1 inputs: - packageSpecs: 'python=3.6 conda-build conda "conda-forge-ci-setup=3" pip' # Optional + 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 @@ -95,7 +92,7 @@ jobs: - script: | call activate base - conda.exe build "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables + conda.exe mambabuild "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables displayName: Build recipe env: PYTHONUNBUFFERED: 1 @@ -116,4 +113,4 @@ jobs: 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 + condition: and(succeeded(), not(eq(variables['UPLOAD_PACKAGES'], 'False')), not(eq(variables['Build.Reason'], 'PullRequest'))) \ No newline at end of file diff --git a/.ci_support/linux_64_numpy1.18python3.6.____cpython.yaml b/.ci_support/linux_64_numpy1.18python3.6.____cpython.yaml deleted file mode 100644 index 1e39151..0000000 --- a/.ci_support/linux_64_numpy1.18python3.6.____cpython.yaml +++ /dev/null @@ -1,39 +0,0 @@ -c_compiler: -- gcc -c_compiler_version: -- '9' -cdt_name: -- cos6 -channel_sources: -- conda-forge,defaults -channel_targets: -- conda-forge main -cxx_compiler: -- gxx -cxx_compiler_version: -- '9' -docker_image: -- quay.io/condaforge/linux-anvil-comp7 -ipopt: -- '3.14' -libxml2: -- '2.9' -numpy: -- '1.18' -pin_run_as_build: - libxml2: - max_pin: x.x - python: - min_pin: x.x - max_pin: x.x -python: -- 3.6.* *_cpython -target_platform: -- linux-64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version -- - cdt_name - - docker_image -- - python - - numpy diff --git a/.ci_support/linux_64_numpy1.18python3.7.____cpython.yaml b/.ci_support/linux_64_numpy1.18python3.7.____cpython.yaml index 6bc151c..96ecf0d 100644 --- a/.ci_support/linux_64_numpy1.18python3.7.____cpython.yaml +++ b/.ci_support/linux_64_numpy1.18python3.7.____cpython.yaml @@ -5,7 +5,7 @@ c_compiler_version: cdt_name: - cos6 channel_sources: -- conda-forge,defaults +- conda-forge channel_targets: - conda-forge main cxx_compiler: diff --git a/.ci_support/linux_64_numpy1.18python3.8.____cpython.yaml b/.ci_support/linux_64_numpy1.18python3.8.____cpython.yaml index 1d4d3cd..4c873d6 100644 --- a/.ci_support/linux_64_numpy1.18python3.8.____cpython.yaml +++ b/.ci_support/linux_64_numpy1.18python3.8.____cpython.yaml @@ -5,7 +5,7 @@ c_compiler_version: cdt_name: - cos6 channel_sources: -- conda-forge,defaults +- conda-forge channel_targets: - conda-forge main cxx_compiler: diff --git a/.ci_support/linux_64_numpy1.19python3.9.____cpython.yaml b/.ci_support/linux_64_numpy1.19python3.9.____cpython.yaml index 905abf0..07263d5 100644 --- a/.ci_support/linux_64_numpy1.19python3.9.____cpython.yaml +++ b/.ci_support/linux_64_numpy1.19python3.9.____cpython.yaml @@ -5,7 +5,7 @@ c_compiler_version: cdt_name: - cos6 channel_sources: -- conda-forge,defaults +- conda-forge channel_targets: - conda-forge main cxx_compiler: diff --git a/.ci_support/linux_aarch64_numpy1.18python3.6.____cpython.yaml b/.ci_support/linux_aarch64_numpy1.18python3.6.____cpython.yaml deleted file mode 100644 index befd5e8..0000000 --- a/.ci_support/linux_aarch64_numpy1.18python3.6.____cpython.yaml +++ /dev/null @@ -1,41 +0,0 @@ -BUILD: -- aarch64-conda_cos7-linux-gnu -c_compiler: -- gcc -c_compiler_version: -- '9' -cdt_arch: -- aarch64 -cdt_name: -- cos7 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- gxx -cxx_compiler_version: -- '9' -docker_image: -- quay.io/condaforge/linux-anvil-aarch64 -ipopt: -- '3.14' -libxml2: -- '2.9' -numpy: -- '1.18' -pin_run_as_build: - libxml2: - max_pin: x.x - python: - min_pin: x.x - max_pin: x.x -python: -- 3.6.* *_cpython -target_platform: -- linux-aarch64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version -- - python - - numpy diff --git a/.ci_support/linux_ppc64le_numpy1.18python3.6.____cpython.yaml b/.ci_support/linux_ppc64le_numpy1.18python3.6.____cpython.yaml deleted file mode 100644 index 85499a0..0000000 --- a/.ci_support/linux_ppc64le_numpy1.18python3.6.____cpython.yaml +++ /dev/null @@ -1,37 +0,0 @@ -c_compiler: -- gcc -c_compiler_version: -- '9' -cdt_name: -- cos7 -channel_sources: -- conda-forge,defaults -channel_targets: -- conda-forge main -cxx_compiler: -- gxx -cxx_compiler_version: -- '9' -docker_image: -- quay.io/condaforge/linux-anvil-ppc64le -ipopt: -- '3.14' -libxml2: -- '2.9' -numpy: -- '1.18' -pin_run_as_build: - libxml2: - max_pin: x.x - python: - min_pin: x.x - max_pin: x.x -python: -- 3.6.* *_cpython -target_platform: -- linux-ppc64le -zip_keys: -- - c_compiler_version - - cxx_compiler_version -- - python - - numpy diff --git a/.ci_support/linux_ppc64le_numpy1.18python3.7.____cpython.yaml b/.ci_support/linux_ppc64le_numpy1.18python3.7.____cpython.yaml index 9850c89..ee68d81 100644 --- a/.ci_support/linux_ppc64le_numpy1.18python3.7.____cpython.yaml +++ b/.ci_support/linux_ppc64le_numpy1.18python3.7.____cpython.yaml @@ -5,7 +5,7 @@ c_compiler_version: cdt_name: - cos7 channel_sources: -- conda-forge,defaults +- conda-forge channel_targets: - conda-forge main cxx_compiler: diff --git a/.ci_support/linux_ppc64le_numpy1.18python3.8.____cpython.yaml b/.ci_support/linux_ppc64le_numpy1.18python3.8.____cpython.yaml index ff796c3..a66b6e0 100644 --- a/.ci_support/linux_ppc64le_numpy1.18python3.8.____cpython.yaml +++ b/.ci_support/linux_ppc64le_numpy1.18python3.8.____cpython.yaml @@ -5,7 +5,7 @@ c_compiler_version: cdt_name: - cos7 channel_sources: -- conda-forge,defaults +- conda-forge channel_targets: - conda-forge main cxx_compiler: diff --git a/.ci_support/linux_ppc64le_numpy1.19python3.9.____cpython.yaml b/.ci_support/linux_ppc64le_numpy1.19python3.9.____cpython.yaml index e6feb69..9ce30bb 100644 --- a/.ci_support/linux_ppc64le_numpy1.19python3.9.____cpython.yaml +++ b/.ci_support/linux_ppc64le_numpy1.19python3.9.____cpython.yaml @@ -5,7 +5,7 @@ c_compiler_version: cdt_name: - cos7 channel_sources: -- conda-forge,defaults +- conda-forge channel_targets: - conda-forge main cxx_compiler: diff --git a/.ci_support/osx_64_numpy1.18python3.6.____cpython.yaml b/.ci_support/osx_64_numpy1.18python3.6.____cpython.yaml deleted file mode 100644 index 09274eb..0000000 --- a/.ci_support/osx_64_numpy1.18python3.6.____cpython.yaml +++ /dev/null @@ -1,37 +0,0 @@ -MACOSX_DEPLOYMENT_TARGET: -- '10.9' -c_compiler: -- clang -c_compiler_version: -- '11' -channel_sources: -- conda-forge,defaults -channel_targets: -- conda-forge main -cxx_compiler: -- clangxx -cxx_compiler_version: -- '11' -ipopt: -- '3.14' -libxml2: -- '2.9' -macos_machine: -- x86_64-apple-darwin13.4.0 -numpy: -- '1.18' -pin_run_as_build: - libxml2: - max_pin: x.x - python: - min_pin: x.x - max_pin: x.x -python: -- 3.6.* *_cpython -target_platform: -- osx-64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version -- - python - - numpy diff --git a/.ci_support/osx_64_numpy1.18python3.7.____cpython.yaml b/.ci_support/osx_64_numpy1.18python3.7.____cpython.yaml index 28fe491..35e1bd5 100644 --- a/.ci_support/osx_64_numpy1.18python3.7.____cpython.yaml +++ b/.ci_support/osx_64_numpy1.18python3.7.____cpython.yaml @@ -5,7 +5,7 @@ c_compiler: c_compiler_version: - '11' channel_sources: -- conda-forge,defaults +- conda-forge channel_targets: - conda-forge main cxx_compiler: diff --git a/.ci_support/osx_64_numpy1.18python3.8.____cpython.yaml b/.ci_support/osx_64_numpy1.18python3.8.____cpython.yaml index 0404272..bbedb52 100644 --- a/.ci_support/osx_64_numpy1.18python3.8.____cpython.yaml +++ b/.ci_support/osx_64_numpy1.18python3.8.____cpython.yaml @@ -5,7 +5,7 @@ c_compiler: c_compiler_version: - '11' channel_sources: -- conda-forge,defaults +- conda-forge channel_targets: - conda-forge main cxx_compiler: diff --git a/.ci_support/osx_64_numpy1.19python3.9.____cpython.yaml b/.ci_support/osx_64_numpy1.19python3.9.____cpython.yaml index 4470c05..af5d3dc 100644 --- a/.ci_support/osx_64_numpy1.19python3.9.____cpython.yaml +++ b/.ci_support/osx_64_numpy1.19python3.9.____cpython.yaml @@ -5,7 +5,7 @@ c_compiler: c_compiler_version: - '11' channel_sources: -- conda-forge,defaults +- conda-forge channel_targets: - conda-forge main cxx_compiler: diff --git a/.ci_support/win_64_numpy1.18python3.6.____cpython.yaml b/.ci_support/win_64_numpy1.18python3.6.____cpython.yaml deleted file mode 100644 index c8c79f0..0000000 --- a/.ci_support/win_64_numpy1.18python3.6.____cpython.yaml +++ /dev/null @@ -1,27 +0,0 @@ -c_compiler: -- vs2017 -channel_sources: -- conda-forge,defaults -channel_targets: -- conda-forge main -cxx_compiler: -- vs2017 -ipopt: -- '3.14' -libxml2: -- '2.9' -numpy: -- '1.18' -pin_run_as_build: - libxml2: - max_pin: x.x - python: - min_pin: x.x - max_pin: x.x -python: -- 3.6.* *_cpython -target_platform: -- win-64 -zip_keys: -- - python - - numpy diff --git a/.ci_support/win_64_numpy1.18python3.7.____cpython.yaml b/.ci_support/win_64_numpy1.18python3.7.____cpython.yaml index c37b258..29c094d 100644 --- a/.ci_support/win_64_numpy1.18python3.7.____cpython.yaml +++ b/.ci_support/win_64_numpy1.18python3.7.____cpython.yaml @@ -1,7 +1,7 @@ c_compiler: - vs2017 channel_sources: -- conda-forge,defaults +- conda-forge channel_targets: - conda-forge main cxx_compiler: diff --git a/.ci_support/win_64_numpy1.18python3.8.____cpython.yaml b/.ci_support/win_64_numpy1.18python3.8.____cpython.yaml index a937781..89eca09 100644 --- a/.ci_support/win_64_numpy1.18python3.8.____cpython.yaml +++ b/.ci_support/win_64_numpy1.18python3.8.____cpython.yaml @@ -1,7 +1,7 @@ c_compiler: - vs2017 channel_sources: -- conda-forge,defaults +- conda-forge channel_targets: - conda-forge main cxx_compiler: diff --git a/.ci_support/win_64_numpy1.19python3.9.____cpython.yaml b/.ci_support/win_64_numpy1.19python3.9.____cpython.yaml index a4a621f..52acc4f 100644 --- a/.ci_support/win_64_numpy1.19python3.9.____cpython.yaml +++ b/.ci_support/win_64_numpy1.19python3.9.____cpython.yaml @@ -1,7 +1,7 @@ c_compiler: - vs2017 channel_sources: -- conda-forge,defaults +- conda-forge channel_targets: - conda-forge main cxx_compiler: diff --git a/.drone.yml b/.drone.yml deleted file mode 100644 index f28326c..0000000 --- a/.drone.yml +++ /dev/null @@ -1,124 +0,0 @@ ---- -kind: pipeline -name: linux_aarch64_numpy1.18python3.6.____cpython - -platform: - os: linux - arch: arm64 - -steps: -- name: Install and build - image: quay.io/condaforge/linux-anvil-aarch64 - environment: - CONFIG: linux_aarch64_numpy1.18python3.6.____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" - ---- -kind: pipeline -name: linux_aarch64_numpy1.18python3.7.____cpython - -platform: - os: linux - arch: arm64 - -steps: -- name: Install and build - image: quay.io/condaforge/linux-anvil-aarch64 - environment: - CONFIG: linux_aarch64_numpy1.18python3.7.____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" - ---- -kind: pipeline -name: linux_aarch64_numpy1.18python3.8.____cpython - -platform: - os: linux - arch: arm64 - -steps: -- name: Install and build - image: quay.io/condaforge/linux-anvil-aarch64 - environment: - CONFIG: linux_aarch64_numpy1.18python3.8.____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" - ---- -kind: pipeline -name: linux_aarch64_numpy1.19python3.9.____cpython - -platform: - os: linux - arch: arm64 - -steps: -- name: Install and build - image: quay.io/condaforge/linux-anvil-aarch64 - environment: - CONFIG: linux_aarch64_numpy1.19python3.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 9060b27..ce52713 100644 --- a/.gitattributes +++ b/.gitattributes @@ -18,6 +18,7 @@ bld.bat text eol=crlf .gitignore linguist-generated=true .travis.yml linguist-generated=true .scripts/* linguist-generated=true +.woodpecker.yml 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 180ff1b..055a72d 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -25,7 +25,8 @@ conda-build: root-dir: ${FEEDSTOCK_ROOT}/build_artifacts CONDARC -BUILD_CMD=build +GET_BOA=boa +BUILD_CMD=mambabuild conda install --yes --quiet "conda-forge-ci-setup=3" conda-build pip ${GET_BOA:-} -c conda-forge @@ -46,6 +47,7 @@ source run_conda_forge_build_setup make_build_number "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" + ( endgroup "Configuring conda" ) 2> /dev/null if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then @@ -70,7 +72,7 @@ else ( startgroup "Uploading packages" ) 2> /dev/null - if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then + if [[ "${UPLOAD_PACKAGES}" != "False" ]] && [[ "${IS_PR_BUILD}" == "False" ]]; then upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" fi diff --git a/.scripts/run_docker_build.sh b/.scripts/run_docker_build.sh index 244ccd1..0c6515f 100755 --- a/.scripts/run_docker_build.sh +++ b/.scripts/run_docker_build.sh @@ -75,12 +75,15 @@ fi ( startgroup "Start Docker" ) 2> /dev/null export UPLOAD_PACKAGES="${UPLOAD_PACKAGES:-True}" +export IS_PR_BUILD="${IS_PR_BUILD:-False}" +docker pull "${DOCKER_IMAGE}" docker run ${DOCKER_RUN_ARGS} \ -v "${RECIPE_ROOT}":/home/conda/recipe_root:rw,z,delegated \ -v "${FEEDSTOCK_ROOT}":/home/conda/feedstock_root:rw,z,delegated \ -e CONFIG \ -e HOST_USER_ID \ -e UPLOAD_PACKAGES \ + -e IS_PR_BUILD \ -e GIT_BRANCH \ -e UPLOAD_ON_BRANCH \ -e CI \ @@ -91,9 +94,9 @@ docker run ${DOCKER_RUN_ARGS} \ -e BINSTAR_TOKEN \ -e FEEDSTOCK_TOKEN \ -e STAGING_BINSTAR_TOKEN \ - $DOCKER_IMAGE \ + "${DOCKER_IMAGE}" \ bash \ - /home/conda/feedstock_root/${PROVIDER_DIR}/build_steps.sh + "/home/conda/feedstock_root/${PROVIDER_DIR}/build_steps.sh" # verify that the end of the script was reached test -f "$DONE_CANARY" diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index 96d0278..d6de123 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -9,15 +9,17 @@ 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-x86_64.sh" +MINIFORGE_FILE="Miniforge3-MacOSX-$(uname -m).sh" curl -L -O "${MINIFORGE_URL}/${MINIFORGE_FILE}" +rm -rf ${MINIFORGE_HOME} bash $MINIFORGE_FILE -b -p ${MINIFORGE_HOME} ( endgroup "Installing a fresh version of Miniforge" ) 2> /dev/null ( startgroup "Configuring conda" ) 2> /dev/null -BUILD_CMD=build +GET_BOA=boa +BUILD_CMD=mambabuild source ${MINIFORGE_HOME}/etc/profile.d/conda.sh conda activate base @@ -62,7 +64,7 @@ validate_recipe_outputs "${FEEDSTOCK_NAME}" ( startgroup "Uploading packages" ) 2> /dev/null -if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then +if [[ "${UPLOAD_PACKAGES}" != "False" ]] && [[ "${IS_PR_BUILD}" == "False" ]]; then upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" ./ ./recipe ./.ci_support/${CONFIG}.yaml fi diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index f5e92fe..0000000 --- a/.travis.yml +++ /dev/null @@ -1,36 +0,0 @@ -# This file was generated automatically from conda-smithy. To update this configuration, -# update the conda-forge.yml and/or the recipe/meta.yaml. - -language: generic - - - -matrix: - include: - - env: CONFIG=linux_ppc64le_numpy1.18python3.6.____cpython UPLOAD_PACKAGES=True PLATFORM=linux-ppc64le DOCKER_IMAGE=quay.io/condaforge/linux-anvil-ppc64le - os: linux - arch: ppc64le - dist: focal - - - env: CONFIG=linux_ppc64le_numpy1.18python3.7.____cpython UPLOAD_PACKAGES=True PLATFORM=linux-ppc64le DOCKER_IMAGE=quay.io/condaforge/linux-anvil-ppc64le - os: linux - arch: ppc64le - dist: focal - - - env: CONFIG=linux_ppc64le_numpy1.18python3.8.____cpython UPLOAD_PACKAGES=True PLATFORM=linux-ppc64le DOCKER_IMAGE=quay.io/condaforge/linux-anvil-ppc64le - os: linux - arch: ppc64le - dist: focal - - - env: CONFIG=linux_ppc64le_numpy1.19python3.9.____cpython UPLOAD_PACKAGES=True PLATFORM=linux-ppc64le DOCKER_IMAGE=quay.io/condaforge/linux-anvil-ppc64le - os: linux - arch: ppc64le - dist: focal - -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/README.md b/README.md index 28a6530..e94b6be 100644 --- a/README.md +++ b/README.md @@ -13,21 +13,7 @@ Current build status ==================== - - - - - - - +
Travis - - macOS - -
Drone - - linux - -
@@ -41,13 +27,6 @@ Current build status
Azure
- - - - - - - - - - - - - - -
VariantStatus
linux_64_numpy1.18python3.6.____cpython - - variant - -
linux_64_numpy1.18python3.7.____cpython @@ -68,13 +47,6 @@ Current build status variant
linux_aarch64_numpy1.18python3.6.____cpython - - variant - -
linux_aarch64_numpy1.18python3.7.____cpython @@ -96,13 +68,6 @@ Current build status variant
linux_ppc64le_numpy1.18python3.6.____cpython - - variant - -
linux_ppc64le_numpy1.18python3.7.____cpython @@ -124,13 +89,6 @@ Current build status variant
osx_64_numpy1.18python3.6.____cpython - - variant - -
osx_64_numpy1.18python3.7.____cpython @@ -152,13 +110,6 @@ Current build status variant
win_64_numpy1.18python3.6.____cpython - - variant - -
win_64_numpy1.18python3.7.____cpython @@ -221,7 +172,8 @@ conda search idyntree --channel conda-forge About conda-forge ================= -[![Powered by NumFOCUS](https://img.shields.io/badge/powered%20by-NumFOCUS-orange.svg?style=flat&colorA=E1523D&colorB=007D8A)](http://numfocus.org) +[![Powered by +NumFOCUS](https://img.shields.io/badge/powered%20by-NumFOCUS-orange.svg?style=flat&colorA=E1523D&colorB=007D8A)](https://numfocus.org) conda-forge is a community-led conda channel of installable packages. In order to provide high-quality builds, the process has been automated into the diff --git a/build-locally.py b/build-locally.py index 00eeb34..8b74348 100755 --- a/build-locally.py +++ b/build-locally.py @@ -13,6 +13,7 @@ def setup_environment(ns): os.environ["CONFIG"] = ns.config os.environ["UPLOAD_PACKAGES"] = "False" + os.environ["IS_PR_BUILD"] = "True" if ns.debug: os.environ["BUILD_WITH_CONDA_DEBUG"] = "1" if ns.output_id: @@ -21,6 +22,10 @@ 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): diff --git a/conda-forge.yml b/conda-forge.yml index 617a754..a6b2d96 100644 --- a/conda-forge.yml +++ b/conda-forge.yml @@ -1,3 +1,5 @@ bot: {automerge: true} conda_forge_output_validation: true -provider: {linux_aarch64: default, linux_ppc64le: default} +provider: + linux_aarch64: azure + linux_ppc64le: azure diff --git a/recipe/bld.bat b/recipe/bld.bat index 6c02584..0477ee1 100644 --- a/recipe/bld.bat +++ b/recipe/bld.bat @@ -32,4 +32,40 @@ if errorlevel 1 exit 1 ctest --output-on-failure -C Release if errorlevel 1 exit 1 +:: Fix Python package version +cd .. +sed -i.bak "s|use_scm_version=dict(local_scheme=""dirty-tag""),|version=""%PKG_VERSION%"",|g" setup.py +if errorlevel 1 exit 1 + +:: Inspect diff +diff -u setup.py.bak setup.py + +:: Delete wheel folder +rmdir /s /q _dist_conda + +:: Generate the wheel +%PYTHON% ^ + -m build ^ + --wheel ^ + --outdir _dist_conda ^ + --no-isolation ^ + --skip-dependency-check ^ + "-C--global-option=build_ext" ^ + "-C--global-option=--no-cmake-extension=all" ^ + . +if errorlevel 1 exit 1 +:: Install Python package +%PYTHON% -m pip install ^ + --no-index --find-links=./_dist_conda/ ^ + --no-build-isolation --no-deps ^ + idyntree +if errorlevel 1 exit 1 + +:: Delete wheel folder +rmdir /s /q _dist_conda +if errorlevel 1 exit 1 + +:: Restore original files +move /y setup.py.bak setup.py +if errorlevel 1 exit 1 diff --git a/recipe/build.sh b/recipe/build.sh index 170a53e..37cf03c 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -22,8 +22,39 @@ cmake ${CMAKE_ARGS} -GNinja .. \ -DIDYNTREE_USES_LUA:BOOL=OFF \ -DIDYNTREE_COMPILES_YARP_TOOLS:BOOL=OFF \ -DPython3_EXECUTABLE:PATH=$PYTHON \ - -DIDYNTREE_DETECT_ACTIVE_PYTHON_SITEPACKAGES:BOOL=ON + -DIDYNTREE_DETECT_ACTIVE_PYTHON_SITEPACKAGES:BOOL=ON cmake --build . --config Release ${NUM_PARALLEL} cmake --build . --config Release --target install ctest --output-on-failure -C Release + +# Fix Python package version +cd .. +sed -i.bak "s|use_scm_version=dict(local_scheme=\"dirty-tag\"),|version=\"$PKG_VERSION\",|g" setup.py +diff -u setup.py{.bak,} || true + +# Delete wheel folder +rm -rf _dist_conda/ + +# Generate the wheel +$PYTHON \ + -m build \ + --wheel \ + --outdir _dist_conda \ + --no-isolation \ + --skip-dependency-check \ + "-C--global-option=build_ext" \ + "-C--global-option=--no-cmake-extension=all" \ + . + +# Install Python package +pip install \ + --no-index --find-links=./_dist_conda/ \ + --no-build-isolation --no-deps \ + idyntree + +# Delete wheel folder +rm -rf _dist_conda/ + +# Restore original files +mv setup.py{.bak,} diff --git a/recipe/meta.yaml b/recipe/meta.yaml index a4123e7..f0de622 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -10,7 +10,7 @@ source: sha256: 98d202817500d0440e72fff386a0d0dc94acba0e5aa25bda111be1b50ea9cf67 build: - number: 0 + number: 1 run_exports: - {{ pin_subpackage(name, max_pin='x') }} @@ -31,6 +31,10 @@ requirements: - {{ cdt('libxfixes') }} # [linux] - {{ cdt('libxau') }} # [linux] - {{ cdt('expat') }} # [linux] + - sed # [unix] + - diffutils # [unix] + - m2-sed # [win] + - m2-diffutils # [win] host: - libxml2 @@ -38,7 +42,10 @@ requirements: - eigen - irrlicht - swig + - pip + - build - python + - cmake-build-extension - numpy - libosqp - osqp-eigen @@ -59,8 +66,12 @@ test: - if not exist %PREFIX%\\Library\\lib\\idyntree-core.lib exit 1 # [win] - if not exist %PREFIX%\\Library\\bin\\idyntree-core.dll exit 1 # [win] - if not exist %PREFIX%\\Library\\lib\\cmake\\iDynTree\\iDynTreeConfig.cmake exit 1 # [win] + - test $(pip list | grep idyntree | tr -s " " | grep $PKG_VERSION | wc -l) -eq 1 # [unix] + - pip check imports: - idyntree + requires: + - pip about: home: https://github.com/robotology/idyntree