diff --git a/.appveyor.yml b/.appveyor.yml deleted file mode 100644 index 8e6230d..0000000 --- a/.appveyor.yml +++ /dev/null @@ -1,56 +0,0 @@ -# This file was automatically generated by conda-smithy. To update a component of this -# file, make changes to conda-forge.yml and/or recipe/meta.yaml, and run -# "conda smithy rerender". -# -*- mode: yaml -*- - -environment: - - BINSTAR_TOKEN: - # The BINSTAR_TOKEN secure variable. This is defined canonically in conda-forge.yml. - secure: tumuXLL8PU75WMnRDemRy02ruEq2RpNxeK3dz0MjFssnosPm2v4EFjfNB4PTotA1 - - matrix: - - CONFIG: win_c_compilervs2008python2.7 - CONDA_INSTALL_LOCN: C:\Miniconda36-x64 - - - CONFIG: win_c_compilervs2015python3.6 - CONDA_INSTALL_LOCN: C:\Miniconda36-x64 - - - CONFIG: win_c_compilervs2015python3.7 - CONDA_INSTALL_LOCN: C:\Miniconda36-x64 - - -# We always use a 64-bit machine, but can build x86 distributions -# with the TARGET_ARCH variable. -platform: - - x64 - -install: - # If there is a newer build queued for the same PR, cancel this one. - - cmd: | - powershell -Command "(New-Object Net.WebClient).DownloadFile('https://raw.githubusercontent.com/conda-forge/conda-forge-ci-setup-feedstock/master/recipe/conda_forge_ci_setup/ff_ci_pr_build.py', 'ff_ci_pr_build.py')" - "%CONDA_INSTALL_LOCN%\python.exe" ff_ci_pr_build.py -v --ci "appveyor" "%APPVEYOR_ACCOUNT_NAME%/%APPVEYOR_PROJECT_SLUG%" "%APPVEYOR_BUILD_NUMBER%" "%APPVEYOR_PULL_REQUEST_NUMBER%" - del ff_ci_pr_build.py - - # Cygwin's git breaks conda-build. (See https://github.com/conda-forge/conda-smithy-feedstock/pull/2.) - - cmd: rmdir C:\cygwin /s /q - - # Add path, activate `conda` and update conda. - - cmd: call %CONDA_INSTALL_LOCN%\Scripts\activate.bat - - cmd: conda.exe update --yes --quiet conda - - - cmd: set PYTHONUNBUFFERED=1 - - # Configure the VM. - # Tell conda we want an updated version of conda-forge-ci-setup and conda-build - - cmd: conda.exe install -n root -c conda-forge --quiet --yes conda-forge-ci-setup=2 conda-build - - cmd: setup_conda_rc .\ .\recipe .\.ci_support\%CONFIG%.yaml - - cmd: run_conda_forge_build_setup - -# Skip .NET project specific build phase. -build: off - -test_script: - - conda.exe build recipe -m .ci_support\%CONFIG%.yaml -deploy_script: - - cmd: upload_package .\ .\recipe .ci_support\%CONFIG%.yaml \ No newline at end of file diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index 1e22d9a..57b0f5c 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -6,34 +6,35 @@ jobs: - job: linux pool: vmImage: ubuntu-16.04 - timeoutInMinutes: 240 + timeoutInMinutes: 360 strategy: maxParallel: 8 matrix: linux_python2.7: CONFIG: linux_python2.7 - UPLOAD_PACKAGES: False + UPLOAD_PACKAGES: True + DOCKER_IMAGE: condaforge/linux-anvil-comp7 linux_python3.6: CONFIG: linux_python3.6 - UPLOAD_PACKAGES: False + UPLOAD_PACKAGES: True + DOCKER_IMAGE: condaforge/linux-anvil-comp7 linux_python3.7: CONFIG: linux_python3.7 - UPLOAD_PACKAGES: False + UPLOAD_PACKAGES: True + DOCKER_IMAGE: condaforge/linux-anvil-comp7 steps: - - script: | - sudo pip install --upgrade pip - sudo pip install setuptools shyaml - displayName: Install dependencies - - # configure qemu binfmt-misc running. This allows us to run docker containers + # configure qemu binfmt-misc running. This allows us to run docker containers # embedded qemu-static - script: | - docker run --rm --privileged multiarch/qemu-user-static:register + docker run --rm --privileged multiarch/qemu-user-static:register --reset --credential yes ls /proc/sys/fs/binfmt_misc/ condition: not(startsWith(variables['CONFIG'], 'linux_64')) displayName: Configure binfmt_misc - - script: .azure-pipelines/run_docker_build.sh + - script: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + .scripts/run_docker_build.sh displayName: Run docker build env: BINSTAR_TOKEN: $(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 35efd7c..f60ae16 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -6,19 +6,19 @@ jobs: - job: osx pool: vmImage: macOS-10.13 - timeoutInMinutes: 240 + timeoutInMinutes: 360 strategy: maxParallel: 8 matrix: osx_python2.7: CONFIG: osx_python2.7 - UPLOAD_PACKAGES: False + UPLOAD_PACKAGES: True osx_python3.6: CONFIG: osx_python3.6 - UPLOAD_PACKAGES: False + UPLOAD_PACKAGES: True osx_python3.7: CONFIG: osx_python3.7 - UPLOAD_PACKAGES: False + UPLOAD_PACKAGES: True steps: # TODO: Fast finish on azure pipelines? @@ -34,29 +34,22 @@ jobs: rm ~/uninstall_homebrew displayName: Remove homebrew - - script: | - echo "Installing Miniconda" - set -x -e - curl -o $(Build.StagingDirectory)/miniconda.sh https://repo.continuum.io/miniconda/Miniconda3-latest-MacOSX-x86_64.sh - chmod +x $(Build.StagingDirectory)/miniconda.sh - $(Build.StagingDirectory)/miniconda.sh -b -p $(Build.StagingDirectory)/miniconda - export PATH=$(Build.StagingDirectory)/miniconda/bin:$PATH - echo "Setting up Conda environment" - displayName: 'Install miniconda' + - bash: | + echo "##vso[task.prependpath]$CONDA/bin" + sudo chown -R $USER $CONDA + displayName: Add conda to PATH - script: | - export PATH=$(Build.StagingDirectory)/miniconda/bin:$PATH - set -x -e + 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: | - set -x -e - export PATH=$(Build.StagingDirectory)/miniconda/bin:$PATH + 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: { @@ -65,28 +58,25 @@ jobs: displayName: Configure conda and conda-build - script: | - export PATH=$(Build.StagingDirectory)/miniconda/bin:$PATH - set -x -e + source activate base mangle_compiler ./ ./recipe ./.ci_support/${CONFIG}.yaml displayName: Mangle compiler - script: | - export PATH=$(Build.StagingDirectory)/miniconda/bin:$PATH - set -x -e + source activate base make_build_number ./ ./recipe ./.ci_support/${CONFIG}.yaml displayName: Generate build number clobber file - script: | - export PATH=$(Build.StagingDirectory)/miniconda/bin:$PATH - set -x -e + source activate base conda build ./recipe -m ./.ci_support/${CONFIG}.yaml --clobber-file ./.ci_support/clobber_${CONFIG}.yaml displayName: Build recipe - script: | - export PATH=$(Build.StagingDirectory)/miniconda/bin:$PATH - set -x -e + source activate base + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME upload_package ./ ./recipe ./.ci_support/${CONFIG}.yaml - displayName: Upload recipe + displayName: Upload package env: BINSTAR_TOKEN: $(BINSTAR_TOKEN) - condition: not(eq(variables['UPLOAD_PACKAGES'], 'False')) \ No newline at end of file + condition: and(succeeded(), not(eq(variables['UPLOAD_PACKAGES'], 'False'))) \ No newline at end of file diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index ba27b11..33289c6 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -6,22 +6,22 @@ jobs: - job: win pool: vmImage: vs2017-win2016 - timeoutInMinutes: 240 + timeoutInMinutes: 360 strategy: maxParallel: 4 matrix: win_c_compilervs2008python2.7: CONFIG: win_c_compilervs2008python2.7 CONDA_BLD_PATH: D:\\bld\\ - UPLOAD_PACKAGES: False + UPLOAD_PACKAGES: True win_c_compilervs2015python3.6: CONFIG: win_c_compilervs2015python3.6 CONDA_BLD_PATH: D:\\bld\\ - UPLOAD_PACKAGES: False + UPLOAD_PACKAGES: True win_c_compilervs2015python3.7: CONFIG: win_c_compilervs2015python3.7 CONDA_BLD_PATH: D:\\bld\\ - UPLOAD_PACKAGES: False + UPLOAD_PACKAGES: True steps: # TODO: Fast finish on azure pipelines? - script: | @@ -73,11 +73,11 @@ jobs: # Configure the VM - script: setup_conda_rc .\ .\recipe .\.ci_support\%CONFIG%.yaml - + # Configure the VM. - script: | + set "CI=azure" run_conda_forge_build_setup - displayName: conda-forge build setup @@ -103,7 +103,9 @@ jobs: condition: not(contains(variables['CONFIG'], 'vs2008')) - script: | + set "GIT_BRANCH=%BUILD_SOURCEBRANCHNAME%" upload_package .\ .\recipe .ci_support\%CONFIG%.yaml + displayName: Upload package env: BINSTAR_TOKEN: $(BINSTAR_TOKEN) - condition: not(eq(variables['UPLOAD_PACKAGES'], 'False')) + condition: and(succeeded(), not(eq(variables['UPLOAD_PACKAGES'], 'False'))) \ No newline at end of file diff --git a/.azure-pipelines/build_steps.sh b/.azure-pipelines/build_steps.sh deleted file mode 100755 index 779d52b..0000000 --- a/.azure-pipelines/build_steps.sh +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/env bash - -# PLEASE NOTE: This script has been automatically generated by conda-smithy. Any changes here -# will be lost next time ``conda smithy rerender`` is run. If you would like to make permanent -# changes to this script, consider a proposal to conda-smithy so that other feedstocks can also -# benefit from the improvement. - -set -xeuo pipefail -export PYTHONUNBUFFERED=1 -export FEEDSTOCK_ROOT=/home/conda/feedstock_root -export RECIPE_ROOT=/home/conda/recipe_root -export CI_SUPPORT=/home/conda/feedstock_root/.ci_support -export CONFIG_FILE="${CI_SUPPORT}/${CONFIG}.yaml" - -cat >~/.condarc </dev/null && pwd )" -PROVIDER_DIR="$(basename $THISDIR)" - -FEEDSTOCK_ROOT=$(cd "$(dirname "$0")/.."; pwd;) -RECIPE_ROOT="${FEEDSTOCK_ROOT}/recipe" - -docker info - -# In order for the conda-build process in the container to write to the mounted -# volumes, we need to run with the same id as the host machine, which is -# normally the owner of the mounted volumes, or at least has write permission -export HOST_USER_ID=$(id -u) -# Check if docker-machine is being used (normally on OSX) and get the uid from -# the VM -if hash docker-machine 2> /dev/null && docker-machine active > /dev/null; then - export HOST_USER_ID=$(docker-machine ssh $(docker-machine active) id -u) -fi - -ARTIFACTS="$FEEDSTOCK_ROOT/build_artifacts" - -if [ -z "$CONFIG" ]; then - echo "Need to set CONFIG env variable" - exit 1 -fi - -pip install shyaml -DOCKER_IMAGE=$(cat "${FEEDSTOCK_ROOT}/.ci_support/${CONFIG}.yaml" | shyaml get-value docker_image.0 condaforge/linux-anvil-comp7 ) - -mkdir -p "$ARTIFACTS" -DONE_CANARY="$ARTIFACTS/conda-forge-build-done-${CONFIG}" -rm -f "$DONE_CANARY" -# Not all providers run with a real tty. Disable using one -DOCKER_RUN_ARGS=" " - -export UPLOAD_PACKAGES="${UPLOAD_PACKAGES:-True}" -docker run ${DOCKER_RUN_ARGS} \ - -v "${RECIPE_ROOT}":/home/conda/recipe_root:ro,z \ - -v "${FEEDSTOCK_ROOT}":/home/conda/feedstock_root:rw,z \ - -e CONFIG \ - -e BINSTAR_TOKEN \ - -e HOST_USER_ID \ - -e UPLOAD_PACKAGES \ - $DOCKER_IMAGE \ - bash \ - /home/conda/feedstock_root/${PROVIDER_DIR}/build_steps.sh - -# verify that the end of the script was reached -test -f "$DONE_CANARY" \ No newline at end of file diff --git a/.ci_support/linux_python2.7.yaml b/.ci_support/linux_python2.7.yaml index a0cda5c..b63f737 100644 --- a/.ci_support/linux_python2.7.yaml +++ b/.ci_support/linux_python2.7.yaml @@ -1,5 +1,7 @@ c_compiler: - gcc +c_compiler_version: +- '7' channel_sources: - conda-forge,defaults channel_targets: @@ -7,7 +9,7 @@ channel_targets: docker_image: - condaforge/linux-anvil-comp7 numpy: -- '1.9' +- '1.14' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/linux_python3.6.yaml b/.ci_support/linux_python3.6.yaml index 0c971f0..60773f0 100644 --- a/.ci_support/linux_python3.6.yaml +++ b/.ci_support/linux_python3.6.yaml @@ -1,5 +1,7 @@ c_compiler: - gcc +c_compiler_version: +- '7' channel_sources: - conda-forge,defaults channel_targets: @@ -7,7 +9,7 @@ channel_targets: docker_image: - condaforge/linux-anvil-comp7 numpy: -- '1.9' +- '1.14' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/linux_python3.7.yaml b/.ci_support/linux_python3.7.yaml index 1cdb132..f7c6291 100644 --- a/.ci_support/linux_python3.7.yaml +++ b/.ci_support/linux_python3.7.yaml @@ -1,5 +1,7 @@ c_compiler: - gcc +c_compiler_version: +- '7' channel_sources: - conda-forge,defaults channel_targets: @@ -7,7 +9,7 @@ channel_targets: docker_image: - condaforge/linux-anvil-comp7 numpy: -- '1.9' +- '1.14' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/osx_python2.7.yaml b/.ci_support/osx_python2.7.yaml index 4469c9d..de200ce 100644 --- a/.ci_support/osx_python2.7.yaml +++ b/.ci_support/osx_python2.7.yaml @@ -2,6 +2,8 @@ MACOSX_DEPLOYMENT_TARGET: - '10.9' c_compiler: - clang +c_compiler_version: +- '9' channel_sources: - conda-forge,defaults channel_targets: @@ -11,7 +13,7 @@ macos_machine: macos_min_version: - '10.9' numpy: -- '1.9' +- '1.14' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/osx_python3.6.yaml b/.ci_support/osx_python3.6.yaml index c073578..19ccc69 100644 --- a/.ci_support/osx_python3.6.yaml +++ b/.ci_support/osx_python3.6.yaml @@ -2,6 +2,8 @@ MACOSX_DEPLOYMENT_TARGET: - '10.9' c_compiler: - clang +c_compiler_version: +- '9' channel_sources: - conda-forge,defaults channel_targets: @@ -11,7 +13,7 @@ macos_machine: macos_min_version: - '10.9' numpy: -- '1.9' +- '1.14' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/osx_python3.7.yaml b/.ci_support/osx_python3.7.yaml index b2477f0..67376d9 100644 --- a/.ci_support/osx_python3.7.yaml +++ b/.ci_support/osx_python3.7.yaml @@ -2,6 +2,8 @@ MACOSX_DEPLOYMENT_TARGET: - '10.9' c_compiler: - clang +c_compiler_version: +- '9' channel_sources: - conda-forge,defaults channel_targets: @@ -11,7 +13,7 @@ macos_machine: macos_min_version: - '10.9' numpy: -- '1.9' +- '1.14' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/win_c_compilervs2008python2.7.yaml b/.ci_support/win_c_compilervs2008python2.7.yaml index 59bc9a5..f11f0fe 100644 --- a/.ci_support/win_c_compilervs2008python2.7.yaml +++ b/.ci_support/win_c_compilervs2008python2.7.yaml @@ -5,7 +5,7 @@ channel_sources: channel_targets: - conda-forge main numpy: -- '1.11' +- '1.14' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/win_c_compilervs2015python3.6.yaml b/.ci_support/win_c_compilervs2015python3.6.yaml index 1f34627..760283d 100644 --- a/.ci_support/win_c_compilervs2015python3.6.yaml +++ b/.ci_support/win_c_compilervs2015python3.6.yaml @@ -5,7 +5,7 @@ channel_sources: channel_targets: - conda-forge main numpy: -- '1.11' +- '1.14' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/win_c_compilervs2015python3.7.yaml b/.ci_support/win_c_compilervs2015python3.7.yaml index 34807e0..012bf6f 100644 --- a/.ci_support/win_c_compilervs2015python3.7.yaml +++ b/.ci_support/win_c_compilervs2015python3.7.yaml @@ -5,7 +5,7 @@ channel_sources: channel_targets: - conda-forge main numpy: -- '1.11' +- '1.14' pin_run_as_build: python: min_pin: x.x diff --git a/.circleci/checkout_merge_commit.sh b/.circleci/checkout_merge_commit.sh deleted file mode 100755 index 9528e4b..0000000 --- a/.circleci/checkout_merge_commit.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/bash - - -# Update PR refs for testing. -if [[ -n "${CIRCLE_PR_NUMBER}" ]] -then - FETCH_REFS="${FETCH_REFS} +refs/pull/${CIRCLE_PR_NUMBER}/head:pr/${CIRCLE_PR_NUMBER}/head" - FETCH_REFS="${FETCH_REFS} +refs/pull/${CIRCLE_PR_NUMBER}/merge:pr/${CIRCLE_PR_NUMBER}/merge" -fi - -# Retrieve the refs. -if [[ -n "${CIRCLE_PR_NUMBER}" ]] -then - git fetch -u origin ${FETCH_REFS} -fi - -# Checkout the PR merge ref. -if [[ -n "${CIRCLE_PR_NUMBER}" ]] -then - git checkout -qf "pr/${CIRCLE_PR_NUMBER}/merge" -fi - -# Check for merge conflicts. -if [[ -n "${CIRCLE_PR_NUMBER}" ]] -then - git branch --merged | grep "pr/${CIRCLE_PR_NUMBER}/head" > /dev/null -fi diff --git a/.circleci/config.yml b/.circleci/config.yml index 59da584..6ad461b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -5,62 +5,20 @@ version: 2 jobs: - build_linux_python2.7: + build: working_directory: ~/test machine: true - environment: - - CONFIG: "linux_python2.7" steps: - - checkout - run: - name: Fast finish outdated PRs and merge PRs - command: | - ./.circleci/fast_finish_ci_pr_build.sh - ./.circleci/checkout_merge_commit.sh - - run: - command: docker pull condaforge/linux-anvil-comp7 - - run: - # Run, test and (if we have a BINSTAR_TOKEN) upload the distributions. - command: ./.circleci/run_docker_build.sh - build_linux_python3.6: - working_directory: ~/test - machine: true - environment: - - CONFIG: "linux_python3.6" - steps: - - checkout - - run: - name: Fast finish outdated PRs and merge PRs - command: | - ./.circleci/fast_finish_ci_pr_build.sh - ./.circleci/checkout_merge_commit.sh - - run: - command: docker pull condaforge/linux-anvil-comp7 - - run: - # Run, test and (if we have a BINSTAR_TOKEN) upload the distributions. - command: ./.circleci/run_docker_build.sh - build_linux_python3.7: - working_directory: ~/test - machine: true - environment: - - CONFIG: "linux_python3.7" - steps: - - checkout - - run: - name: Fast finish outdated PRs and merge PRs - command: | - ./.circleci/fast_finish_ci_pr_build.sh - ./.circleci/checkout_merge_commit.sh - - run: - command: docker pull condaforge/linux-anvil-comp7 - - run: - # Run, test and (if we have a BINSTAR_TOKEN) upload the distributions. - command: ./.circleci/run_docker_build.sh + # The Circle-CI build should not be active, but if this is not true for some reason, do a fast finish. + command: exit 0 workflows: version: 2 build_and_test: jobs: - - build_linux_python2.7 - - build_linux_python3.6 - - build_linux_python3.7 + - build: + filters: + branches: + ignore: + - /.*/ diff --git a/.circleci/fast_finish_ci_pr_build.sh b/.circleci/fast_finish_ci_pr_build.sh deleted file mode 100755 index 4c0b560..0000000 --- a/.circleci/fast_finish_ci_pr_build.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash - -curl https://raw.githubusercontent.com/conda-forge/conda-forge-ci-setup-feedstock/master/recipe/conda_forge_ci_setup/ff_ci_pr_build.py | \ - python - -v --ci "circle" "${CIRCLE_PROJECT_USERNAME}/${CIRCLE_PROJECT_REPONAME}" "${CIRCLE_BUILD_NUM}" "${CIRCLE_PR_NUMBER}" diff --git a/.gitattributes b/.gitattributes index 974953e..ac943c1 100644 --- a/.gitattributes +++ b/.gitattributes @@ -5,3 +5,21 @@ meta.yaml text eol=lf build.sh text eol=lf 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 +.drone/* linguist-generated=true +.drone.yml linguist-generated=true +.github/* linguist-generated=true +.travis/* linguist-generated=true +.appveyor.yml linguist-generated=true +.gitattributes linguist-generated=true +.gitignore linguist-generated=true +.travis.yml linguist-generated=true +.scripts linguist-generated=true +LICENSE.txt linguist-generated=true +README.md linguist-generated=true +azure-pipelines.yml linguist-generated=true +build-locally.py linguist-generated=true +shippable.yml linguist-generated=true diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000..c67bf28 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1 @@ +* @QuLogic @ThomasLecocq @barsch @krischer @megies \ No newline at end of file diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md deleted file mode 100644 index d87090f..0000000 --- a/.github/CONTRIBUTING.md +++ /dev/null @@ -1,15 +0,0 @@ -Thanks for your interest in helping out conda-forge. - -Whether you are brand new or a seasoned maintainer, we always appreciate -feedback from the community about how we can improve conda-forge. If you -are submitting a PR or issue, please fill out the respective template. Should -any questions arise please feel free to ask the maintainer team of the -respective feedstock or reach out to `@conda-forge/core` for more complex -issues. - -In the case of any issues reported, please be sure to demonstrate the relevant -issue (even if it is an absence of a feature). Providing this information will -help busy maintainers understand what it is you hope to accomplish. Also this -will help provide them clues as to what might be going wrong. These examples -can also be reused as tests in the build to ensure further packages meet these -criteria. This is requested to help you get timely and relevant feedback. :) diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md deleted file mode 100644 index fc95334..0000000 --- a/.github/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,25 +0,0 @@ - -Issue: - -
-Environment (conda list): -
- -``` -$ conda list - -``` -
- -
-Details about conda and system ( conda info ): -
- -``` -$ conda info - -``` -
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index 047fdaf..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,18 +0,0 @@ - -Checklist -* [ ] Used a fork of the feedstock to propose changes -* [ ] Bumped the build number (if the version is unchanged) -* [ ] Reset the build number to `0` (if the version changed) -* [ ] [Re-rendered]( https://conda-forge.org/docs/conda_smithy.html#how-to-re-render ) with the latest `conda-smithy` (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering) -* [ ] Ensured the license file is being packaged. - - - - diff --git a/.circleci/build_steps.sh b/.scripts/build_steps.sh similarity index 65% rename from .circleci/build_steps.sh rename to .scripts/build_steps.sh index 1301eb6..6e392b4 100755 --- a/.circleci/build_steps.sh +++ b/.scripts/build_steps.sh @@ -7,15 +7,15 @@ set -xeuo pipefail export PYTHONUNBUFFERED=1 -export FEEDSTOCK_ROOT=/home/conda/feedstock_root -export RECIPE_ROOT=/home/conda/recipe_root -export CI_SUPPORT=/home/conda/feedstock_root/.ci_support +export FEEDSTOCK_ROOT="${FEEDSTOCK_ROOT:-/home/conda/feedstock_root}" +export RECIPE_ROOT="${RECIPE_ROOT:-/home/conda/recipe_root}" +export CI_SUPPORT="${FEEDSTOCK_ROOT}/.ci_support" export CONFIG_FILE="${CI_SUPPORT}/${CONFIG}.yaml" cat >~/.condarc </dev/null && pwd )" PROVIDER_DIR="$(basename $THISDIR)" @@ -28,18 +28,33 @@ fi ARTIFACTS="$FEEDSTOCK_ROOT/build_artifacts" if [ -z "$CONFIG" ]; then - echo "Need to set CONFIG env variable" + set +x + FILES=`ls .ci_support/linux_*` + CONFIGS="" + for file in $FILES; do + CONFIGS="${CONFIGS}'${file:12:-5}' or "; + done + echo "Need to set CONFIG env variable. Value can be one of ${CONFIGS:0:-4}" exit 1 fi -pip install shyaml -DOCKER_IMAGE=$(cat "${FEEDSTOCK_ROOT}/.ci_support/${CONFIG}.yaml" | shyaml get-value docker_image.0 condaforge/linux-anvil-comp7 ) +if [ -z "${DOCKER_IMAGE}" ]; then + SHYAML_INSTALLED="$(shyaml -h || echo NO)" + if [ "${SHYAML_INSTALLED}" == "NO" ]; then + echo "WARNING: DOCKER_IMAGE variable not set and shyaml not installed. Falling back to condaforge/linux-anvil-comp7" + DOCKER_IMAGE="condaforge/linux-anvil-comp7" + else + DOCKER_IMAGE="$(cat "${FEEDSTOCK_ROOT}/.ci_support/${CONFIG}.yaml" | shyaml get-value docker_image.0 condaforge/linux-anvil-comp7 )" + fi +fi mkdir -p "$ARTIFACTS" DONE_CANARY="$ARTIFACTS/conda-forge-build-done-${CONFIG}" rm -f "$DONE_CANARY" -# Enable running in interactive mode attached to a tty -DOCKER_RUN_ARGS=" -it " + +if [ -z "${CI}" ]; then + DOCKER_RUN_ARGS="-it " +fi export UPLOAD_PACKAGES="${UPLOAD_PACKAGES:-True}" docker run ${DOCKER_RUN_ARGS} \ @@ -49,6 +64,9 @@ docker run ${DOCKER_RUN_ARGS} \ -e BINSTAR_TOKEN \ -e HOST_USER_ID \ -e UPLOAD_PACKAGES \ + -e GIT_BRANCH \ + -e UPLOAD_ON_BRANCH \ + -e CI \ $DOCKER_IMAGE \ bash \ /home/conda/feedstock_root/${PROVIDER_DIR}/build_steps.sh diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index dda5be7..0000000 --- a/.travis.yml +++ /dev/null @@ -1,67 +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. -# -*- mode: yaml -*- - -language: generic - -os: osx -osx_image: xcode9.4 - - -env: - matrix: - - CONFIG=osx_python2.7 - - CONFIG=osx_python3.6 - - CONFIG=osx_python3.7 - - global: - # The BINSTAR_TOKEN secure variable. This is defined canonically in conda-forge.yml. - - secure: "of7GCFqHLK4iJtuZGC4qFOzEfWmVqdnFsJdYtQsS3ADXyOcF3RRc0AJ75oCvHy92aWte+U0u6dVvIwESqWdxCPIvHE45NEJ+mezL/H+uap+Ad6JCMxTQpUK3TUVx/XBSy7rV6zsLLm8byMthPCf/mU4NiLZK9qzVUUyN+0FOvyFYrttBzlkplPQ2p8qF5g7vbu8VLOIzp6cN3NleSaFtdNx6G2HbzEyBENhxX6ZYcEsS/LtongT7PrWgobdT+Oxmy6Ut9V7nXrIkO+Q+AWh/K3nTPY1qLmLQ708VNiKT8Tuum9Id3xBJbbdOfZdceLO4QpLKqAcdB6LGFJqErwyvvKHt6BzJ7jcQLjkgYs1I3qqbGUdZ94jzV4h2JrfGX7UbrxyPDlEDXvrBfCJ+9LBeTd5cAredlVKMfL4qSrreo1yQ9H5/FEubF18FhktXRpoFQQhINigB40wuHG+6gctytD6yopaqtRbSoCuCrvgFgi69A6DSt0Wnf48wnk26e34oHn06qQYV4qmj4G2Ec6uvjeDv2uwananda6ZVUNuL4xEJuc0CSCszr77+dZ6u0a5TITQKlx+JGuncqO3I0KShL4qDepbFhUAdGu6Z4v/yQYL48QwA4q7GhJLS0hBTecU1CMf1ellbvW90eu+ffB8xCuEeAfkMo211G3vVvBVED4E=" - - -before_install: - # Fast finish the PR. - - | - (curl https://raw.githubusercontent.com/conda-forge/conda-forge-ci-setup-feedstock/master/recipe/conda_forge_ci_setup/ff_ci_pr_build.py | \ - python - -v --ci "travis" "${TRAVIS_REPO_SLUG}" "${TRAVIS_BUILD_NUMBER}" "${TRAVIS_PULL_REQUEST}") || exit 1 - - # Remove homebrew. - - | - echo "" - echo "Removing homebrew from Travis CI 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 - - -install: - # Install Miniconda. - - | - echo "" - echo "Installing a fresh version of Miniconda." - MINICONDA_URL="https://repo.continuum.io/miniconda" - MINICONDA_FILE="Miniconda3-latest-MacOSX-x86_64.sh" - curl -L -O "${MINICONDA_URL}/${MINICONDA_FILE}" - bash $MINICONDA_FILE -b - - # Configure conda. - - | - echo "" - echo "Configuring conda." - source /Users/travis/miniconda3/bin/activate root - - conda install -n root -c conda-forge --quiet --yes conda-forge-ci-setup=2 conda-build - setup_conda_rc ./ ./recipe ./.ci_support/${CONFIG}.yaml - - source run_conda_forge_build_setup - - # compiler cleanup - - | - mangle_compiler ./ ./recipe ./.ci_support/${CONFIG}.yaml - -script: - # generate the build number clobber - - make_build_number ./ ./recipe ./.ci_support/${CONFIG}.yaml - - conda build ./recipe -m ./.ci_support/${CONFIG}.yaml --clobber-file ./.ci_support/clobber_${CONFIG}.yaml - - upload_package ./ ./recipe ./.ci_support/${CONFIG}.yaml \ No newline at end of file diff --git a/LICENSE.txt b/LICENSE.txt index 72dc8fd..cba42cf 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,5 +1,5 @@ BSD 3-clause license -Copyright (c) 2015-2018, conda-forge +Copyright (c) 2015-2019, conda-forge 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 6edc56e..cf8597b 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,3 @@ - - About obspy =========== @@ -23,9 +19,96 @@ et al. 2010, Megies et al. 2011, Krischer et al. 2015). Current build status ==================== -[![Linux](https://img.shields.io/circleci/project/github/conda-forge/obspy-feedstock/master.svg?label=Linux)](https://circleci.com/gh/conda-forge/obspy-feedstock) -[![OSX](https://img.shields.io/travis/conda-forge/obspy-feedstock/master.svg?label=macOS)](https://travis-ci.org/conda-forge/obspy-feedstock) -[![Windows](https://img.shields.io/appveyor/ci/conda-forge/obspy-feedstock/master.svg?label=Windows)](https://ci.appveyor.com/project/conda-forge/obspy-feedstock/branch/master) + + + + + + + + + + + +
Azure +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VariantStatus
linux_python2.7 + + variant + +
linux_python3.6 + + variant + +
linux_python3.7 + + variant + +
osx_python2.7 + + variant + +
osx_python3.6 + + variant + +
osx_python3.7 + + variant + +
win_c_compilervs2008python2.7 + + variant + +
win_c_compilervs2015python3.6 + + variant + +
win_c_compilervs2015python3.7 + + variant + +
+
+
Linux_ppc64le + ppc64le disabled +
Current release info ==================== @@ -70,7 +153,7 @@ A feedstock is made up of a conda recipe (the instructions on what and how to bu 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.org/) it is possible to build and upload installable +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. diff --git a/build-locally.py b/build-locally.py new file mode 100755 index 0000000..8f7ecca --- /dev/null +++ b/build-locally.py @@ -0,0 +1,63 @@ +#!/usr/bin/env python3 +# +# This file has been generated by conda-smithy in order to build the recipe +# locally. +# +import os +import glob +import subprocess +from argparse import ArgumentParser + + +def setup_environment(ns): + os.environ["CONFIG"] = ns.config + os.environ["UPLOAD_PACKAGES"] = "False" + + +def run_docker_build(ns): + script = ".scripts/run_docker_build.sh" + subprocess.check_call([script]) + + +def verify_config(ns): + valid_configs = { + os.path.basename(f)[:-5] for f in glob.glob(".ci_support/*.yaml") + } + print(f"valid configs are {valid_configs}") + if ns.config in valid_configs: + print("Using " + ns.config + " configuration") + return + elif len(valid_configs) == 1: + ns.config = valid_configs.pop() + print("Found " + ns.config + " configuration") + elif ns.config is None: + print("config not selected, please choose from the following:\n") + selections = list(enumerate(sorted(valid_configs), 1)) + for i, c in selections: + print(f"{i}. {c}") + s = input("\n> ") + idx = int(s) - 1 + ns.config = selections[idx][1] + print(f"selected {ns.config}") + else: + raise ValueError("config " + ns.config + " is not valid") + # Remove the following, as implemented + if not ns.config.startswith("linux"): + raise ValueError( + f"only Linux configs currently supported, got {ns.config}" + ) + + +def main(args=None): + p = ArgumentParser("build-locally") + p.add_argument("config", default=None, nargs="?") + + ns = p.parse_args(args=args) + verify_config(ns) + setup_environment(ns) + + run_docker_build(ns) + + +if __name__ == "__main__": + main() diff --git a/recipe/meta.yaml b/recipe/meta.yaml index c8725cd..789fb53 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -12,7 +12,7 @@ source: sha256: {{ sha256 }} build: - number: 1 + number: 2 preserve_egg_dir: yes detect_binary_files_with_prefix: true script: python setup.py install --single-version-externally-managed --record record.txt @@ -27,7 +27,7 @@ requirements: - future - numpy - scipy - - matplotlib + - matplotlib-base - lxml - sqlalchemy - requests @@ -38,7 +38,7 @@ requirements: - future - numpy <1.16 - scipy - - matplotlib + - matplotlib-base - lxml - sqlalchemy - requests @@ -54,7 +54,7 @@ requirements: test: requires: - flake8 - - matplotlib + - matplotlib-base - pyshp - basemap imports: diff --git a/recipe/yum_requirements.txt b/recipe/yum_requirements.txt new file mode 100644 index 0000000..018785a --- /dev/null +++ b/recipe/yum_requirements.txt @@ -0,0 +1 @@ +xorg-x11-server-Xorg