appveyor-ci: Tools for Using Conda in AppVeyor CI

This collection of scripts for AppVeyor CI can be used with the following appveyor.yml file:

platform:
  - x86
  - x64

environment:
  matrix:
    # Add here environement variables to control the AppVeyor CI build

install:
  - git clone https://github.com/StatisKit/appveyor-ci.git appveyor-ci
  - cd appveyor-ci
  - call install.bat

before_build:
  - call before_build.bat

build_script:
  - call build_script.bat

after_build:
  - call after_build.bat

deploy:
  provider: Script
  on:
    branch: master

before_deploy:
  - call before_deploy.bat

deploy_script:
  - call deploy_script.bat

after_deploy:
  - call after_deploy.bat

on_success:
  - call on_success.bat

on_failure:
  - call on_failure.bat

on_finish:
  - call on_finish.bat

In the matrix section of the environment section, you can use the following environement variables to control the Appveyor CI build:

  • CONDA_VERSION equal to 2 (default) or 3. Control the Conda version used for the build.

If you want to:

  • Build a Conda recipe, you should define these environment variables:
    • CONDA_RECIPE. The path to the Conda recipe to build. This path must be relative to the repository root.
    • ANACONDA_LOGIN (optional). The usename used to connect to the Anaconda Cloud in order to upload the Conda recipe built.
    • ANACONDA_PASSWORD (optional). The usename’s password used to connect to the Anaconda Cloud in order to upload the Conda recipe built.
    • ANACONDA_OWNER (optional). The channel used to upload the Conda recipe built. If not given, it is set to the ANACONDA_LOGIN value.
    • ANACONDA_DEPLOY (optional). Deployment into the Anaconda Cloud. If set to True (default if ANACONDA_LOGIN is provided), the Conda recipe built will be deployed in the Anaconda Cloud. If set to False (default if ANACONDA_LOGIN is not provided), the Conda recipe built will not be deployed in the Anaconda Cloud.
    • ANACONDA_LABEL equal to main by default. Label to associate to the Conda recipe deployed in the Anaconda Cloud.
  • Run a Jupyter notebook, you should define these environment variables:
    • JUPYTER_NOTEBOOK. The path to the Jupyter notbook to run. This path must be relative to the repository root.
    • CONDA_ENVIRONMENT. The path to the Conda environment to use when runnning the Jupyter notebook.

Note

It is recommanded to define the environment variables ANACONDA_LOGIN (resp. DOCKER_LOGIN), ANACONDA_PASSWORD (resp. DOCKER_PASSWORD) and ANACONDA_OWNER (resp. DOCKER_OWNER) in the Settings pannel of Travis CI instead of in the appveyor.yml.

More details and illustrations are given in the following guides.