Skip to content
Commits on Source (7)
......@@ -5,20 +5,20 @@
- msarahan@continuum.io
aliases:
- Mike Sarahan
num_commits: 66
num_commits: 145
first_commit: 2015-09-04 21:31:08
- name: Jonathan J. Helmus
email: jjhelmus@gmail.com
aliases:
- Jonathan Helmus
num_commits: 30
num_commits: 52
first_commit: 2014-06-09 17:25:05
github: jjhelmus
- name: Isuru Fernando
email: isuruf@gmail.com
alternate_emails:
- isuru.11@cse.mrt.ac.lk
num_commits: 16
num_commits: 28
first_commit: 2017-06-16 15:14:34
github: isuruf
- name: Dan Blanchard
......@@ -41,7 +41,7 @@
email: teake.nutma@gmail.com
alternate_emails:
- t.a.nutma@rug.nl
num_commits: 8
num_commits: 9
first_commit: 2018-08-16 10:53:19
github: teake
- name: Phil Elson
......@@ -180,7 +180,7 @@
email: marius.v.niekerk@gmail.com
alternate_emails:
- mvanniekerk@flatiron.com
num_commits: 2
num_commits: 6
first_commit: 2018-02-22 13:07:33
github: mariusvniekerk
- name: Travis Oliphant
......@@ -232,7 +232,7 @@
github: hajs
- name: Christoph Buchner
email: bilderbuchi@users.noreply.github.com
num_commits: 2
num_commits: 6
first_commit: 2018-03-22 14:11:45
github: bilderbuchi
- name: iainsgillis
......@@ -344,7 +344,7 @@
github: ClinicalGraphics
- name: John Blischak
email: jdblischak@gmail.com
num_commits: 8
num_commits: 9
first_commit: 2017-08-11 13:23:55
github: jdblischak
- name: Floris Bruynooghe
......@@ -414,7 +414,7 @@
- name: Ray Donnelly
email: mingw.android@gmail.com
github: mingwandroid
num_commits: 308
num_commits: 415
first_commit: 2016-03-06 18:52:51
- name: Paul Madden
email: maddenp@colorado.edu
......@@ -423,7 +423,7 @@
github: maddenp
- name: Tim Snyder
email: snyder.tim@gmail.com
num_commits: 8
num_commits: 9
first_commit: 2017-04-28 11:08:14
github: timsnyder
- name: dlovell
......@@ -446,7 +446,7 @@
first_commit: 2014-05-19 21:15:57
- name: neok-m4700
email: neok-m4700@users.noreply.github.com
num_commits: 7
num_commits: 8
first_commit: 2017-06-13 18:05:51
- name: Rolando (Max) Espinoza
email: me@rmax.io
......@@ -464,9 +464,11 @@
github: gdementen
- name: Tadeu Manoel
email: tadeu@esss.com.br
num_commits: 3
num_commits: 4
first_commit: 2016-02-18 14:33:53
github: ESSS
alternate_emails:
- tadeu@users.noreply.github.com
- name: Robert Coop
email: coopster@gmail.com
github: RobertCoop
......@@ -563,7 +565,7 @@
first_commit: 2015-08-30 06:44:37
- name: Marcel Bargull
email: marcel.bargull@udo.edu
num_commits: 18
num_commits: 21
first_commit: 2016-09-26 11:45:54
github: mbargull
- name: Philip R. Kensche
......@@ -617,7 +619,7 @@
github: yannpaul
- name: Tom Davidson
email: tjd@alum.mit.edu
num_commits: 2
num_commits: 4
first_commit: 2018-07-04 16:44:19
github: tjd2002
- name: Thomas Kluyver
......@@ -651,9 +653,11 @@
first_commit: 2016-07-05 14:53:35
- name: Michael C. Grant
email: mcg@cvxr.com
num_commits: 9
num_commits: 15
first_commit: 2016-03-08 17:42:53
github: mcg1969
alternate_emails:
- mgrant@anaconda.com
- name: Casey Clements
email: casey.clements@continuum.io
num_commits: 5
......@@ -681,7 +685,7 @@
github: yoavram
- name: Nehal J Wani
email: nehaljw.kkd1@gmail.com
num_commits: 20
num_commits: 32
first_commit: 2017-06-25 06:04:10
github: nehaljwani
- name: John Kirkham
......@@ -697,7 +701,7 @@
- name: Anthony Scopatz
email: scopatz@gmail.com
github: scopatz
num_commits: 23
num_commits: 26
first_commit: 2014-10-26 14:04:48
- name: Martin Bergtholdt
email: martin.bergtholdt@philips.com
......@@ -740,7 +744,7 @@
github: gqmelo
- name: soapy1
email: scastellarin@anaconda.com
num_commits: 1
num_commits: 17
first_commit: 2018-10-22 16:40:33
github: soapy1
- name: Yu Feng
......@@ -750,7 +754,7 @@
github: rainwoodman
- name: Stuart Berg
email: bergs@janelia.hhmi.org
num_commits: 47
num_commits: 48
first_commit: 2015-09-13 14:49:05
github: stuarteberg
- name: Richard Frank
......@@ -798,7 +802,7 @@
github: dougalsutherland
- name: James Sexton
email: TwistedLadder@gmail.com
num_commits: 21
num_commits: 25
first_commit: 2017-07-28 16:39:11
github: Bezier89
- name: Amir MOHAMMADI
......@@ -888,11 +892,155 @@
first_commit: 2019-01-26 13:17:33
- name: Rachel
email: rrigdon@anaconda.com
num_commits: 1
num_commits: 77
first_commit: 2019-01-24 14:12:19
github: rrigdon
- name: Rachel Rigdon
email: 45607889+rrigdon@users.noreply.github.com
num_commits: 6
num_commits: 35
first_commit: 2019-01-24 15:12:09
github: rrigdon
- name: Zane Dufour
email: zane.dufour@gmail.com
github: zdog234
aliases:
- zdog234
num_commits: 2
first_commit: 2019-02-28 08:50:28
- name: Chris Hogan
email: c096h800@gmail.com
num_commits: 5
first_commit: 2019-01-31 13:02:27
github: ChristopherHogan
- name: Gabriel Reis
email: gabriel.reis@gazprom-mt.com
num_commits: 1
first_commit: 2019-02-19 09:26:21
github: gabrielcnr
- name: Julian Rüth
email: julian.rueth@fsfe.org
num_commits: 8
first_commit: 2019-04-26 11:13:44
github: saraedum
- name: satoshi
email: satoshi.yagi@yahoo.com
num_commits: 1
first_commit: 2019-05-07 12:38:29
github: satoshi
- name: Uilian Ries
email: uilianries@gmail.com
num_commits: 1
first_commit: 2019-03-05 08:37:58
github: uilianries
- name: Jayaramchandar Pazhanikumar
email: jayaramchandar@gmail.com
num_commits: 1
first_commit: 2019-02-23 00:44:12
github: theultimate1
- name: Kai Tietz
email: ktietz@anaconda.com
num_commits: 5
first_commit: 2019-04-04 02:38:29
github: katietz
alternate_emails:
- 47363620+katietz@users.noreply.github.com
- name: Toon Verstraelen
email: Toon.Verstraelen@UGent.be
num_commits: 4
first_commit: 2019-03-22 08:45:40
github: tovrstra
- name: Shaun Walbridge
email: shaun.walbridge@gmail.com
num_commits: 1
first_commit: 2019-01-30 00:47:29
github: scw
- name: Christopher Burr
email: christopher.burr@cern.ch
num_commits: 5
first_commit: 2019-02-10 12:42:33
github: chrisburr
aliases:
- Chris Burr
alternate_emails:
- chrisburr@users.noreply.github.com
- name: Harun Reşit Zafer
email: harunzafer@gmail.com
num_commits: 2
first_commit: 2019-02-25 12:33:19
github: hrzafer
- name: spalmrot-tic
email: steve.palmroth@tudor.com
num_commits: 1
first_commit: 2019-03-19 15:29:25
github: spalmrot-tic
- name: John Kirkham
email: jakirkham@gmail.com
num_commits: 9
first_commit: 2019-06-06 14:26:02
github: jakirkham
- name: Daniel Bast
email: 2790401+dbast@users.noreply.github.com
num_commits: 5
first_commit: 2019-06-07 02:44:13
github: dbast
- name: Duncan Macleod
email: duncan.macleod@ligo.org
num_commits: 3
first_commit: 2019-06-13 08:07:25
github: duncanmmacleod
- name: Chris Osborn
email: csosborn@users.noreply.github.com
num_commits: 1
first_commit: 2019-06-21 14:22:46
github: csosborn
- name: Oleksandr Pavlyk
email: oleksandr.pavlyk@intel.com
num_commits: 1
first_commit: 2019-07-01 11:31:19
github: oleksandr-pavlyk
- name: Daniel Damiani
email: ddamiani@slac.stanford.edu
num_commits: 2
first_commit: 2019-07-15 18:19:26
github: ddamiani
- name: Marcelo Duarte Trevisani
email: marceloduartetrevisani@gmail.com
num_commits: 62
first_commit: 2019-07-19 10:00:00
github: marcelotrevisani
alternate_emails:
- marcelotrevisani@users.noreply.github.com
- name: Bruno P. Kinoshita
email: kinow@users.noreply.github.com
num_commits: 1
first_commit: 2019-10-08 04:56:12
- name: Alex Ford
email: a.sewall.ford@gmail.com
num_commits: 10
first_commit: 2019-09-20 19:35:25
github: asford
- name: seanyen
email: seanyen@microsoft.com
num_commits: 1
first_commit: 2019-10-15 20:24:20
github: seanyen
- name: AndrewAnnex
email: ama6fy@virginia.edu
num_commits: 1
first_commit: 2019-10-15 16:14:54
github: AndrewAnnex
- name: Amir Mohammadi
email: 5738695+183amir@users.noreply.github.com
num_commits: 1
first_commit: 2019-10-28 10:43:48
github: 183amir
- name: Matthew R Becker
email: becker.mr@gmail.com
num_commits: 2
first_commit: 2019-10-17 23:05:16
github: beckermr
- name: Jinzhe Zeng
email: jinzhe.zeng@rutgers.edu
num_commits: 1
first_commit: 2019-10-19 00:36:16
github: njzjz
......@@ -21,8 +21,8 @@ engine:
## The envvars param is an environment variable list
env:
- PYTHON_VERSION=2.7
- PYTHON_VERSION=3.4
- PYTHON_VERSION=3.5
- PYTHON_VERSION=3.6
- PYTHON_VERSION=3.7
#===============================================================================
# Script options
......
[run]
include=conda_build/*
parallel=True
omit=conda_build/skeletons/_example_skeleton.py
\ No newline at end of file
# EditorConfig is awesome: http://EditorConfig.org
# top-most EditorConfig file
root = true
# Unix-style newlines with a newline ending every file
[*]
end_of_line = lf
insert_final_newline = true
conda_build/_version.py export-subst
* text=auto eol=lf
......@@ -21,4 +21,5 @@ relative
# Rever
rever/
.vscode
**/.vscode
**/_build
......@@ -10,57 +10,65 @@
# gives no duplicates.
Aaron Meurer <asmeurer@gmail.com>
Ray Donnelly <mingw.android@gmail.com>
Ilan Schnell <ilan@continuum.io> Ilan Schnell <ilan@hq-dhcp-20-84.20.10.10.in-addr.arpa>
Ilan Schnell <ilan@continuum.io> Ilan Schnell <ilanschnell@gmail.com>
Ray Donnelly <mingw.android@gmail.com>
Michael Sarahan <msarahan@gmail.com> Mike Sarahan <msarahan@continuum.io>
Dan Blanchard <dan.blanchard@gmail.com> Daniel Blanchard <dblanchard@ets.org>
Dan Blanchard <dan.blanchard@gmail.com> Daniel Blanchard <dan@parsely.com>
Kale Franz <kfranz@continuum.io> Kale Franz <kalefranz@users.noreply.github.com>
sophia <scastellarin95@gmail.com>
Michael Sarahan <msarahan@gmail.com> Mike Sarahan <msarahan@continuum.io>
Rachel <rrigdon@anaconda.com>
Marcelo Duarte Trevisani <marceloduartetrevisani@gmail.com> Marcelo Duarte Trevisani <marcelotrevisani@users.noreply.github.com>
John Kirkham <kirkhamj@janelia.hhmi.org>
Jonathan J. Helmus <jjhelmus@gmail.com> Jonathan Helmus <jjhelmus@gmail.com>
Stuart Berg <bergs@janelia.hhmi.org>
Ryan Grout <ryan@ryangrout.org> Ryan Grout <rgrout@continuum.io>
Ryan Grout <ryan@ryangrout.org> Ryan Grout <groutr@users.noreply.github.com>
Darren Dale <dsdale24@gmail.com>
Travis Swicegood <travis@domain51.com> Travis Swicegood <development@domain51.com>
Jonathan J. Helmus <jjhelmus@gmail.com> Jonathan Helmus <jjhelmus@gmail.com>
Rachel Rigdon <45607889+rrigdon@users.noreply.github.com>
Nehal J Wani <nehaljw.kkd1@gmail.com>
Matt Craig <mattwcraig@gmail.com> Matthew Craig <mattwcraig@gmail.com>
Johannes Köster <johannes.koester@tu-dortmund.de>
Isuru Fernando <isuruf@gmail.com> Isuru Fernando <isuru.11@cse.mrt.ac.lk>
Anthony Scopatz <scopatz@gmail.com>
Johannes Köster <johannes.koester@tu-dortmund.de>
James Sexton <TwistedLadder@gmail.com>
Mandeep Bhutani <mbhutani@continuum.io> mandeep <mandeep@users.noreply.github.com>
Patrick Snape <patricksnape@gmail.com> Patrick Snape <patrick.snape08@imperial.ac.uk>
Sean <srossross@gmail.com> srossross <srossross@gmail.com>
Travis Oliphant <teoliphant@gmail.com> Travis E. Oliphant <teoliphant@gmail.com>
James Sexton <TwistedLadder@gmail.com>
Nehal J Wani <nehaljw.kkd1@gmail.com>
Marcel Bargull <marcel.bargull@udo.edu>
Harsh Gupta <gupta.harsh96@gmail.com>
Jasmine Sandhu <jsandhu@continuum.io>
Matthias Gabriel <matthias.gabriel@etit.tu-chemnitz.de>
Marcel Bargull <marcel.bargull@udo.edu>
Alex Wiltschko <alex.bw@gmail.com>
Isuru Fernando <isuruf@gmail.com> Isuru Fernando <isuru.11@cse.mrt.ac.lk>
soapy1 <scastellarin@anaconda.com>
Michael C. Grant <mcg@cvxr.com> Michael C. Grant <mgrant@anaconda.com>
Min RK <benjaminrk@gmail.com> MinRK <benjaminrk@gmail.com>
Ullrich Koethe <ullrich.koethe@iwr.uni-heidelberg.de>
Phil Elson <pelson.pub@gmail.com> pelson <pelson.pub@gmail.com>
Jillian Rowe <jillian.e.rowe@gmail.com> jerowe <jillian.e.rowe@gmail.com>
Almar Klein <almar.klein@gmail.com>
Scheah <scheah@zendesk.com>
Michael C. Grant <mcg@cvxr.com>
Alexander Sturm <13468347+alexandersturm@users.noreply.github.com>
Alex Ford <a.sewall.ford@gmail.com>
Teake Nutma <teake.nutma@gmail.com> Teake Nutma <t.a.nutma@rug.nl>
John Blischak <jdblischak@gmail.com>
Tim Snyder <snyder.tim@gmail.com>
Scheah <scheah@zendesk.com>
Alexander Sturm <13468347+alexandersturm@users.noreply.github.com>
John Kirkham <jakirkham@gmail.com>
neok-m4700 <neok-m4700@users.noreply.github.com>
Julian Rüth <julian.rueth@fsfe.org>
Richard Frank <rich@quantopian.com>
Filipe Fernandes <ocefpaf@gmail.com> ocefpaf <ocefpaf@gmail.com>
Matthieu Dartiailh <marul@laposte.net> MatthieuDartiailh <marul@laposte.net>
Marius van Niekerk <marius.v.niekerk@gmail.com> Marius van Niekerk <mvanniekerk@flatiron.com>
Christoph Buchner <bilderbuchi@users.noreply.github.com>
Brent Pedersen <bpederse@gmail.com>
James Abbott <j.abbott@dundee.ac.uk>
Patrick Sodré <psodre@gmail.com>
Bruno Oliveira <nicoddemus@gmail.com>
Bryan W. Weber <bryan.w.weber@gmail.com>
Rachel Rigdon <45607889+rrigdon@users.noreply.github.com>
Thomas A Caswell <tcaswell@gmail.com> Thomas A Caswell <tcaswell@bnl.gov>
Mario Juric <mjuric@astro.washington.edu> Mario Juric <mjuric@lsst.org>
Ivan Kalev <ivan.kalev@gmail.com> ikalev <ivan.kalev@gmail.com>
......@@ -68,6 +76,10 @@ Casey Clements <casey.clements@continuum.io>
David Hirschfeld <david.hirschfeld@gazprom-mt.com>
Elliot Hughes <e.hughes@winton.com>
Amir MOHAMMADI <amir.mohammadi@idiap.ch>
Chris Hogan <c096h800@gmail.com>
Kai Tietz <ktietz@anaconda.com> Kai Tietz <47363620+katietz@users.noreply.github.com>
Christopher Burr <christopher.burr@cern.ch> Chris Burr <chrisburr@users.noreply.github.com>
Daniel Bast <2790401+dbast@users.noreply.github.com>
Heather Kelly <heather999@users.noreply.github.com> heather999 <heather999@users.noreply.github.com>
Geir Ove Myhr <Geir.Ove.Myhr@lr.org>
Matt Rendina <mrendina@stsci.edu>
......@@ -76,27 +88,28 @@ Nicola Soranzo <nicola.soranzo@earlham.ac.uk>
Stephan Hoyer <shoyer@climate.com>
Korijn van Golen <korijn@gmail.com>
Trent Nelson <trent@trent.me>
Tadeu Manoel <tadeu@esss.com.br> Tadeu Manoel <tadeu@users.noreply.github.com>
Peter Williams <peter@newton.cx>
Wes Turner <wes.turner@gmail.com>
Tom Davidson <tjd@alum.mit.edu>
Guilherme Quentel Melo <gqmelo@gmail.com>
Yu Feng <rainwoodman@gmail.com>
Julien Schueller <schueller@phimeca.com>
Toon Verstraelen <Toon.Verstraelen@UGent.be>
Matty G <meawoppl@gmail.com> meawoppl <meawoppl@gmail.com>
Robert T. McGibbon <rmcgibbo@gmail.com> Robert McGibbon <rmcgibbo@gmail.com>
chapmanb <chapmanb@50mail.com>
Remi Chateauneu <remi.chateauneu@gmail.com>
Rolando (Max) Espinoza <me@rmax.io>
Tadeu Manoel <tadeu@esss.com.br>
Stefan Zimmermann <zimmermann.code@gmail.com>
Thomas Kluyver <takowl@gmail.com>
Martin Bergtholdt <martin.bergtholdt@philips.com>
Eric Dill <edill@bnl.gov>
Derek Ludwig <dludwig@continuum.io>
Vlad Frolov <frolvlad@gmail.com>
Duncan Macleod <duncan.macleod@ligo.org>
todd.m.tomashek <todd.m.tomashek@intel.com> tomashek <todd.m.tomashek@intel.com>
Marius van Niekerk <marius.v.niekerk@gmail.com> Marius van Niekerk <mvanniekerk@flatiron.com>
Michael Cormier <u1138933@kingspeak23.wasatch.peaks>
Christoph Buchner <bilderbuchi@users.noreply.github.com>
Siu Kwan Lam <michael.lam.sk@gmail.com>
whitequark <whitequark@whitequark.org>
joe-hartshorn <joe.hartshorn@swiftcover.com>
......@@ -116,13 +129,16 @@ Philip R. Kensche <p.kensche@dkfz-heidelberg.de>
Matt Swain <m.swain@me.com>
Robert Wall <robert@llawall.com>
Yann <yannpaul@bu.edu>
Tom Davidson <tjd@alum.mit.edu>
stuertz <js@contact.de>
aleksey-orekhov <cruser42@gmail.com>
Evan Hubinger <evanjhub@gmail.com>
Johannes Bauer <git@tatome.de>
Jan-Hendrik Prinz <jan.prinz@gmx.de>
Alex Kovner <dev@alexkovner.com>
Zane Dufour <zane.dufour@gmail.com> zdog234 <zane.dufour@gmail.com>
Harun Reşit Zafer <harunzafer@gmail.com>
Daniel Damiani <ddamiani@slac.stanford.edu>
Matthew R Becker <becker.mr@gmail.com>
Joseph Crail <jbcrail@gmail.com>
Andres Guzman-Ballen <andres.guzman-ballen@intel.com>
Riccardo Vianello <riccardo.vianello@gmail.com>
......@@ -165,7 +181,6 @@ Yoav Ram <yoavram+github@gmail.com>
Thomas Holder <thomas.holder@schrodinger.com>
Bill Little <bill.james.little@gmail.com>
Marco Rossi <developer@marco-rossi.com>
soapy1 <scastellarin@anaconda.com>
Bradley Kreider <bkreider@continuum.io>
jlas <juan.lasheras@gmail.com>
Richard Hattersley <rhattersley@gmail.com>
......@@ -179,4 +194,16 @@ Mark Wiebe <mwwiebe@gmail.com>
mel <mel@anybodytech.com>
csoja <crystal.soja@continuum.io>
Axel Huebl <axel.huebl@plasma.ninja>
Rachel <rrigdon@anaconda.com>
Gabriel Reis <gabriel.reis@gazprom-mt.com>
satoshi <satoshi.yagi@yahoo.com>
Uilian Ries <uilianries@gmail.com>
Jayaramchandar Pazhanikumar <jayaramchandar@gmail.com>
Shaun Walbridge <shaun.walbridge@gmail.com>
spalmrot-tic <steve.palmroth@tudor.com>
Chris Osborn <csosborn@users.noreply.github.com>
Oleksandr Pavlyk <oleksandr.pavlyk@intel.com>
Bruno P. Kinoshita <kinow@users.noreply.github.com>
seanyen <seanyen@microsoft.com>
AndrewAnnex <ama6fy@virginia.edu>
Amir Mohammadi <5738695+183amir@users.noreply.github.com>
Jinzhe Zeng <jinzhe.zeng@rutgers.edu>
os: linux
dist: xenial
language: python
python:
- 2.7
- 3.6
env:
- CONDA_VERSION=4.5.x
- CONDA_VERSION=master
matrix:
fast_finish: true
exclude:
- python: 2.7
env: CONDA_VERSION=4.5.x
include:
- python: 3.6
- python: 3.7
env:
- FLAKE8=true
- CONDA_VERSION=4.5.x
os: linux
allow_failures:
- env:
- FLAKE8=true
- CONDA_VERSION=4.5.x
python: 3.6
- CONDA_VERSION=release
dist: xenial
- python: 3.7
env:
- DOCS=true
- CONDA_VERSION=release
dist: xenial
addons:
apt:
......@@ -32,50 +22,21 @@ addons:
install:
# show which shell we are running
- ps -ef | grep $$
- if [[ "$TRAVIS_PYTHON_VERSION" == "2.7" ]]; then
wget http://repo.continuum.io/miniconda/Miniconda2-latest-Linux-x86_64.sh -O miniconda.sh;
else
wget http://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh;
fi
- wget http://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh;
- bash miniconda.sh -b -p /opt/conda
- mkdir /opt/conda/locks
# make central lock directory not writable to simulate central "all-users" install
- chmod -w /opt/conda/locks
- if [ "$CONDA_VERSION" = "4.5.x" ]; then
git clone -b $CONDA_VERSION --single-branch --depth 1000 https://github.com/conda/conda.git;
pushd conda;
/opt/conda/bin/python -m conda init --dev;
hash -r;
conda info;
popd;
else
git clone -b $CONDA_VERSION --single-branch --depth 1000 https://github.com/conda/conda.git;
pushd conda;
/opt/conda/bin/python -m conda init --dev bash;
hash -r;
conda info;
popd;
fi
- export PATH=/opt/conda/bin:$PATH
- source /opt/conda/bin/activate
- conda update -y conda;
- conda config --set always_yes yes
- conda config --set auto_update_conda False
# - conda config --add create_default_packages nomkl
- conda info
# avoids a python 3.7 problem
- conda install -q cytoolz
- if [[ "$TRAVIS_PYTHON_VERSION" == "2.7" ]]; then
conda install -q futures scandir;
fi
- conda install -q anaconda-client requests filelock contextlib2 jinja2 patchelf
- conda install -q pyflakes beautifulsoup4 chardet pycrypto glob2 psutil pytz tqdm python-libarchive-c py-lief
- conda install -q anaconda-client requests filelock contextlib2 jinja2 patchelf ripgrep pyflakes beautifulsoup4 chardet pycrypto glob2 psutil pytz tqdm conda-package-handling py-lief python-libarchive-c
- pip install pkginfo
- if [[ "$FLAKE8" == "true" ]]; then
conda install -q flake8;
else
conda install -c c3i_test -q perl;
conda install -q pytest pip pytest-cov pytest-forked pytest-xdist nomkl numpy mock pytest-mock;
pushd .. && git clone https://github.com/conda/conda_build_test_recipe && popd;
pip install -r requirements-docs.txt;
fi
- pip install --no-deps .
- conda info -a
......@@ -88,6 +49,3 @@ notifications:
git:
depth: 10000
after_success:
- pip install codecov
- codecov --env TRAVIS_PYTHON_VERSION
......@@ -2,54 +2,62 @@ All of the people who have made at least one contribution to conda-build.
Authors are sorted by number of commits.
* Aaron Meurer
* Ilan Schnell
* Ray Donnelly
* Ilan Schnell
* Michael Sarahan
* Dan Blanchard
* Kale Franz
* sophia
* Michael Sarahan
* Rachel
* Marcelo Duarte Trevisani
* John Kirkham
* Jonathan J. Helmus
* Stuart Berg
* Ryan Grout
* Darren Dale
* Travis Swicegood
* Jonathan J. Helmus
* Rachel Rigdon
* Nehal J Wani
* Matt Craig
* Johannes Köster
* Isuru Fernando
* Anthony Scopatz
* Johannes Köster
* James Sexton
* Mandeep Bhutani
* Patrick Snape
* Sean
* Travis Oliphant
* James Sexton
* Nehal J Wani
* Marcel Bargull
* Harsh Gupta
* Jasmine Sandhu
* Matthias Gabriel
* Marcel Bargull
* Alex Wiltschko
* Isuru Fernando
* soapy1
* Michael C. Grant
* Min RK
* Ullrich Koethe
* Phil Elson
* Jillian Rowe
* Almar Klein
* Scheah
* Michael C. Grant
* Alexander Sturm
* Alex Ford
* Teake Nutma
* John Blischak
* Tim Snyder
* Scheah
* Alexander Sturm
* John Kirkham
* neok-m4700
* Julian Rüth
* Richard Frank
* Filipe Fernandes
* Matthieu Dartiailh
* Marius van Niekerk
* Christoph Buchner
* Brent Pedersen
* James Abbott
* Patrick Sodré
* Bruno Oliveira
* Bryan W. Weber
* Rachel Rigdon
* Thomas A Caswell
* Mario Juric
* Ivan Kalev
......@@ -57,6 +65,10 @@ Authors are sorted by number of commits.
* David Hirschfeld
* Elliot Hughes
* Amir MOHAMMADI
* Chris Hogan
* Kai Tietz
* Christopher Burr
* Daniel Bast
* Heather Kelly
* Geir Ove Myhr
* Matt Rendina
......@@ -65,27 +77,28 @@ Authors are sorted by number of commits.
* Stephan Hoyer
* Korijn van Golen
* Trent Nelson
* Tadeu Manoel
* Peter Williams
* Wes Turner
* Tom Davidson
* Guilherme Quentel Melo
* Yu Feng
* Julien Schueller
* Toon Verstraelen
* Matty G
* Robert T. McGibbon
* chapmanb
* Remi Chateauneu
* Rolando (Max) Espinoza
* Tadeu Manoel
* Stefan Zimmermann
* Thomas Kluyver
* Martin Bergtholdt
* Eric Dill
* Derek Ludwig
* Vlad Frolov
* Duncan Macleod
* todd.m.tomashek
* Marius van Niekerk
* Michael Cormier
* Christoph Buchner
* Siu Kwan Lam
* whitequark
* joe-hartshorn
......@@ -105,13 +118,16 @@ Authors are sorted by number of commits.
* Matt Swain
* Robert Wall
* Yann
* Tom Davidson
* stuertz
* aleksey-orekhov
* Evan Hubinger
* Johannes Bauer
* Jan-Hendrik Prinz
* Alex Kovner
* Zane Dufour
* Harun Reşit Zafer
* Daniel Damiani
* Matthew R Becker
* Joseph Crail
* Andres Guzman-Ballen
* Riccardo Vianello
......@@ -154,7 +170,6 @@ Authors are sorted by number of commits.
* Thomas Holder
* Bill Little
* Marco Rossi
* soapy1
* Bradley Kreider
* jlas
* Richard Hattersley
......@@ -168,6 +183,16 @@ Authors are sorted by number of commits.
* mel
* csoja
* Axel Huebl
* Rachel
* Gabriel Reis
* satoshi
* Uilian Ries
* Jayaramchandar Pazhanikumar
* Shaun Walbridge
* spalmrot-tic
* Chris Osborn
* Oleksandr Pavlyk
* Bruno P. Kinoshita
* seanyen
* AndrewAnnex
* Amir Mohammadi
* Jinzhe Zeng
# current developments
2019-11-01 3.18.11:
------------------
Contributors:
-------------
* @msarahan
* @rrigdon
* @marcelotrevisani
* @rrigdon
* @soapy1
* @dbast
* @duncanmmacleod
* @beckermr
* @seanyen
* @AndrewAnnex
* @183amir
* @njzjz
2019-10-14 3.18.10:
------------------
Enhancements:
-------------
* Added the error message when an invalid pip dependency version expression is used
* Conda skeleton pypi quoting just `version`, `summary`` and `description` or attributes with special characters
* Set up CI Azure pipeline for Linux
* Update cran skeleton to match supported optional licenses for license file derivation.
* Migrate Unittests to PyTest
* Update script command on conda skeleton pypi to use `{{ PYTHON }} -m pip install . -vv`
* Add a warning when a received a file on `RECIPE_PATH`
* Refactored the skeletons/pypi.py get_package_metadata to be more modular
* added --suppress-variables switch to hide environment variables from console output
Bug fixes:
----------
* Fixed build of '.conda' packages enabled via 'conda config --set conda_build.pkg_format 2'
* Workaround for future deprecations of the SafeConfigParser and readfp of the same module.
Docs:
-----
* Remove bzip2 package from build toolkit description.
Other:
------
Contributors:
-------------
* @msarahan
* @jakirkham
* @marcelotrevisani
* @duncanmmacleod
* @kinow
* @saraedum
* @jjhelmus
* @rrigdon
* @mingwandroid
* @asford
* @timsnyder
* @mcg1969
* @kaitietz
* @stuarteberg
* @isuruf
* @dbast
* @Bezier89
2019-07-23 3.18.9:
------------------
Enhancements:
-------------
* add --use-channeldata argument to conda render/build.
* Extract the part in the skeletons pypi responsible to get the package metadata to a free function.
* Creat unittests for the get_package_metadata (skeletons/pypi.py) and for the new functions.
Bug fixes:
----------
* Limit threads to 61 on Windows.
* Do not use channeldata for run_exports unless --use-channeldata specified.
* Finalize top-level metadata if not present as an output.
Docs:
-----
* Add 3.18.7 release notes
Other:
------
* Add disable_pip to FIELDS
Contributors:
-------------
* @rrigdon
* @jjhelmus
* @rrigdon
* @Bezier89
* @jakirkham
* @marcelotrevisani
2019-07-18 3.18.8:
------------------
Enhancements:
-------------
* license_file can optionally be a yaml list
Bug fixes:
----------
* fix readup of existing index.json in cache while extracting
* fix spurious post build errors/warning message
* merge channeldata from all urls
Contributors:
-------------
* @msarahan
* @rrigdon
* @jjhelmus
* @isuruf
* @ddamiani
2019-07-09 3.18.7:
------------------
Enhancements:
-------------
* Update authorship for 3.18.7
* Add note on single threading for indexing during build
* Add in fallback for run_exports when channeldata not available
* Make pins for current_repodata additive - always newest, and pins are additions to that
* Limit indexing in build to using one thread
* Speed up by allowing empty run_exports entries in channeldata be valid results
* Bump conda-package-handling to 1.3+
* Add test for run_exports without channeldata
* Fallback to file-based run_exports if channeldata has no results
* Add Mozilla as valid license family
* Add in fallback for run_exports when channeldata not available
* Updated tutorials and resource documentation
Bug fixes:
----------
* Flake8 and test fixes from pytest deprecations
* Fix in render.py::_read_specs_from_package
* Fix for pkg_loc
* Fix conda debug output being suppressed
Contributors:
-------------
* @msarahan
* @rrigdon
* @rrigdon
* @scopatz
* @mbargull
* @jakirkham
* @oleksandr-pavlyk
2019-06-26 3.18.6:
------------------
Enhancements:
-------------
* package sha256 sums are includex in index.html
Bug fixes:
----------
* fix bug where package filenames were not included in the index.html
Contributors:
-------------
* @rrigdon
* @jjhelmus
2019-06-25 3.18.5:
------------------
Bug fixes:
----------
* fix one more keyerror with missing timestamp data
* when indexing, allow .tar.bz2 files to use .conda cache, but not vice versa. This acts as a sanity check on the .conda files.
* add build/rpaths_patcher to meta.yaml, to allow switching between lief and patchelf for binary mangling
Contributors:
-------------
* @mingwandroid
* @msarahan
* @csosborn
2019-06-21 3.18.4:
------------------
Enhancements:
-------------
* channeldata reworked a bit to try to capture any available run_exports for all versions available
Bug fixes:
----------
* make "timestamp" an optional field in conda index operations
Contributors:
-------------
* @msarahan
2019-06-20 3.18.3:
------------------
Enhancements:
-------------
* Make VS2017 default Visual Studio
* Add hook for customizing the behavior of conda render
* Drop `/usr` from CDT skeleton path
* Update cran skeleton to use m2w64 compilers for windows instead of toolchain.
The linter is telling since long: Using toolchain directly in this manner is deprecated.
Bug fixes:
----------
* Update cran skeleton to not use toolchain for win
* fix package_has_file so it supports .conda files (use cph)
* fix package_has_file function for .conda format
* fix off-by-one path trimming in prefix_files
* disable overlinking checks when no files in the package have any shared library linkage
* try to avoid finalizing top-level metadata twice
* try to address permission errors on Appveyor and Azure by falling back to copy and warning (not erroring) if removing a file after copying fails
* reduce the files inspected/loaded for channeldata, so that indexing goes faster
Deprecations:
-------------
* The repodata2.json file is no longer created as part of indexing. It was not used by anything. It has been removed as an optimization. Its purpose was to explore namespaces, and we'll bring its functionality back when we address that fully.
Contributors:
-------------
* @mingwandroid
* @msarahan
* @rrigdon
* @rrigdon
* @soapy1
* @mariusvniekerk
* @jakirkham
* @dbast
* @duncanmmacleod
2019-05-26 3.18.2:
------------------
Bug fixes:
----------
* speed up post-link checks
* fix activation not running during tests
* improve indexing to show status better, and fix bug where size/hashes were being mixed up between .tar.bz2 and .conda files
Contributors:
-------------
* @mingwandroid
* @msarahan
* @rrigdon
2019-05-18 3.18.1:
------------------
Enhancements:
-------------
* rearrange steps in index.py to optimize away unnecessary work
* restore parallel extract and hash in index operations
Contributors:
-------------
* @msarahan
2019-05-17 3.18.0:
------------------
Enhancements:
-------------
* Set R_USER environment variable when building R packages
* Make Centos 7 default cdt distribution for linux-aarch64
* Bump default python3 version to 3.7 for CI
* Build docs if any docs related file changes
* Add support for conda pkgv2 (.conda) format
* add creation of "current_repodata.json" - like repodata.json, but only has the newest version of each file
* change repodata layout to support .conda files. They live under the "packages.conda" key and have similar subkeys to their .tar.bz2 counterparts.
* Always show display actions, regardless of verbosity level
* Ignore registry autorun for all cmd.exe invocations
* Relax default pinning on r-base for benefit of noarch R packages
* Make conda index produce repodata_from_packages.json{,.bz2} which contains unpatched metadata
* Use a shorter environment prefix when testing on unix-like platforms
* Prevent pip from clobbering conda installed python packages by populating .dist_info INSTALLER file
Bug fixes:
----------
* Allow build/missing_dso_whitelist section to be empty
* Make conda-debug honor custom channels passed using -c
* Do not attempt linkages inspection via lief if not installed
* Fix all lief related regressions brought in v3.17.x
* Fix ZeroDivisionError in ELF sections that have zero entries
* `binary_has_prefix_files` and `text_has_prefix_files` now override the automatically detected prefix replacement mode
* Handle special characters properly in pypi conda skeleton
* Build recipes in order of dependencies when passed to CB as directories
* Fix run_test script name for recipes with multiple outputs
* Fix recursion error with subpackages and build_id
* Avoid mutating global variable to fix tests on Windows
* Update CRAN license test case (replace r-ruchardet with r-udpipe)
* Update utils.filter_files to filter out generated .conda_trash files
* Replace stdlib glob with utils.glob. Latter supports recursion (**)
Docs:
-----
* Updated Sphinx theme to make notes and warnings more visible
* Added tutorial on building R-language packages using skeleton CRAN
* Add 37 to the list of valid values for CONDA_PY
* Corrected argparse rendering error
* Added tutorials section, reorganized content, and added a Windows tutorial
* Added Concepts section, removed extraneous content
* Added release notes section
* Reorganized sections
* Clarify to use 'where' on Windows and 'which' on Linux to inspect files in PATH
* Add RPATH information to compiler-tools documentation
* Improve the documentation on how to use the macOS SDK in build scripts.
* Document ``conda build purge-all``.
* Fix user-guide index
* Add example for meta.yaml
* Updated theme
* Reorganized conda-build topics, updated link-scripts
Contributors:
-------------
* @mingwandroid
* @msarahan
* @rrigdon
* @jjhelmus
* @nehaljwani
* @scopatz
* @Bezier89
* @rrigdon
* @isuruf
* @teake
* @jdblischak
* @bilderbuchi
* @soapy1
* @ESSS
* @tjd2002
* @tovrstra
* @chrisburr
* @katietz
* @hrzafer
* @zdog234
* @gabrielcnr
* @saraedum
* @uilianries
* @theultimate1
* @scw
* @spalmrot-tic
2019-01-26 3.17.8:
------------------
Bug fixes:
----------
* provide fallback from libarchive back to python tarfile handling for handling tarfiles containing symlinks on windows
Other:
------
* Rever support added for releasing conda-build
Contributors:
-------------
......
......@@ -2,23 +2,12 @@
conda-build
===========
.. image:: https://travis-ci.org/conda/conda-build.svg?branch=master
:target: https://travis-ci.org/conda/conda-build
.. image:: https://ci.appveyor.com/api/projects/status/07r1m8fy55jee9th?svg=true
:target: https://ci.appveyor.com/project/ContinuumAnalyticsFOSS/conda-build
.. image:: https://dev.azure.com/anaconda-conda/conda-build/_apis/build/status/conda.conda-build?branchName=master
:target: https://dev.azure.com/anaconda-conda/conda-build/_build/latest?definitionId=1&branchName=master
.. image:: https://codecov.io/gh/conda/conda-build/branch/master/graph/badge.svg
:target: https://codecov.io/gh/conda/conda-build
.. image:: https://landscape.io/github/conda/conda-build/master/landscape.svg?style=flat
:target: https://landscape.io/github/conda/conda-build/master
:alt: Code Health
.. image:: http://img.shields.io/badge/benchmarked%20by-asv-green.svg?style=flat
:target: https://github.com/airspeed-velocity/asv
:alt: Benchmarked by Airspeed Velocity
Installation
--------------
......@@ -102,7 +91,7 @@ Additionally, you need to install a few extra packages:
.. code-block:: bash
conda install anaconda-client pytest pytest-cov mock
conda install anaconda-client pytest pytest-cov mock pytest-mock conda-package-handling python-libarchive-c
The test suite runs with py.test. Some useful commands to run select tests,
assuming you are in the conda-build root folder:
......
environment:
global:
# 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 .\\tools\\appveyor\\run_with_env.cmd"
matrix:
- SYS_PYTHON: "C:\\Miniconda36-x64"
SYS_PYTHON_VERSION: "3.6"
SYS_PYTHON_ARCH: "64"
CONDA_CANARY: "False"
- SYS_PYTHON: "C:\\Miniconda-x64"
SYS_PYTHON_VERSION: "2.7"
SYS_PYTHON_ARCH: "64"
CONDA_CANARY: "False"
- SYS_PYTHON: "C:\\Miniconda36-x64"
SYS_PYTHON_VERSION: "3.6"
SYS_PYTHON_ARCH: "64"
CONDA_CANARY: "True"
init:
- ECHO %SYS_PYTHON% %SYS_PYTHON_VERSION% %SYS_PYTHON_ARCH% %HOME%
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." }
# these correspond to folder naming of miniconda installs on appveyor. See
# https://www.appveyor.com/docs/installed-software#python
- if "%SYS_PYTHON_VERSION%" == "3.6" set "BASE_PYTHON_VERSION=36"
- if "%SYS_PYTHON_ARCH%" == "64" set "ARCH_LABEL=-x64"
# These are already installed on appveyor. Update them.
- set "CONDA_ROOT=C:\Miniconda%BASE_PYTHON_VERSION%%ARCH_LABEL%"
- set "PATH=%CONDA_ROOT%;%CONDA_ROOT%\Scripts;%CONDA_ROOT%\Library\bin;%PATH%"
- conda config --set always_yes yes
- if "%CONDA_CANARY%" == "True" (conda update -c conda-canary conda) else (conda update -q conda)
- conda config --set auto_update_conda no
- conda info
- python -c "import sys; print(sys.version)"
- python -c "import sys; print(sys.executable)"
- python -c "import sys; print(sys.prefix)"
- conda update -q --all
- conda install -q pip pytest pytest-cov jinja2 patch flake8 mock requests contextlib2 chardet glob2 perl pyflakes pycrypto posix m2-git anaconda-client numpy beautifulsoup4 pytest-xdist pytest-mock filelock pkginfo psutil pytz tqdm python-libarchive-c
- if "%SYS_PYTHON_VERSION%" == "2.7" conda install -q scandir
- if "%SYS_PYTHON_VERSION%" == "3.6" conda install -q py-lief
# this is to ensure dependencies
- python --version
- python -c "import struct; print(struct.calcsize('P') * 8)"
- pip install --no-deps .
- set PATH
- conda build --version
- call ci\appveyor\setup_x64.bat
- copy "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\vcvars64.bat" "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\amd64\vcvarsamd64.bat"
# This is an extra repo that we clone for relative path entries
- cmd: pushd .. && git clone https://github.com/conda/conda_build_test_recipe && popd
# Not a .NET project, we build package in the install step instead
build: false
# cache:
# - C:\\Miniconda3-x64 -> appveyor.yml
# - C:\\Miniconda36-x64 -> appveyor.yml
# - C:\\Miniconda-x64 -> appveyor.yml
# - C:\\Miniconda -> appveyor.yml
test_script:
- set "PATH=%CONDA_ROOT%;%CONDA_ROOT%\Scripts;%CONDA_ROOT%\Library\bin;%PATH%"
- set PATH
- mkdir C:\cbtmp
# unset other language env vars - we only want to test if conda-build sets them itself
- set PERL=
- set LUA=
- set R=
# cache several files to avoid race condition errors
- echo "safety_checks: disabled" >> ~/.condarc
- echo "local_repodata_ttl: 1800" >> ~/.condarc
- conda create -n blarg -yq --download-only python=2.7 libpng=1.6.17
- conda create -n blarg -yq --download-only python=3.5 libpng=1.6.17
# no libpng here because we already have the right version from the 3.5 install
- conda create -n blarg -yq --download-only python cmake
# remove all folders to avoid permission errors. Leave root files (may have coverage info there)
- for /d %%F in (c:\cbtmp\*) do rd /s /q "%%F"
- py.test --color=yes -v --cov conda_build --cov-report xml --cov-append tests --basetemp C:\cbtmp -n 2 -m "not serial"
# install conda-verify later, so we are ignoring checks in most tests
- conda install -y conda-verify
- py.test --color=yes -v --cov conda_build --cov-report xml tests --basetemp C:\cbtmp -n 0 -m "serial"
# For debugging, this is helpful - zip up the test environment and make it available for later download.
# However, it eats up a fair amount of time. Better to disable until you need it.
# on_failure:
# - 7z.exe a cbtmp.7z C:\cbtmp
# - appveyor PushArtifact cbtmp.7z
on_success:
- conda install -c conda-forge codecov
- codecov --env SYS_PYTHON_VERSION --file C:\projects\conda-build\coverage.xml
trigger:
- master
jobs:
- job: 'Linux'
pool:
vmImage: ubuntu-16.04
strategy:
maxParallel: 10
matrix:
py27-release:
PYTHON_VERSION: '2.7'
CONDA_VERSION: 'release'
py27-canary:
PYTHON_VERSION: '2.7'
CONDA_VERSION: 'canary'
py37-canary:
PYTHON_VERSION: '3.7'
CONDA_VERSION: 'release'
py37-release:
PYTHON_VERSION: '3.7'
CONDA_VERSION: 'canary'
timeoutInMinutes: 480
steps:
- script: |
sudo apt update
sudo apt install attr -y
conda info
ps -ef | grep $$
conda install python=$PYTHON_VERSION -y
mkdir -p /usr/share/miniconda/locks
mkdir -p /usr/share/miniconda/bin
chmod -w /usr/share/miniconda/locks
source /usr/share/miniconda/bin/activate
if [ "$CONDA_VERSION" = "release" ]; then
conda update -y conda;
else
conda install -y -c conda-canary conda;
fi
conda config --set always_yes yes
conda config --set auto_update_conda False
conda info
# avoids a python 3.7 problem
conda install -q cytoolz
if [[ "$PYTHON_VERSION" == "2.7" ]]; then
conda install -q futures scandir;
fi
conda install -q pytest-azurepipelines anaconda-client git requests filelock contextlib2 jinja2 patchelf ripgrep pyflakes beautifulsoup4 chardet pycrypto glob2 psutil pytz tqdm conda-package-handling py-lief python-libarchive-c conda-forge::shellcheck
pip install pkginfo
conda install -c c3i_test -q perl;
conda install -q pytest pip pytest-cov pytest-forked pytest-xdist nomkl numpy mock pytest-mock;
pushd .. && git clone https://github.com/conda/conda_build_test_recipe && popd;
pip install --no-deps .
conda info -a
displayName: Preparing test environment
- script: |
conda install conda-verify -y
/usr/share/miniconda/bin/py.test --color=yes -v -n 0 --basetemp /tmp/cb_serial --cov conda_build --cov-report xml -m "serial" tests --test-run-title="Linux-SerialTests-$CONDA_VERSION-Python$PYTHON_VERSION"
displayName: 'Serial Tests'
- script: |
conda remove conda-verify -y
echo "safety_checks: disabled" >> ~/.condarc
echo "local_repodata_ttl: 1800" >> ~/.condarc
mkdir -p ~/.conda
conda create -n blarg1 -yq python=2.7
conda create -n blarg3 -yq python=3.7
conda create -n blarg4 -yq python nomkl numpy pandas svn
source /usr/share/miniconda/bin/activate
py.test --color=yes -v -n auto --basetemp /tmp/cb --cov conda_build --cov-append --cov-report xml -m "not serial" tests --test-run-title="Linux-ParallelTests-$CONDA_VERSION-Python$PYTHON_VERSION"
displayName: 'Parallel Tests'
- job: 'Windows'
pool:
vmImage: "vs2017-win2016"
strategy:
maxParallel: 10
matrix:
py27-release:
PYTHON_VERSION: '2.7'
CONDA_VERSION: 'release'
py27-canary:
PYTHON_VERSION: '2.7'
CONDA_VERSION: 'canary'
py37-canary:
PYTHON_VERSION: '3.7'
CONDA_VERSION: 'release'
py37-release:
PYTHON_VERSION: '3.7'
CONDA_VERSION: 'canary'
timeoutInMinutes: 480
steps:
- checkout: self
persistCredentials: true
- task: UsePythonVersion@0
inputs:
versionSpec: '$(PYTHON_VERSION)'
- script: |
choco install vcpython27 -fdv -y --debug
displayName: Install vcpython27.msi
- script: |
rmdir C:\Strawberry /s /q
choco install wget
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe
start /wait "" Miniconda3-latest-Windows-x86_64.exe /InstallationType=JustMe /S /D=%UserProfile%\Miniconda3
set PATH=%UserProfile%\Miniconda3;%UserProfile%\Miniconda3\Scripts;%UserProfile%\Miniconda3\Library\bin;%PATH%
conda info -a
displayName: Install miniconda
- 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 + '\..')
set LIB
displayName: Patch vs2008
- powershell: |
Write-Host "##vso[task.prependpath]$ENV:UserProfile\Miniconda3;$ENV:UserProfile\Miniconda3\Scripts;$ENV:UserProfile\Miniconda3\Library\bin"
displayName: Add conda to PATH
- script: |
set PATH
conda --help
conda --version
conda install python="%PYTHON_VERSION%" -y
if "%CONDA_VERSION%" == "canary" (conda update -c conda-canary conda) else (conda update -q conda)
conda config --set always_yes yes
conda config --set auto_update_conda no
conda info
python -c "import sys; print(sys.version)"
python -c "import sys; print(sys.executable)"
python -c "import sys; print(sys.prefix)"
conda update -q --all
conda install -q pip python-libarchive-c pytest git pytest-cov jinja2 m2-patch flake8 mock requests contextlib2 chardet glob2 perl pyflakes pycrypto posix m2-git anaconda-client numpy beautifulsoup4 pytest-xdist pytest-mock filelock pkginfo psutil pytz tqdm conda-package-handling
conda install -c conda-forge pytest-azurepipelines -y
echo "safety_checks: disabled" >> ~/.condarc
echo "local_repodata_ttl: 1800" >> ~/.condarc
if "%PYTHON_VERSION%" == "2.7" conda install -q scandir
if "%PYTHON_VERSION%" == "3.7" conda install -q py-lief
python --version
python -c "import struct; print(struct.calcsize('P') * 8)"
pip install --no-deps .
conda build --version
pushd .. && git clone https://github.com/conda/conda_build_test_recipe && popd
mkdir %UserProfile%\cbtmp_serial
mkdir %UserProfile%\cbtmp
for /d %%F in (%UserProfile%\cbtmp_serial\*) do rd /s /q "%%F"
for /d %%F in (%UserProfile%\cbtmp\*) do rd /s /q "%%F"
conda create -n blarg -yq --download-only python=2.7
conda create -n blarg -yq --download-only python=3.7
conda create -n blarg -yq --download-only python cmake
displayName: 'Configuration'
- script: |
set PATH
conda install -y conda-verify
set PERL=
set LUA=
set R=
py.test --color=yes -v --cov conda_build --cov-report xml tests --basetemp %UserProfile%\cbtmp_serial -n 0 -m "serial" --test-run-title="Win-SerialTests-%CONDA_VERSION%-Python%PYTHON_VERSION%"
displayName: 'Serial Tests'
- script: |
source activate base
conda remove -y conda-verify
set PERL=
set LUA=
set R=
py.test --color=yes -v --cov conda_build --cov-report xml --cov-append tests --basetemp %UserProfile%\cbtmp -n auto -m "not serial" --test-run-title="Win-ParallelTests-%CONDA_VERSION%-Python%PYTHON_VERSION%"
env:
VS90COMNTOOLS: "C:\\Program Files (x86)\\Common Files\\Microsoft\\Visual C++ for Python\\9.0\\VC\\bin"
LIB:
displayName: 'Parallel Tests'
......@@ -204,7 +204,12 @@ class bdist_conda(install):
c = configparser.ConfigParser()
entry_points = {}
try:
import six
if six.PY2:
c.readfp(StringIO(newstr))
else:
c.read_file(StringIO(newstr))
except Exception as err:
# This seems to be the best error here
raise DistutilsGetoptError("ERROR: entry-points not understood: " +
......
......@@ -13,16 +13,39 @@ if [[ "$FLAKE8" == "true" ]]; then
conda install -n _cbtest $(conda render --output conda.recipe | head -n 1)
source activate _cbtest
conda build conda.recipe --no-anaconda-upload
elif [[ "$DOCS" == "true" ]]; then
cd docs
make html
else
FILES_CHANGED=$(git diff master --name-only | wc -l)
DOCS_FILES_CHANGED=$(git diff master --name-only | grep docs | wc -l)
if [[ $FILES_CHANGED == $DOCS_FILES_CHANGED ]]; then
echo "Only docs changed detected, skipping tests"
else
echo "safety_checks: disabled" >> ~/.condarc
echo "local_repodata_ttl: 1800" >> ~/.condarc
mkdir -p ~/.conda
conda create -n blarg1 -yq python=2.7
conda create -n blarg3 -yq python=3.5
conda create -n blarg3 -yq python=3.6
conda create -n blarg4 -yq python nomkl numpy pandas svn
conda create -n blarg5 -yq libpng=1.6.17
/opt/conda/bin/py.test -v -n 2 --basetemp /tmp/cb --cov conda_build --cov-append --cov-report xml -m "not serial" tests --forked
SLOW_MARK="and not slow"
if [[ $SLOW_TESTS == "true" ]]; then
SLOW_MARK="and slow"
fi
if [[ "$SANITY" == "true" ]]; then
pip install git+https://github.com/conda/conda-verify.git
/opt/conda/bin/py.test -v -n auto --basetemp /tmp/cb --cov conda_build --cov-append --cov-report xml -m "sanity and not slow and not serial" tests
/opt/conda/bin/py.test -v -n 0 --basetemp /tmp/cb_serial --cov conda_build --cov-append --cov-report xml -m "sanity and not slow and serial" tests
else
/opt/conda/bin/py.test -v -n auto --basetemp /tmp/cb --cov conda_build --cov-append --cov-report xml -m "not serial $SLOW_MARK and not sanity" tests
if [[ $SLOW_MARK == "and not slow" ]]; then
# install conda-verify from its master branch, at least for a while until it's more stable
pip install git+https://github.com/conda/conda-verify.git
/opt/conda/bin/py.test -v -n 0 --basetemp /tmp/cb --cov conda_build --cov-report xml -m "serial" tests
/opt/conda/bin/py.test -v -n 0 --basetemp /tmp/cb_serial --cov conda_build --cov-report xml -m "serial $SLOW_MARK and not sanity" tests
fi
fi
fi
fi
......@@ -26,7 +26,7 @@ requirements:
run:
- beautifulsoup4
- chardet
- conda >=4.3
- conda >=4.5
# - conda-verify >=3.0.2 # optional as of CB 3.12.0
- contextlib2 # [py<34]
- enum34 # [py<34]
......@@ -40,16 +40,19 @@ requirements:
- python
- pyyaml
- scandir # [py<34]
- setuptools
- six
- glob2 >=0.6
- pytz
- tqdm
- conda-package-handling >=1.3
- python-libarchive-c
test:
requires:
- pytest
- pytest-cov
- pytest-mock
# Optional: you can use pytest-xdist to run the tests in parallel
# - pytest-env # [win]
# - pytest-xdist
......
......@@ -23,9 +23,9 @@ def get_keywords():
# setup.py/versioneer.py will grep for the variable names, so they must
# each be defined on a line of their own. _version.py will just call
# get_keywords().
git_refnames = " (tag: 3.17.8)"
git_full = "5da509d13764d96c02c80f24b54ab87d652b2538"
git_date = "2019-01-26 21:02:48 -0600"
git_refnames = " (tag: 3.18.11)"
git_full = "9cdeea385d637f2121c397af64f900504c05b798"
git_date = "2019-11-01 16:30:12 -0500"
keywords = {"refnames": git_refnames, "full": git_full, "date": git_date}
return keywords
......
......@@ -19,7 +19,8 @@ but only use those kwargs in config. Config must change to support new features
import sys as _sys
# make the Config class available in the api namespace
from conda_build.config import Config, get_or_merge_config, DEFAULT_PREFIX_LENGTH as _prefix_length
from conda_build.config import (Config, get_or_merge_config, get_channel_urls,
DEFAULT_PREFIX_LENGTH as _prefix_length)
from conda_build.utils import ensure_list as _ensure_list
from conda_build.utils import expand_globs as _expand_globs
from conda_build.utils import get_logger as _get_logger
......@@ -269,7 +270,7 @@ def skeletonize(packages, repo, output_dir=".", version=None, recursive=False,
packages = _ensure_list(packages)
# This is a little bit of black magic. The idea is that for any keyword argument that
# we inspect from the given module's skeletonize funtion, we should hoist the argument
# we inspect from the given module's skeletonize function, we should hoist the argument
# off of the config object, and pass it as a keyword argument. This is sort of the
# inverse of what we do in the CLI code - there we take CLI arguments and dangle them
# all on the config object as attributes.
......@@ -377,10 +378,11 @@ def create_metapackage(name, version, entry_points=(), build_string=None, build_
def update_index(dir_paths, config=None, force=False, check_md5=False, remove=False, channel_name=None,
subdir=None, threads=None, patch_generator=None, verbose=False, progress=False,
hotfix_source_repo=None, **kwargs):
hotfix_source_repo=None, current_index_versions=None, **kwargs):
import yaml
from locale import getpreferredencoding
import os
from .conda_interface import PY3
from .conda_interface import PY3, string_types
from conda_build.index import update_index
from conda_build.utils import ensure_list
dir_paths = [os.path.abspath(path) for path in _ensure_list(dir_paths)]
......@@ -388,15 +390,19 @@ def update_index(dir_paths, config=None, force=False, check_md5=False, remove=Fa
if not PY3:
dir_paths = [path.decode(getpreferredencoding()) for path in dir_paths]
if isinstance(current_index_versions, string_types):
with open(current_index_versions) as f:
current_index_versions = yaml.safe_load(f)
for path in dir_paths:
update_index(path, check_md5=check_md5, channel_name=channel_name,
patch_generator=patch_generator, threads=threads, verbose=verbose,
progress=progress, hotfix_source_repo=hotfix_source_repo,
subdirs=ensure_list(subdir))
subdirs=ensure_list(subdir), current_index_versions=current_index_versions)
def debug(recipe_or_package_path_or_metadata_tuples, path=None, test=False, output_id=None, config=None,
verbose=True, **kwargs):
def debug(recipe_or_package_path_or_metadata_tuples, path=None, test=False,
output_id=None, config=None, verbose=True, link_source_method='auto', **kwargs):
"""Set up either build/host or test environments, leaving you with a quick tool to debug
your package's build or test phase.
"""
......@@ -410,14 +416,36 @@ def debug(recipe_or_package_path_or_metadata_tuples, path=None, test=False, outp
is_package = False
default_config = get_or_merge_config(config, **kwargs)
args = {"set_build_id": False}
path_is_build_dir = False
workdirs = [os.path.join(recipe_or_package_path_or_metadata_tuples, d)
for d in (os.listdir(recipe_or_package_path_or_metadata_tuples) if
os.path.isdir(recipe_or_package_path_or_metadata_tuples) else [])
if (d.startswith('work') and
os.path.isdir(os.path.join(recipe_or_package_path_or_metadata_tuples, d)))]
metadatas_conda_debug = [os.path.join(f, "metadata_conda_debug.yaml") for f in workdirs
if os.path.isfile(os.path.join(f, "metadata_conda_debug.yaml"))]
metadatas_conda_debug = sorted(metadatas_conda_debug)
if len(metadatas_conda_debug):
path_is_build_dir = True
path = recipe_or_package_path_or_metadata_tuples
if not path:
path = os.path.join(default_config.croot, "debug_{}".format(int(time.time() * 1000)))
config = get_or_merge_config(config=default_config, croot=path, verbose=verbose, _prefix_length=10,
**args)
config.channel_urls = get_channel_urls(kwargs)
metadata_tuples = []
best_link_source_method = 'skip'
if isinstance(recipe_or_package_path_or_metadata_tuples, string_types):
if path_is_build_dir:
for metadata_conda_debug in metadatas_conda_debug:
best_link_source_method = 'symlink'
from conda_build.metadata import MetaData
metadata = MetaData(metadata_conda_debug, config, {})
metadata_tuples.append((metadata, False, True))
else:
ext = os.path.splitext(recipe_or_package_path_or_metadata_tuples)[1]
if not ext or not any(ext in _ for _ in CONDA_TARBALL_EXTENSIONS):
metadata_tuples = render(recipe_or_package_path_or_metadata_tuples, config=config, **kwargs)
......@@ -438,7 +466,7 @@ def debug(recipe_or_package_path_or_metadata_tuples, path=None, test=False, outp
"a single output is found.".format(matched_outputs))
elif not matched_outputs:
raise ValueError("Specified --output-id did not match any outputs. Available outputs are: {} Please check it and try again".format(outputs))
if len(matched_outputs) > 1:
if len(matched_outputs) > 1 and not path_is_build_dir:
raise ValueError("More than one output found for this recipe ({}). Please use the --output-id argument to filter down "
"to a single output.".format(outputs))
else:
......@@ -448,6 +476,30 @@ def debug(recipe_or_package_path_or_metadata_tuples, path=None, test=False, outp
# make sure that none of the _placehold stuff gets added to env paths
target_metadata.config.prefix_length = 10
if best_link_source_method == 'symlink':
for metadata, _, _ in metadata_tuples:
debug_source_loc = os.path.join(os.sep + 'usr', 'local', 'src', 'conda',
'{}-{}'.format(metadata.get_value('package/name'),
metadata.get_value('package/version')))
link_target = os.path.dirname(metadata.meta_path)
try:
dn = os.path.dirname(debug_source_loc)
try:
os.makedirs(dn)
except FileExistsError:
pass
try:
os.unlink(debug_source_loc)
except:
pass
print("Making debug info source symlink: {} => {}".format(debug_source_loc, link_target))
os.symlink(link_target, debug_source_loc)
except PermissionError as e:
raise Exception("You do not have the necessary permissions to create symlinks in {}\nerror: {}"
.format(dn, str(e)))
except Exception as e:
raise Exception("Unknown error creating symlinks in {}\nerror: {}"
.format(dn, str(e)))
ext = ".bat" if on_win else ".sh"
if verbose:
......@@ -455,7 +507,13 @@ def debug(recipe_or_package_path_or_metadata_tuples, path=None, test=False, outp
else:
log_context = LoggingContext(logging.CRITICAL + 1)
if not test:
if path_is_build_dir:
activation_file = "build_env_setup" + ext
activation_string = "cd {work_dir} && {source} {activation_file}\n".format(
work_dir=target_metadata.config.work_dir,
source="call" if on_win else "source",
activation_file=os.path.join(target_metadata.config.work_dir, activation_file))
elif not test:
with log_context:
run_build(target_metadata, stats={}, provision_only=True)
activation_file = "build_env_setup" + ext
......