diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..ac65dfe --- /dev/null +++ b/.travis.yml @@ -0,0 +1,59 @@ +# 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: + + - CONDA_PY=35 + global: + # The BINSTAR_TOKEN secure variable. This is defined canonically in conda-forge.yml. + - secure: "j5re4dygm7FY0EiTwx64FPViClNY7i85aRRliIzQ8QOycqDTY5S6DzFw1wGWS3bh6EkipsVktufIcXuJA2P3eaXpIMyHBCwyiRuA92jRoeNrrrRMs3T6Gxm/likjOhBOxn4lXf7JNUfnyrxdGpw26vIFz6ZQklza1cdpq6GBYtnO778HY2U6YZcsxSXSCvlj416so8XFtz7xpU31u6NvFqBVVfvPL6Xx0ii3YovEo1vSi8HgnMpL9nlQ7yTdu5YR2lZ6rOj2cBBbHT3wor/qnszIwy0z8LGhaRY8wfYayHvU4pa+2UrocV4YDCJuRvjtHjQ4kg6Uuwq4aCJ6wid8teDwkz1dRAS4kRLWHUWHVt/8pszhANQPWB2WsO1ew9gpN/nLj1cjKr+yGsSrcOePbAAjRpWIgoivZ02UnxG0HLSujxbvyx3H4++ymLu0SM5+3Qaa7IHPcdeI272SL4HmCEKLMklnOxDu6cwFzfCROepOSiaD29YDRRwhroQ9uU3ILDrUyWpb4eHllYx2hqYC8hUGGHA6rMibo1qQCpa4ugbgfTnfGBqVfsvCmQspCz5WDDsOqQb4RCa92zMT9oyCo9mH5AoonNfcLhyQXNELis4IpizU7Cn+2V63W4ZUyPsryL13ZJQByV+28G2aFXXe1LGJjTh2luEEwQxuCbbkCrw=" + + +before_install: + # Fast finish the PR. + - | + (curl https://raw.githubusercontent.com/conda-forge/conda-forge-build-setup-feedstock/master/recipe/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 config --remove channels defaults + conda config --add channels defaults + conda config --add channels conda-forge + conda config --set show_channel_urls true + conda install --yes --quiet conda-forge-build-setup + source run_conda_forge_build_setup + +script: + - conda build ./recipe + + - upload_or_check_non_existence ./recipe conda-forge --channel=main diff --git a/README.md b/README.md index 8cd0c17..d6dacaa 100644 --- a/README.md +++ b/README.md @@ -20,9 +20,9 @@ degrees of freedom is controllable by computer. Current build status ==================== -Linux: ![](https://cdn.rawgit.com/conda-forge/conda-smithy/90845bba35bec53edac7a16638aa4d77217a3713/conda_smithy/static/disabled.svg) -OSX: ![](https://cdn.rawgit.com/conda-forge/conda-smithy/90845bba35bec53edac7a16638aa4d77217a3713/conda_smithy/static/disabled.svg) -Windows: ![](https://cdn.rawgit.com/conda-forge/conda-smithy/90845bba35bec53edac7a16638aa4d77217a3713/conda_smithy/static/disabled.svg) +Linux: [![Circle CI](https://circleci.com/gh/conda-forge/qcodes-feedstock.svg?style=shield)](https://circleci.com/gh/conda-forge/qcodes-feedstock) +OSX: [![TravisCI](https://travis-ci.org/conda-forge/qcodes-feedstock.svg?branch=master)](https://travis-ci.org/conda-forge/qcodes-feedstock) +Windows: [![AppVeyor](https://ci.appveyor.com/api/projects/status/github/conda-forge/qcodes-feedstock?svg=True)](https://ci.appveyor.com/project/conda-forge/qcodes-feedstock/branch/master) Current release info ==================== diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 0000000..29f1868 --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,64 @@ +# 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: + + # SDK v7.0 MSVC Express 2008's SetEnv.cmd script will fail if the + # /E:ON and /V:ON options are not enabled in the batch script intepreter + # See: http://stackoverflow.com/a/13751649/163740 + CMD_IN_ENV: "cmd /E:ON /V:ON /C obvci_appveyor_python_build_env.cmd" + + BINSTAR_TOKEN: + # The BINSTAR_TOKEN secure variable. This is defined canonically in conda-forge.yml. + secure: MP4hZYylDyUWEsrt3u3cod2sbFeRwUziH02mvQOdbjsTO/l1yIxDkP/76rSIjcGC + + matrix: + - TARGET_ARCH: x86 + CONDA_PY: 35 + CONDA_INSTALL_LOCN: C:\\Miniconda35 + + - TARGET_ARCH: x64 + CONDA_PY: 35 + CONDA_INSTALL_LOCN: C:\\Miniconda35-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-build-setup-feedstock/master/recipe/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 update --yes --quiet conda + + - cmd: set PYTHONUNBUFFERED=1 + + # Add our channels. + - cmd: conda config --set show_channel_urls true + - cmd: conda config --remove channels defaults + - cmd: conda config --add channels defaults + - cmd: conda config --add channels conda-forge + + # Configure the VM. + - cmd: conda install -n root --quiet --yes obvious-ci + - cmd: conda install -n root --quiet --yes conda-forge-build-setup + - cmd: run_conda_forge_build_setup + +# Skip .NET project specific build phase. +build: off + +test_script: + - "%CMD_IN_ENV% conda build recipe --quiet" +deploy_script: + - cmd: upload_or_check_non_existence .\recipe conda-forge --channel=main diff --git a/ci_support/checkout_merge_commit.sh b/ci_support/checkout_merge_commit.sh new file mode 100755 index 0000000..9528e4b --- /dev/null +++ b/ci_support/checkout_merge_commit.sh @@ -0,0 +1,27 @@ +#!/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/ci_support/fast_finish_ci_pr_build.sh b/ci_support/fast_finish_ci_pr_build.sh new file mode 100755 index 0000000..463c27f --- /dev/null +++ b/ci_support/fast_finish_ci_pr_build.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +curl https://raw.githubusercontent.com/conda-forge/conda-forge-build-setup-feedstock/master/recipe/ff_ci_pr_build.py | \ + python - -v --ci "circle" "${CIRCLE_PROJECT_USERNAME}/${CIRCLE_PROJECT_REPONAME}" "${CIRCLE_BUILD_NUM}" "${CIRCLE_PR_NUMBER}" diff --git a/ci_support/run_docker_build.sh b/ci_support/run_docker_build.sh new file mode 100755 index 0000000..e36cd5e --- /dev/null +++ b/ci_support/run_docker_build.sh @@ -0,0 +1,59 @@ +#!/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. + +FEEDSTOCK_ROOT=$(cd "$(dirname "$0")/.."; pwd;) +RECIPE_ROOT=$FEEDSTOCK_ROOT/recipe + +docker info + +config=$(cat < ~/.condarc +# A lock sometimes occurs with incomplete builds. The lock file is stored in build_artefacts. +conda clean --lock + +conda install --yes --quiet conda-forge-build-setup +source run_conda_forge_build_setup + +# Embarking on 1 case(s). + set -x + export CONDA_PY=35 + set +x + conda build /recipe_root --quiet || exit 1 + upload_or_check_non_existence /recipe_root conda-forge --channel=main || exit 1 +touch /feedstock_root/build_artefacts/conda-forge-build-done +EOF + +# double-check that the build got to the end +# see https://github.com/conda-forge/conda-smithy/pull/337 +# for a possible fix +set -x +test -f "$FEEDSTOCK_ROOT/build_artefacts/conda-forge-build-done" || exit 1 diff --git a/circle.yml b/circle.yml index 29350ae..421809c 100644 --- a/circle.yml +++ b/circle.yml @@ -1,9 +1,19 @@ -general: - branches: - ignore: - - /.*/ +checkout: + post: + - ./ci_support/fast_finish_ci_pr_build.sh + - ./ci_support/checkout_merge_commit.sh + +machine: + services: + - docker + +dependencies: + # Note, we used to use the naive caching of docker images, but found that it was quicker + # just to pull each time. #rollondockercaching + override: + - docker pull condaforge/linux-anvil test: override: - # The Circle-CI build should not be active, but if this is not true for some reason, do a fast finish. - - exit 0 + # Run, test and (if we have a BINSTAR_TOKEN) upload the distributions. + - ./ci_support/run_docker_build.sh diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 871f8b9..ac3e9da 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,6 +1,6 @@ {% set name = "qcodes" %} -{% set version = "0.1.1" %} -{% set sha256 = "a70f3a209e2f4371634b12094def37696fa2accb2f0746e5dffba50e4918e33e" %} +{% set version = "0.1.3" %} +{% set sha256 = "2ad965790f91be61b464e10d9fd35cd0ff153a49eab088c7b50c6fa9ee638925" %} package: name: {{ name|lower }} @@ -13,7 +13,7 @@ source: build: number: 0 - skip: true # [py<35] + skip: true # [not py35] script: python setup.py install --single-version-externally-managed --record record.txt requirements: @@ -21,29 +21,27 @@ requirements: - python - setuptools run: - - numpy >=1.10 - - pyvisa >=1.8 - - ipython >=4.1.0 - - jupyter >=1.0.0 - - ipywidgets >=4.1 - - h5py >=2.6 - - pathlib - - matplotlib - - coverage - - pyqtgraph + - numpy >=1.10*, + - pyvisa >=1.8*, + - ipython >=4.1*, + - jupyter >=1.0* + - h5py >=2.6* + - matplotlib >=1.5* + - pyqtgraph >=0.10* + - coverage >=4.0* test: -# source_files: -# - qcodes/test.py -# commands: -# - python qcodes/test.py + source_files: + - qcodes/test.py + commands: + - python qcodes/test.py imports: - qcodes about: home: http://qcodes.github.io/Qcodes/ license: MIT - license_file: LICENSE.md + license_file: LICENSE.rst summary: 'Modular data acquisition and analysis framework' description: | QCoDeS is a Python-based data acquisition framework developed