Skip to content
This repository was archived by the owner on Oct 6, 2020. It is now read-only.
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 25 additions & 4 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,31 +4,52 @@
language: generic

os: osx
osx_image: beta-xcode6.1
osx_image: xcode6.4

env:
matrix:

- CONDA_NPY=111 CONDA_PY=27
- CONDA_NPY=112 CONDA_PY=27
- CONDA_NPY=113 CONDA_PY=27
global:
# The BINSTAR_TOKEN secure variable. This is defined canonically in conda-forge.yml.
- secure: "NU0Wv6fW+7T4KCQU6lxTucDKJqDirnof9WgGp5HBgBDUjmCEfHxHCltsGZ72y4Off11YcdjGpLPk9Rgeiac8uSbDLzBsph32+vz3wy8xR6olF0ojJhIB9ex0BT0My31lQP7rBse9vU5VQY4PnbwBXx3Z2JO7tT/3HyjT/tjJwjctx7wCIVm5ZJV38YqHtK5rreRjYiiUfWZwAHUQ7EjqkohW/IUly0CF8Opm5VEG6V60q4o4yGBG7vNThbhJUE2EZy+F//xmVqurDmm2zvBzChFNAM6lnK95Mzf1VPwyk1i9Dnm67Yacon+lD2lClo06QIDH8g3YHFswM+wSv5fGiC5joENtr1yhADUgg08cokByEeoGSaySxOkZRw3zIgTaacJIU+LUmEUr23HPjuTZxS7/sxCxZjESNaNBuSSoDBbIeZVQL480UQFjoGqnODfcRTBdV+qs6LOpD0QVYvfOVEdsFG3I3acyZlAHTDRIxwR2OMrRrscNk07/uCFmZvoH+UQ+YMAhhWvOIbAW8dW3/BtqO+8rd8pGbx0j2q9mLJOhVlj2afPr/a2WMXhBjuIe/lliVGTdFQlnXUofGON+zibkxujYVzHDXPphkW4Hoq1SkQDf+WZWLFdNUnwRJORw/Ynzn0LmQILwf6z4FChjD+ZxKQ5ns1PaYgE5+ZfEjuo="


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.
- brew remove --force $(brew list)
- brew cleanup -s
- rm -rf $(brew --cache)
- |
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
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
BSD 3-clause license
Copyright (c) conda-forge
Copyright (c) 2015-2017, 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:
Expand Down
62 changes: 34 additions & 28 deletions appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,6 @@

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
Expand All @@ -24,6 +19,26 @@ environment:
CONDA_PY: 27
CONDA_INSTALL_LOCN: C:\\Miniconda-x64

- TARGET_ARCH: x86
CONDA_NPY: 112
CONDA_PY: 27
CONDA_INSTALL_LOCN: C:\\Miniconda

- TARGET_ARCH: x64
CONDA_NPY: 112
CONDA_PY: 27
CONDA_INSTALL_LOCN: C:\\Miniconda-x64

- TARGET_ARCH: x86
CONDA_NPY: 113
CONDA_PY: 27
CONDA_INSTALL_LOCN: C:\\Miniconda

- TARGET_ARCH: x64
CONDA_NPY: 113
CONDA_PY: 27
CONDA_INSTALL_LOCN: C:\\Miniconda-x64


# We always use a 64-bit machine, but can build x86 distributions
# with the TARGET_ARCH variable.
Expand All @@ -32,43 +47,34 @@ platform:

install:
# If there is a newer build queued for the same PR, cancel this one.
# The AppVeyor 'rollout builds' option is supposed to serve the same
# purpose but it is problematic because it tends to cancel builds pushed
# directly to master instead of just PR builds (or the converse).
# credits: JuliaLang developers.
- ps: if ($env:APPVEYOR_PULL_REQUEST_NUMBER -and $env:APPVEYOR_BUILD_NUMBER -ne ((Invoke-RestMethod `
https://ci.appveyor.com/api/projects/$env:APPVEYOR_ACCOUNT_NAME/$env:APPVEYOR_PROJECT_SLUG/history?recordsNumber=50).builds | `
Where-Object pullRequestId -eq $env:APPVEYOR_PULL_REQUEST_NUMBER)[0].buildNumber) { `
throw "There are newer queued builds for this pull request, failing early." }
- 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: set "OLDPATH=%PATH%"
- cmd: set "PATH=%CONDA_INSTALL_LOCN%\\Scripts;%CONDA_INSTALL_LOCN%\\Library\\bin;%PATH%"
- 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

# Add a hack to switch to `conda` version `4.1.12` before activating.
# This is required to handle a long path activation issue.
# Please see PR ( https://github.com/conda/conda/pull/3349 ).
- cmd: conda install --yes --quiet conda=4.1.12
- cmd: set "PATH=%OLDPATH%"
- cmd: set "OLDPATH="

# Actually activate `conda`.
- cmd: call %CONDA_INSTALL_LOCN%\Scripts\activate.bat
- cmd: set PYTHONUNBUFFERED=1

- cmd: conda install -n root --quiet --yes obvious-ci
# Configure the VM.
- 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"
- conda build recipe --quiet
deploy_script:
- cmd: upload_or_check_non_existence .\recipe conda-forge --channel=main
4 changes: 4 additions & 0 deletions ci_support/fast_finish_ci_pr_build.sh
Original file line number Diff line number Diff line change
@@ -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}"
47 changes: 42 additions & 5 deletions ci_support/run_docker_build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ config=$(cat <<CONDARC

channels:
- conda-forge
- defaults # As we need conda-build
- defaults

conda-build:
root-dir: /feedstock_root/build_artefacts
Expand All @@ -24,14 +24,30 @@ show_channel_urls: true
CONDARC
)

# 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
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
HOST_USER_ID=$(docker-machine ssh $(docker-machine active) id -u)
fi

rm -f "$FEEDSTOCK_ROOT/build_artefacts/conda-forge-build-done"

cat << EOF | docker run -i \
-v ${RECIPE_ROOT}:/recipe_root \
-v ${FEEDSTOCK_ROOT}:/feedstock_root \
-v "${RECIPE_ROOT}":/recipe_root \
-v "${FEEDSTOCK_ROOT}":/feedstock_root \
-e HOST_USER_ID="${HOST_USER_ID}" \
-a stdin -a stdout -a stderr \
condaforge/linux-anvil \
bash || exit $?
bash || exit 1

set -e
set +x
export BINSTAR_TOKEN=${BINSTAR_TOKEN}
set -x
export PYTHONUNBUFFERED=1

echo "$config" > ~/.condarc
Expand All @@ -41,11 +57,32 @@ conda clean --lock
conda install --yes --quiet conda-forge-build-setup
source run_conda_forge_build_setup

# Embarking on 1 case(s).
# Embarking on 3 case(s).
set -x
export CONDA_NPY=111
export CONDA_PY=27
set +x
conda build /recipe_root --quiet || exit 1
upload_or_check_non_existence /recipe_root conda-forge --channel=main || exit 1

set -x
export CONDA_NPY=112
export CONDA_PY=27
set +x
conda build /recipe_root --quiet || exit 1
upload_or_check_non_existence /recipe_root conda-forge --channel=main || exit 1

set -x
export CONDA_NPY=113
export CONDA_PY=27
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
1 change: 1 addition & 0 deletions circle.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
checkout:
post:
- ./ci_support/fast_finish_ci_pr_build.sh
- ./ci_support/checkout_merge_commit.sh

machine:
Expand Down
6 changes: 3 additions & 3 deletions recipe/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ source:

build:
skip: true # [not py27 or np==110]
number: 3
number: 4
binary_relocation: False # [osx]
detect_binary_files_with_prefix: True
features:
Expand All @@ -43,7 +43,7 @@ requirements:
- python
- numpy x.x
- scipy
- hdf5 1.8.17|1.8.17.*
- hdf5 1.8.18|1.8.18.*
- blas 1.* {{blas}} # [not win]
- vc 9 # [win and py27]
- vc 10 # [win and py34]
Expand All @@ -56,7 +56,7 @@ requirements:
- numpy x.x
- scipy
- matplotlib
- hdf5 1.8.17|1.8.17.*
- hdf5 1.8.18|1.8.18.*
- blas 1.* {{blas}} # [not win]
- vc 9 # [win and py27]
- vc 10 # [win and py34]
Expand Down