Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/nilearn/nilearn into fix-…
Browse files Browse the repository at this point in the history
…smooth-image

* 'master' of https://github.com/nilearn/nilearn: (25 commits)
  Add testing for Nilearn setup & install & Fix the broken dependency installation (nilearn#2201)
  Fix uniform ball cloud test for sklearn >= 0.22 (nilearn#2175)
  MAINT: sklearn Deprecations (nilearn#2219)
  DOC: title in bold
  [DOC] Add note about decreasing memory usage (nilearn#2223)
  Rel 060b0 (nilearn#2208)
  Nilearn 0.6.0b0 release (nilearn#2206)
  Fixed the redundant & missing test case in merged PR nilearn#2035 (nilearn#2205)
  Modify fetch_development_fmri to fetch adults or children (nilearn#2035)
  Verbose doc building to ease tracking of progress & diagnose stalls (nilearn#2203)
  New conda env is created once conda path has been activated
  Conda environment is created for full-builds
  Refactor CircleCI config for reduced redundancy (nilearn#2204)
  Installation should fail on Python < 3.5 (nilearn#2198)
  [MRG] Add get data function (nilearn#2172)
  fix error when colorscale given boolean array (nilearn#2193)
  remove is_valid filter (nilearn#2169)
  Moved new entries to next release
  FIX: marker size issue in plot_connectome nilearn#2185 (nilearn#2186)
  Updated Appveyor status badge
  ...
  • Loading branch information
kchawla-pi committed Nov 21, 2019
2 parents 5329869 + bbc750a commit 8507af9
Show file tree
Hide file tree
Showing 80 changed files with 1,092 additions and 517 deletions.
1 change: 0 additions & 1 deletion .circleci/auto-cache-timestamp

This file was deleted.

6 changes: 3 additions & 3 deletions .circleci/clean-cache.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@


def update_cache_timestamp(timestamp_filename):
""" Updates the contents of the manual-cache-timestamp file
""" Updates the contents of the docs-cache-timestamp file
with current timestamp.
Returns
Expand All @@ -22,5 +22,5 @@ def update_cache_timestamp(timestamp_filename):


if __name__ == '__main__':
update_cache_timestamp('manual-cache-timestamp')
update_cache_timestamp('auto-cache-timestamp')
update_cache_timestamp('docs-cache-timestamp')
update_cache_timestamp('packages-cache-timestamp')
168 changes: 95 additions & 73 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,42 +3,46 @@
# It doesn't operate on master branch. New branches are always built from scratch.
# full-build always rebuilds from scratch, without any cache. Only for changes in master branch.

version: 2
version: 2.1

jobs:
quick-build:
docker:
- image: circleci/python:3.6
environment:
DISTRIB: "conda"
PYTHON_VERSION: "3.6"
NUMPY_VERSION: "*"
SCIPY_VERSION: "*"
SCIKIT_LEARN_VERSION: "*"
JOBLIB_VERSION: "*"
MATPLOTLIB_VERSION: "*"
commands:

preinstall:
description: "Cleans up unused packages; Updates system packages"
steps:
- run:
name: Remove conflicting packages
command: |
# Get rid of existing virtualenvs on circle ci as they conflict with conda.
# Trick found here:
# https://discuss.circleci.com/t/disable-autodetection-of-project-or-application-of-python-venv/235/10
cd && rm -rf ~/.pyenv && rm -rf ~/virtualenvs
# We need to remove conflicting texlive packages.
sudo -E apt-get -yq remove texlive-binaries --purge
- run:
name: Install packages for make -C doc check
command: |
# Installing required packages for `make -C doc check command` to work.
sudo -E apt-get -yq update
sudo -E apt-get -yq --no-install-suggests --no-install-recommends --force-yes install dvipng texlive-latex-base texlive-latex-extra
restore_from_cache:
description: "Restores the cache of previously built docs & python packages if present"
steps:
- checkout
# Get rid of existing virtualenvs on circle ci as they conflict with conda.
# Trick found here:
# https://discuss.circleci.com/t/disable-autodetection-of-project-or-application-of-python-venv/235/10
- run: cd && rm -rf ~/.pyenv && rm -rf ~/virtualenvs
# We need to remove conflicting texlive packages.
- run: sudo -E apt-get -yq remove texlive-binaries --purge
# Installing required packages for `make -C doc check command` to work.
- run: sudo -E apt-get -yq update
- run: sudo -E apt-get -yq --no-install-suggests --no-install-recommends --force-yes install dvipng texlive-latex-base texlive-latex-extra
- run:
name: Today & Week # Saving today's date and current week of the year in files to generate daily & weekly new cache key respectively.
name: Generate cache keys from today's date for built docs & week number for python packages
command: |
date +%F > today
date +%U > week_num
- restore_cache:
key: v1-packages+datasets-{{ checksum "week_num" }}
key: v1-packages+datasets-{{ checksum "week_num" }}-{{ checksum ".circleci/packages-cache-timestamp" }}
- restore_cache:
key: v1-docs-{{ .Branch }}-{{ checksum "today" }}-{{ checksum ".circleci/manual-cache-timestamp" }}
key: v1-docs-{{ .Branch }}-{{ checksum "today" }}-{{ checksum ".circleci/docs-cache-timestamp" }}

cache_aware_conda_setup:
description: "Downloads & installs conda if not restord by cache"
steps:
- run:
name: Download & install conda if absent
command: |
Expand All @@ -64,91 +68,109 @@ jobs:
else
conda create -n testenv -yq
fi
cache_ignorant_conda_setup:
description: "Downloads & installs only the fresh copy of conda."
steps:
- run:
name: setup conda afresh
command: |
wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda.sh
chmod +x ~/miniconda.sh && ~/miniconda.sh -b
echo 'export PATH="$HOME/miniconda3/bin:$PATH"' >> $BASH_ENV
- run: conda create -n testenv

install_dependencies:
description: "Installs the necessary Python packages"
steps:
- run:
name: Install packages in conda env
command: |
conda install -n testenv python=3.6 numpy scipy scikit-learn matplotlib pandas \
conda install -n testenv python=3.7 numpy scipy scikit-learn matplotlib pandas \
lxml mkl sphinx numpydoc pillow pandas -yq
conda install -n testenv nibabel sphinx-gallery junit-xml -c conda-forge -yq
build_docs:
description: "Installs Nilearn & builds documentation using Sphinx's make html-strict"
steps:
- run:
name: Running CircleCI test (make html)
name: Building documentation
command: |
source activate testenv
pip install -e .
set -o pipefail && cd doc && make html-strict 2>&1 | tee log.txt
no_output_timeout: 7h

store_results:
description: "Stores build times and artifacts"
steps:
- store_test_results:
path: doc/_build/test-results
- store_artifacts:
path: doc/_build/test-results
- store_artifacts:
path: doc/_build/html
- store_artifacts:
path: coverage
- store_artifacts:
path: doc/log.txt

save_to_cache:
description: "Caches the downloaded packages & buit docs."
steps:
- save_cache:
key: v1-packages+datasets-{{ checksum "week_num" }}
paths:
- ../nilearn_data
- ../miniconda3
- save_cache:
key: v1-docs-{{ .Branch }}-{{ checksum "today" }}-{{ checksum ".circleci/manual-cache-timestamp" }}
key: v1-docs-{{ .Branch }}-{{ checksum "today" }}-{{ checksum ".circleci/docs-cache-timestamp" }}
paths:
- doc

- store_artifacts:
path: doc/_build/html
- store_artifacts:
path: coverage
- store_artifacts:
path: doc/log.txt

jobs:

full-build:
quick-build:
docker:
- image: circleci/python:3.6
- image: circleci/python:3.7
environment:
DISTRIB: "conda"
PYTHON_VERSION: "3.6"
PYTHON_VERSION: "3.7"
NUMPY_VERSION: "*"
SCIPY_VERSION: "*"
SCIKIT_LEARN_VERSION: "*"
JOBLIB_VERSION: "*"
MATPLOTLIB_VERSION: "*"

steps:
- checkout
# Get rid of existing virtualenvs on circle ci as they conflict with conda.
# Trick found here:
# https://discuss.circleci.com/t/disable-autodetection-of-project-or-application-of-python-venv/235/10
- run: cd && rm -rf ~/.pyenv && rm -rf ~/virtualenvs
# We need to remove conflicting texlive packages.
- run: sudo -E apt-get -yq remove texlive-binaries --purge
# Installing required packages for `make -C doc check command` to work.
- run: sudo -E apt-get -yq update
- run: sudo -E apt-get -yq --no-install-suggests --no-install-recommends --force-yes install dvipng texlive-latex-base texlive-latex-extra
- run: wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda.sh
- run: chmod +x ~/miniconda.sh && ~/miniconda.sh -b
- run: echo 'export PATH="$HOME/miniconda3/bin:$PATH"' >> $BASH_ENV
- run:
name: Install packages in conda env
command: |
conda create -n testenv python=3.6 numpy scipy scikit-learn matplotlib pandas \
lxml mkl sphinx numpydoc pillow pandas -yq
conda install -n testenv nibabel sphinx-gallery junit-xml -c conda-forge -yq
- run:
name: Running CircleCI test (make html)
command: |
source activate testenv
pip install -e .
set -o pipefail && cd doc && make html-strict 2>&1 | tee log.txt
no_output_timeout: 7h
- store_test_results:
path: doc/_build/test-results
- store_artifacts:
path: doc/_build/test-results
- preinstall
- restore_from_cache
- cache_aware_conda_setup
- install_dependencies
- build_docs
- store_results
- save_to_cache

- store_artifacts:
path: doc/_build/html
- store_artifacts:
path: coverage
- store_artifacts:
path: doc/log.txt
full-build:
docker:
- image: circleci/python:3.7
environment:
DISTRIB: "conda"
PYTHON_VERSION: "3.7"
NUMPY_VERSION: "*"
SCIPY_VERSION: "*"
SCIKIT_LEARN_VERSION: "*"
MATPLOTLIB_VERSION: "*"

steps:
- checkout
- preinstall
- cache_ignorant_conda_setup
- install_dependencies
- build_docs
- store_results


workflows:
Expand Down
1 change: 1 addition & 0 deletions .circleci/docs-cache-timestamp
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
2019-11-07 13:17:41.900352
1 change: 0 additions & 1 deletion .circleci/manual-cache-timestamp

This file was deleted.

1 change: 1 addition & 0 deletions .circleci/packages-cache-timestamp
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
2019-11-07 13:17:41.900617
11 changes: 9 additions & 2 deletions .mailmap
Original file line number Diff line number Diff line change
Expand Up @@ -3,39 +3,46 @@ Alexandre Abadie <alexandre.abadie@inria.fr>
Alexandre Abraham <abraham.alexandre@gmail.com>
Alexandre Gramfort <alexandre.gramfort@inria.fr>
Alexandre Savio <alexsavio@gmail.com>
Andrés Hoyos Idrobo <ahoyosidrobo@gmail.com>
Antoine Grigis <antoine.grigis@cea.fr>
Arthur Mensch <arthur.mensch@gmail.com>
Ben Cipollini <bcipolli@ucsd.edu>
Bertrand Thirion <bertrand.thirion@inria.fr>
Céline Delettre <cdelettre.tts@gmail.com>
Chris Filo Gorgolewski <krzysztof.gorgolewski@gmail.com>
Danilo Bzdok <danilobzdok@gmail.com>
Demian Wassermann <demian.wassermann@inria.fr>
Dimitri Papadopoulos Orfanos <dimitri.papadopoulos@cea.fr>
Elvis Dohmatob <elvis.dohmatob@inria.fr>
Fabian Pedregosa <f@bianp.net>
Franz Liem <franz.liem@gmail.com>
Gael Varoquaux <gael.varoquaux@normalesup.org>
Greg Kiar <gkiar07@gmail.com>
Jan Margeta <jmargeta@gmail.com>
Jaques Grobler <jaquesgrobler@gmail.com>
Jason Gors <jason.gors.work@gmail.com>
Jona Sassenhagen <jona.sassenhagen@gmail.com>
Jean Kossaifi <jean.kossaifi@gmail.com>
Jean Remi King <jeanremi.king@gmail.com>
Jeff Chiang <jeff.njchiang@gmail.com>
Jerome-Alexis Chevalier <jerome-alexis.chevalier@inria.fr>
Jerome Dockes <jerome@dockes.org>
Julia Huntenburg <ju.huntenburg@gmail.com>
J Necus <j.necus2@ncl.ac.uk>
Kamalakar Daddy <dkamalakarreddy@gmail.com>
Konstantin Shmelkov <konstantin.shmelkov@polytechnique.edu>
Kshitij Chawla (kchawla-pi) <kc.insight.pi@gmail.com>
Loïc Estève <loic.esteve@ymail.com>
Martin Perez-Guevara <mperezguevara@gmail.com>
Matthias Ekman <matthias.ekman@gmail.com>
Mehdi Rahim <mehdi.rahim@cea.fr>
Mehdi Rahim <mehdi.rahim@cea.fr> <mrahim@users.noreply.github.com>
Michael Eickenberg <michael.eickenberg@gmail.com>
Michael Hanke <michael.hanke@gmail.com>
Michael Waskom <mwaskom@stanford.edu>
Moritz Boos <moritz.boos@gmail.com>
Moritz Boos <moritz.boos@gmail.com> <moritz.boos@uni-oldenburg.de>
Óscar Nájera <najera.oscar@gmail.com>
Philippe Gervais <philippe.gervais@inria.fr>
Roberto Guidotti <robbenson18@gmail.com>
Ronald Phlypo <Ronald.Phlypo@inria.fr>
Salma Bougacha <salmabougacha@hotmail.com>
Vincent Michel <vm.michel@gmail.com>
Expand Down
7 changes: 5 additions & 2 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,16 @@
:target: https://travis-ci.org/nilearn/nilearn
:alt: Travis Build Status

.. image:: https://ci.appveyor.com/api/projects/status/github/nilearn/nilearn?branch=master&svg=true
:target: https://ci.appveyor.com/project/nilearn-ci/nilearn
.. image:: https://ci.appveyor.com/api/projects/status/qynxxpx0hge4h0rn/branch/master?svg=true
:target: https://ci.appveyor.com/api/projects/status/qynxxpx0hge4h0rn/branch/master?svg=true
:alt: AppVeyor Build Status

.. image:: https://codecov.io/gh/nilearn/nilearn/branch/master/graph/badge.svg
:target: https://codecov.io/gh/nilearn/nilearn

.. image:: https://dev.azure.com/Parietal/Nilearn/_apis/build/status/nilearn.nilearn?branchName=master
:target: https://dev.azure.com/Parietal/Nilearn/_apis/build/status/nilearn.nilearn?branchName=master

nilearn
=======

Expand Down
2 changes: 1 addition & 1 deletion appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ install:
- "conda install pip numpy scipy scikit-learn joblib nose pytest wheel matplotlib -y -q"

# Install other nilearn dependencies
- "pip install nibabel coverage nose-timer pytest-cov"
- "pip install nibabel coverage nose-timer pytest-cov sklearn"
- "python setup.py bdist_wheel"
- ps: "ls dist"

Expand Down

0 comments on commit 8507af9

Please sign in to comment.