diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index f2765a7..27cf8b7 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -6,19 +6,25 @@ jobs: - job: linux pool: vmImage: ubuntu-16.04 - timeoutInMinutes: 360 strategy: - maxParallel: 8 matrix: linux_python3.6.____cpython: CONFIG: linux_python3.6.____cpython - UPLOAD_PACKAGES: True + UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: condaforge/linux-anvil-comp7 linux_python3.7.____cpython: CONFIG: linux_python3.7.____cpython - UPLOAD_PACKAGES: True + 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: | @@ -30,7 +36,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 3b064bf..9b47592 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -6,16 +6,16 @@ jobs: - job: osx pool: vmImage: macOS-10.14 - timeoutInMinutes: 360 strategy: - maxParallel: 8 matrix: osx_python3.6.____cpython: CONFIG: osx_python3.6.____cpython - UPLOAD_PACKAGES: True + UPLOAD_PACKAGES: 'True' osx_python3.7.____cpython: CONFIG: osx_python3.7.____cpython - UPLOAD_PACKAGES: True + UPLOAD_PACKAGES: 'True' + maxParallel: 8 + timeoutInMinutes: 360 steps: # TODO: Fast finish on azure pipelines? @@ -23,7 +23,10 @@ jobs: export CI=azure export OSX_FORCE_SDK_DOWNLOAD="1" export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) ./.scripts/run_osx_build.sh displayName: Run OSX 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-win.yml b/.azure-pipelines/azure-pipelines-win.yml index e0eea7a..cea47b4 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -6,24 +6,20 @@ 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 + UPLOAD_PACKAGES: 'True' win_python3.7.____cpython: CONFIG: win_python3.7.____cpython - CONDA_BLD_PATH: D:\\bld\\ - UPLOAD_PACKAGES: True - steps: - # TODO: Fast finish on azure pipelines? - - script: | - ECHO ON - + 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') @@ -99,12 +95,20 @@ jobs: 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%" + set "FEEDSTOCK_NAME=%BUILD_REPOSITORY_NAME:*/=%" call activate base - upload_package .\ ".\recipe" .ci_support\%CONFIG%.yaml + 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.____cpython.yaml b/.ci_support/linux_python3.6.____cpython.yaml index e7b2e5f..8547c92 100644 --- a/.ci_support/linux_python3.6.____cpython.yaml +++ b/.ci_support/linux_python3.6.____cpython.yaml @@ -1,5 +1,5 @@ arpack: -- 3.6.3 +- '3.7' bzip2: - '1' c_compiler: diff --git a/.ci_support/linux_python3.7.____cpython.yaml b/.ci_support/linux_python3.7.____cpython.yaml index d56cb1e..5a5482f 100644 --- a/.ci_support/linux_python3.7.____cpython.yaml +++ b/.ci_support/linux_python3.7.____cpython.yaml @@ -1,5 +1,5 @@ arpack: -- 3.6.3 +- '3.7' bzip2: - '1' c_compiler: diff --git a/.ci_support/migrations/arpack37.yaml b/.ci_support/migrations/arpack37.yaml new file mode 100644 index 0000000..b54534b --- /dev/null +++ b/.ci_support/migrations/arpack37.yaml @@ -0,0 +1,7 @@ +__migrator: + build_number: 1 + kind: version + migration_number: 1 +arpack: +- '3.7' +migrator_ts: 1586036033.4359639 diff --git a/.ci_support/osx_python3.6.____cpython.yaml b/.ci_support/osx_python3.6.____cpython.yaml index f06a2a9..82af334 100644 --- a/.ci_support/osx_python3.6.____cpython.yaml +++ b/.ci_support/osx_python3.6.____cpython.yaml @@ -1,13 +1,13 @@ MACOSX_DEPLOYMENT_TARGET: - '10.9' arpack: -- 3.6.3 +- '3.7' bzip2: - '1' c_compiler: - clang c_compiler_version: -- '9' +- '10' channel_sources: - conda-forge,defaults channel_targets: @@ -17,7 +17,7 @@ curl: cxx_compiler: - clangxx cxx_compiler_version: -- '9' +- '10' glpk: - '4.65' hdf5: diff --git a/.ci_support/osx_python3.7.____cpython.yaml b/.ci_support/osx_python3.7.____cpython.yaml index aba0044..a283db2 100644 --- a/.ci_support/osx_python3.7.____cpython.yaml +++ b/.ci_support/osx_python3.7.____cpython.yaml @@ -1,13 +1,13 @@ MACOSX_DEPLOYMENT_TARGET: - '10.9' arpack: -- 3.6.3 +- '3.7' bzip2: - '1' c_compiler: - clang c_compiler_version: -- '9' +- '10' channel_sources: - conda-forge,defaults channel_targets: @@ -17,7 +17,7 @@ curl: cxx_compiler: - clangxx cxx_compiler_version: -- '9' +- '10' glpk: - '4.65' hdf5: 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 5b14787..0d5ef1c 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -21,7 +21,6 @@ CONDARC 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}" @@ -31,10 +30,12 @@ source run_conda_forge_build_setup make_build_number "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" conda build "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ + --suppress-variables \ --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" +validate_recipe_outputs "${FEEDSTOCK_NAME}" if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then - upload_package "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" + upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" 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 253723c..e4d5bab 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 @@ -60,15 +64,19 @@ 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 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 index 775799b..d7e3c06 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -47,9 +47,10 @@ 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 --clobber-file ./.ci_support/clobber_${CONFIG}.yaml +conda build ./recipe -m ./.ci_support/${CONFIG}.yaml --suppress-variables --clobber-file ./.ci_support/clobber_${CONFIG}.yaml +validate_recipe_outputs "${FEEDSTOCK_NAME}" if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then echo -e "\n\nUploading the packages." - upload_package ./ ./recipe ./.ci_support/${CONFIG}.yaml + upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" ./ ./recipe ./.ci_support/${CONFIG}.yaml fi \ No newline at end of file diff --git a/README.md b/README.md index 30cc143..c683a0c 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ Home: http://shogun.ml Package license: GPL-3.0 -Feedstock license: BSD 3-Clause +Feedstock license: BSD-3-Clause Summary: Unified and efficient Machine Learning diff --git a/recipe/meta.yaml b/recipe/meta.yaml index bde5fdd..ef4d0dd 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -29,7 +29,7 @@ source: {% set lc, vs, ve, prefix, parbuild = "\\", "$", "", "$PREFIX", "-j $CPU_COUNT" %} # [unix] {% set lc, vs, ve, prefix, parbuild = "^", "%", "%", "%LIBRARY_PREFIX%", "" %} # [win] build: - number: 3 + number: 4 features: - blas_{{ blas_variant }} # [not win] skip: true # [win32 or (win and vc<14)] @@ -44,7 +44,7 @@ build: pylib=$(ldd $PYTHON | grep $PREFIX | grep 'libpython.*\.so' | cut -d' ' -f3) # [linux] cmake .. {{ lc }} - -G"{{vs}}CMAKE_GENERATOR{{ve}}" {{ lc }} + -G"{{ vs }}CMAKE_GENERATOR{{ ve }}" {{ lc }} -DCMAKE_PREFIX_PATH="{{ prefix }}" {{ lc }} -DCMAKE_INSTALL_PREFIX="{{ prefix }}" {{ lc }} -DCMAKE_BUILD_TYPE=Release {{ lc }} @@ -53,7 +53,7 @@ build: -DENABLE_TESTING=OFF {{ lc }} -DENABLE_COVERAGE=OFF {{ lc }} -DUSE_SVMLIGHT=OFF {{ lc }} - -DPYTHON_EXECUTABLE={{vs}}PYTHON{{ve}} {{ lc }} + -DPYTHON_EXECUTABLE={{ vs }}PYTHON{{ ve }} {{ lc }} -DPYTHON_INCLUDE_DIR=$pyinc \ # [unix] -DPYTHON_LIBRARY=$pylib \ # [unix] -DLIBSHOGUN=OFF {{ lc }}