diff --git a/.appveyor.yml b/.appveyor.yml deleted file mode 100644 index fbff09b..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". - -environment: - - BINSTAR_TOKEN: - # The BINSTAR_TOKEN secure variable. This is defined canonically in conda-forge.yml. - secure: tumuXLL8PU75WMnRDemRy02ruEq2RpNxeK3dz0MjFssnosPm2v4EFjfNB4PTotA1 - - matrix: - - CONFIG: win_c_compilervs2008cxx_compilervs2008 - CONDA_INSTALL_LOCN: C:\Miniconda36-x64 - - - CONFIG: win_c_compilervs2015cxx_compilervs2015 - 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/branch2.0/recipe/conda_forge_ci_setup/ff_ci_pr_build.py', 'ff_ci_pr_build.py')" - ff_ci_pr_build -v --ci "appveyor" "%APPVEYOR_ACCOUNT_NAME%/%APPVEYOR_PROJECT_SLUG%" "%APPVEYOR_BUILD_NUMBER%" "%APPVEYOR_PULL_REQUEST_NUMBER%" - del ff_ci_pr_build.py - - # Cywing'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 - - # Add our channels. - - cmd: conda.exe config --set show_channel_urls true - - cmd: conda.exe config --remove channels defaults - - cmd: conda.exe config --add channels defaults - - cmd: conda.exe config --add channels conda-forge - - # Configure the VM. - - cmd: conda.exe install -n root --quiet --yes conda-forge-ci-setup=2 - - 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 --quiet -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 new file mode 100755 index 0000000..9ffb709 --- /dev/null +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -0,0 +1,32 @@ +# 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 -*- + +jobs: +- job: linux + pool: + vmImage: ubuntu-16.04 + timeoutInMinutes: 360 + strategy: + maxParallel: 8 + matrix: + linux_: + CONFIG: linux_ + UPLOAD_PACKAGES: True + DOCKER_IMAGE: condaforge/linux-anvil-comp7 + steps: + # 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 --reset --credential yes + ls /proc/sys/fs/binfmt_misc/ + condition: not(startsWith(variables['CONFIG'], 'linux_64')) + displayName: Configure binfmt_misc + + - 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 new file mode 100755 index 0000000..ca72508 --- /dev/null +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -0,0 +1,76 @@ +# 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 -*- + +jobs: +- job: osx + pool: + vmImage: macOS-10.13 + timeoutInMinutes: 360 + strategy: + maxParallel: 8 + matrix: + osx_: + CONFIG: osx_ + UPLOAD_PACKAGES: True + + 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 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')) \ No newline at end of file diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml new file mode 100755 index 0000000..92ce10e --- /dev/null +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -0,0 +1,107 @@ +# 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 -*- + +jobs: +- job: win + pool: + vmImage: vs2017-win2016 + timeoutInMinutes: 360 + strategy: + maxParallel: 4 + matrix: + win_c_compilervs2008cxx_compilervs2008: + CONFIG: win_c_compilervs2008cxx_compilervs2008 + CONDA_BLD_PATH: D:\\bld\\ + UPLOAD_PACKAGES: True + win_c_compilervs2015cxx_compilervs2015: + CONFIG: win_c_compilervs2015cxx_compilervs2015 + CONDA_BLD_PATH: D:\\bld\\ + UPLOAD_PACKAGES: True + steps: + # TODO: Fast finish on azure pipelines? + - script: | + ECHO ON + + + - script: | + choco install vcpython27 -fdv -y --debug + condition: contains(variables['CONFIG'], 'vs2008') + displayName: Install vcpython27.msi (if needed) + + # Cygwin's git breaks conda-build. (See https://github.com/conda-forge/conda-smithy-feedstock/pull/2.) + # - script: rmdir C:\cygwin /s /q + # continueOnError: true + + - powershell: | + Set-PSDebug -Trace 1 + + $batchcontent = @" + ECHO ON + SET vcpython=C:\Program Files (x86)\Common Files\Microsoft\Visual C++ for Python\9.0 + + DIR "%vcpython%" + + CALL "%vcpython%\vcvarsall.bat" %* + "@ + + $batchDir = "C:\Program Files (x86)\Common Files\Microsoft\Visual C++ for Python\9.0\VC" + $batchPath = "$batchDir" + "\vcvarsall.bat" + New-Item -Path $batchPath -ItemType "file" -Force + + Set-Content -Value $batchcontent -Path $batchPath + + Get-ChildItem -Path $batchDir + + Get-ChildItem -Path ($batchDir + '\..') + + condition: contains(variables['CONFIG'], 'vs2008') + displayName: Patch vs2008 (if needed) + + - task: CondaEnvironment@1 + inputs: + packageSpecs: 'python=3.6 conda-build conda conda-forge::conda-forge-ci-setup=2' # Optional + installOptions: "-c conda-forge" + updateConda: false + displayName: Install conda-build and activate environment + + - script: set PYTHONUNBUFFERED=1 + + # 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 + + + - script: | + rmdir C:\strawberry /s /q + continueOnError: true + displayName: remove strawberryperl + + # Special cased version setting some more things! + - script: | + conda.exe build recipe -m .ci_support\%CONFIG%.yaml + displayName: Build recipe (vs2008) + env: + VS90COMNTOOLS: "C:\\Program Files (x86)\\Common Files\\Microsoft\\Visual C++ for Python\\9.0\\VC\\bin" + PYTHONUNBUFFERED: 1 + condition: contains(variables['CONFIG'], 'vs2008') + + - script: | + conda.exe build recipe -m .ci_support\%CONFIG%.yaml + displayName: Build recipe + env: + PYTHONUNBUFFERED: 1 + 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')) diff --git a/.ci_support/linux_.yaml b/.ci_support/linux_.yaml new file mode 100644 index 0000000..7e88bf4 --- /dev/null +++ b/.ci_support/linux_.yaml @@ -0,0 +1,14 @@ +c_compiler: +- gcc +c_compiler_version: +- '7' +channel_sources: +- conda-forge,defaults +channel_targets: +- conda-forge main +cxx_compiler: +- gxx +cxx_compiler_version: +- '7' +docker_image: +- condaforge/linux-anvil-comp7 diff --git a/.ci_support/linux_c_compilergcccxx_compilergxx.yaml b/.ci_support/linux_c_compilergcccxx_compilergxx.yaml deleted file mode 100644 index 37719d5..0000000 --- a/.ci_support/linux_c_compilergcccxx_compilergxx.yaml +++ /dev/null @@ -1,19 +0,0 @@ -build_number_decrement: -- '0' -c_compiler: -- gcc -channel_sources: -- conda-forge/label/gcc7,defaults -channel_targets: -- conda-forge gcc7 -cxx_compiler: -- gxx -docker_image: -- condaforge/linux-anvil-comp7 -zip_keys: -- - c_compiler - - cxx_compiler - - channel_sources - - channel_targets - - docker_image - - build_number_decrement diff --git a/.ci_support/linux_c_compilertoolchain_ccxx_compilertoolchain_cxx.yaml b/.ci_support/linux_c_compilertoolchain_ccxx_compilertoolchain_cxx.yaml deleted file mode 100644 index a582adc..0000000 --- a/.ci_support/linux_c_compilertoolchain_ccxx_compilertoolchain_cxx.yaml +++ /dev/null @@ -1,19 +0,0 @@ -build_number_decrement: -- '1000' -c_compiler: -- toolchain_c -channel_sources: -- conda-forge,defaults -channel_targets: -- conda-forge main -cxx_compiler: -- toolchain_cxx -docker_image: -- condaforge/linux-anvil -zip_keys: -- - c_compiler - - cxx_compiler - - channel_sources - - channel_targets - - docker_image - - build_number_decrement diff --git a/.ci_support/osx_c_compilertoolchain_ccxx_compilertoolchain_cxx.yaml b/.ci_support/osx_.yaml similarity index 54% rename from .ci_support/osx_c_compilertoolchain_ccxx_compilertoolchain_cxx.yaml rename to .ci_support/osx_.yaml index d6ff317..8958130 100644 --- a/.ci_support/osx_c_compilertoolchain_ccxx_compilertoolchain_cxx.yaml +++ b/.ci_support/osx_.yaml @@ -1,22 +1,18 @@ MACOSX_DEPLOYMENT_TARGET: - '10.9' -build_number_decrement: -- '1000' c_compiler: -- toolchain_c +- clang +c_compiler_version: +- '9' channel_sources: - conda-forge,defaults channel_targets: - conda-forge main cxx_compiler: -- toolchain_cxx +- clangxx +cxx_compiler_version: +- '9' macos_machine: - x86_64-apple-darwin13.4.0 macos_min_version: - '10.9' -zip_keys: -- - c_compiler - - cxx_compiler - - channel_sources - - channel_targets - - build_number_decrement diff --git a/.ci_support/osx_c_compilerclangcxx_compilerclangxx.yaml b/.ci_support/osx_c_compilerclangcxx_compilerclangxx.yaml deleted file mode 100644 index 6edc359..0000000 --- a/.ci_support/osx_c_compilerclangcxx_compilerclangxx.yaml +++ /dev/null @@ -1,22 +0,0 @@ -MACOSX_DEPLOYMENT_TARGET: -- '10.9' -build_number_decrement: -- '0' -c_compiler: -- clang -channel_sources: -- conda-forge/label/gcc7,defaults -channel_targets: -- conda-forge gcc7 -cxx_compiler: -- clangxx -macos_machine: -- x86_64-apple-darwin13.4.0 -macos_min_version: -- '10.9' -zip_keys: -- - c_compiler - - cxx_compiler - - channel_sources - - channel_targets - - build_number_decrement 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 216dda6..6ad461b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,44 +1,24 @@ +# 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 -*- + version: 2 jobs: - build_linux_c_compilergcccxx_compilergxx: + build: working_directory: ~/test machine: true - environment: - - CONFIG: "linux_c_compilergcccxx_compilergxx" 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 - - run: - # Run, test and (if we have a BINSTAR_TOKEN) upload the distributions. - command: ./.circleci/run_docker_build.sh - build_linux_c_compilertoolchain_ccxx_compilertoolchain_cxx: - working_directory: ~/test - machine: true - environment: - - CONFIG: "linux_c_compilertoolchain_ccxx_compilertoolchain_cxx" - 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 - 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_c_compilergcccxx_compilergxx - - build_linux_c_compilertoolchain_ccxx_compilertoolchain_cxx + - 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 8c048ac..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/branch2.0/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..86ff937 100644 --- a/.gitattributes +++ b/.gitattributes @@ -5,3 +5,20 @@ 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 +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..b4610a7 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1 @@ +* @jschueller \ 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 56% rename from .circleci/build_steps.sh rename to .scripts/build_steps.sh index 258a085..8a4af44 100755 --- a/.circleci/build_steps.sh +++ b/.scripts/build_steps.sh @@ -7,34 +7,33 @@ 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)" FEEDSTOCK_ROOT=$(cd "$(dirname "$0")/.."; pwd;) RECIPE_ROOT="${FEEDSTOCK_ROOT}/recipe" @@ -25,26 +28,48 @@ 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 ) +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" -docker run -it \ - -v "${RECIPE_ROOT}":/home/conda/recipe_root \ - -v "${FEEDSTOCK_ROOT}":/home/conda/feedstock_root \ +if [ -z "${CI}" ]; then + DOCKER_RUN_ARGS="-it " +fi + +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 \ + -e GIT_BRANCH \ + -e UPLOAD_ON_BRANCH \ + -e CI \ $DOCKER_IMAGE \ bash \ - /home/conda/feedstock_root/.circleci/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" \ No newline at end of file diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 99e5df0..0000000 --- a/.travis.yml +++ /dev/null @@ -1,64 +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 - -os: osx -osx_image: xcode6.4 - -env: - matrix: - - CONFIG=osx_c_compilerclangcxx_compilerclangxx - - CONFIG=osx_c_compilertoolchain_ccxx_compilertoolchain_cxx - - global: - # The BINSTAR_TOKEN secure variable. This is defined canonically in conda-forge.yml. - - secure: "xAwIJC/u6qgVdH163xW3yg/tEY21dI8KoCzqZdOsgG/k85Hys9XB3O/R8qKjIgodY77Vz0QPoSCqrqzdiR5VwNz9XwwNtGxCdu4IA0LNnKXkGWohV3U8gubxT6S6F/AQAxi9qV+QhDAGE1+Ecma9fKiYl7JH6y9s2255g3MZW5UUt/SCJ5hI0zYsJ2vf9y/c0G/BTqIFSBHsHro3SGCIU+KAFQNluD7yPufGYS7Z8sh9yLuMyBQPmbP9LeUC50hmpqzURUyfKr2Kip3TXd/fviOCV9X4+oT0jlwpt0TCiK4X6rhQpPZqUvPx71T27sj+6MqoOaG1yEiVpG15NAOaZGE0SG/M9UWcvijWaaT9k8BqMgAwqeKG+3r/oDNYTz3z3I4rju9Y/e1t6pTl1EQ5ovLpW3asl/3WOUxCM0YH2Za+vDElaP/2ZNVW/QwV50S3IiLlusFB10LD1WOLmBUpUiLjfUw93rQQ4zl0Qy+Vsw6ykTHGiVdh0WRALrfkKKMfc3RH5iFrb66/lQ2zc/Jh9GVYjrKdp+CGLoZdNrdSmOuCwWcU58ykhIn/3tSNnPsyXw1eYY4MilOb0caWKvI7NAnQ+XY0zYe/DuwWtxe6SIxeKYMqA07iR6ntDYOUNZoJNtcTaLH/z4N8BSWdDHVzbMM9mJLAES5FDgFCqE7rhx8=" - - -before_install: - # Fast finish the PR. - - | - (curl https://raw.githubusercontent.com/conda-forge/conda-forge-ci-setup-feedstock/branch2.0/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 --yes --quiet conda-forge::conda-forge-ci-setup=2 - 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 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 9c6ee9b..d515144 100644 --- a/README.md +++ b/README.md @@ -14,9 +14,61 @@ Summary: Package written in C that enables integration of Functional Mock-up Uni Current build status ==================== -[![Linux](https://img.shields.io/circleci/project/github/conda-forge/fmilib-feedstock/master.svg?label=Linux)](https://circleci.com/gh/conda-forge/fmilib-feedstock) -[![OSX](https://img.shields.io/travis/conda-forge/fmilib-feedstock/master.svg?label=macOS)](https://travis-ci.org/conda-forge/fmilib-feedstock) -[![Windows](https://img.shields.io/appveyor/ci/conda-forge/fmilib-feedstock/master.svg?label=Windows)](https://ci.appveyor.com/project/conda-forge/fmilib-feedstock/branch/master) + + + + + + + + + + + +
Azure +
+ + + + + + + + + + + + + + + + + + + + + +
VariantStatus
linux + + variant + +
osx + + variant + +
win_c_compilervs2008cxx_compilervs2008 + + variant + +
win_c_compilervs2015cxx_compilervs2015 + + variant + +
+
+
Linux_ppc64le + ppc64le disabled +
Current release info ==================== @@ -50,6 +102,8 @@ conda search fmilib --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) + 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 conda-forge GitHub organization. The conda-forge organization contains one repository @@ -104,3 +158,9 @@ In order to produce a uniquely identifiable distribution: * If the version of a package **is** being increased, please remember to return the [``build/number``](https://conda.io/docs/user-guide/tasks/build-packages/define-metadata.html#build-number-and-string) back to 0. + +Feedstock Maintainers +===================== + +* [@jschueller](https://github.com/jschueller/) + diff --git a/azure-pipelines.yml b/azure-pipelines.yml new file mode 100644 index 0000000..e5306da --- /dev/null +++ b/azure-pipelines.yml @@ -0,0 +1,8 @@ +# 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 -*- + +jobs: + - template: ./.azure-pipelines/azure-pipelines-linux.yml + - template: ./.azure-pipelines/azure-pipelines-osx.yml + - template: ./.azure-pipelines/azure-pipelines-win.yml \ No newline at end of file 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 25b8d34..eee75d8 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -5,15 +5,18 @@ package: version: {{ version }} source: - fn: FMILibrary-{{ version }}-src.zip - url: https://jmodelica.org/FMILibrary/FMILibrary-{{ version }}-src.zip - sha256: 4cc21f9e2c4114a6f4e303f82ca897ec9aa1eb6f7f09fef85979ea5fca309d9a + #url: https://jmodelica.org/FMILibrary/FMILibrary-{{ version }}-src.zip + #sha256: 4cc21f9e2c4114a6f4e303f82ca897ec9aa1eb6f7f09fef85979ea5fca309d9a + url: https://github.com/conda-forge/fmilib-feedstock/raw/master/recipe/FMILibrary-2.0.3.tar.gz + sha256: 455017eea98b966eb5e6deb2f13ca0a9f0f5b204a866f00a41ee02944f3d6662 patches: # https://github.com/conda/conda-build/issues/3165 - undef_gnu_source.patch build: - number: 1001 + number: 1002 + run_exports: + - {{ pin_subpackage('fmilib', max_pin='x.x') }} requirements: build: @@ -33,6 +36,7 @@ test: about: home: http://www.jmodelica.org/FMILibrary license: BSD + license_file: LICENSE.md summary: Package written in C that enables integration of Functional Mock-up Units extra: