Skip to content

Commit

Permalink
Merge pull request #329 from girder/girder-3
Browse files Browse the repository at this point in the history
Refactor and convert to Girder 3.
  • Loading branch information
manthey authored Aug 27, 2019
2 parents 9cba186 + eb85dfe commit f346b1f
Show file tree
Hide file tree
Showing 240 changed files with 8,739 additions and 8,884 deletions.
101 changes: 42 additions & 59 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,77 +1,60 @@
version: 2
jobs:
py35:
machine: true
working_directory: /home/circleci/project
build:
working_directory: ~/project
docker:
- image: zachmullen/tox-and-node
- image: memcached
- image: circleci/mongo:4.0-ram
- image: rabbitmq
steps:
- checkout
- run:
name: upgrade pip
command: |
pip install --upgrade pip
name: Preinstall phantomjs to work around an npm permission issue
command: npm install -g phantomjs-prebuilt --unsafe-perm
- run:
name: Install Docker Compose
command: |
pip install docker-compose
name: Run tests via tox
# Piping through cat does less buffering of the output but can
# consume the exit code
command: tox | cat; test ${PIPESTATUS[0]} -eq 0
- run:
name: Get the environment up and running
command: |
cd devops/mapnik_py35 && docker-compose build && docker-compose up -d
- run:
name: upgrade pip
command: |
docker exec large-image-mapnik-python35 pip3 install --upgrade pip
name: Install Codecov client
command: pip install codecov
- run:
name: Install large image plugin
command: |
docker exec large-image-mapnik-python35 sed -i 's/PY2_ONLY/PY3_ONLY/g' /large_image/plugin.cmake
docker exec large-image-mapnik-python35 pip3 install -e /large_image[mapnik]
docker exec large-image-mapnik-python35 girder-install plugin -s /large_image
- run:
name: Run the tests
command: |
docker exec large-image-mapnik-python35 cmake -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/python3 girder
docker exec large-image-mapnik-python35 make -j 5
docker exec large-image-mapnik-python35 ctest -R mapnik -V
py36:
machine: true
working_directory: /home/circleci/project
name: Upload coverage
# Retry as codecov can be flaky
command: for i in $(seq 1 10); do [ %i -gt 1 ] && echo "retrying $i" && sleep 5; codecov --required --disable search pycov gcov --root project --file build/test/coverage/py_coverage.xml build/test/coverage/cobertura-coverage.xml && s=0 && break || s=$?; done; (exit $s)
release:
docker:
- image: circleci/python:3.7
steps:
- checkout
- run:
name: upgrade pip
name: Setup virtual environment
command: |
pip install --upgrade pip
if [ ! -d env ]; then python -m virtualenv env || python -m venv env; fi
echo ". $CIRCLE_WORKING_DIRECTORY/env/bin/activate" >> $BASH_ENV
- run:
name: Install Docker Compose
command: |
pip install docker-compose
- run:
name: Get the environment up and running
command: |
cd devops/mapnik_py36 && docker-compose build && docker-compose up -d
- run:
name: upgrade pip
command: |
docker exec large-image-mapnik-python36 pip3 install --upgrade pip
name: Install python packages
command: pip install setuptools_scm twine
- run:
name: Install large image plugin
command: |
docker exec large-image-mapnik-python36 sed -i 's/PY2_ONLY/PY3_ONLY/g' /large_image/plugin.cmake
docker exec large-image-mapnik-python36 pip3 install -e /large_image[mapnik]
docker exec large-image-mapnik-python36 girder-install plugin -s /large_image
- run:
name: Run the tests
command: |
docker exec large-image-mapnik-python36 cmake -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/python3 girder
docker exec large-image-mapnik-python36 make -j 5
docker exec large-image-mapnik-python36 ctest -R mapnik -V
name: Release to PyPi
command: ./.circleci/release_pypi.sh

workflows:
version: 2
test_all:
ci:
jobs:
- py35
- py36
- build:
filters:
tags:
only: /^v.*/
- release:
requires:
- build
filters:
tags:
only: /^v.*/
branches:
only: girder-3
# Change to master branch when girder-3 becomes the master
39 changes: 39 additions & 0 deletions .circleci/release_pypi.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
#!/bin/bash

set -e

ROOTPATH=`pwd`

python setup.py sdist
twine upload --verbose dist/*
cd "$ROOTPATH/girder"
python setup.py sdist
twine upload --verbose dist/*
cd "$ROOTPATH/girder_annotation"
python setup.py sdist
twine upload --verbose dist/*
cd "$ROOTPATH/tasks"
python setup.py sdist
twine upload --verbose dist/*
cd "$ROOTPATH/sources/dummy"
python setup.py sdist
twine upload --verbose dist/*
cd "$ROOTPATH/sources/mapnik"
python setup.py sdist
twine upload --verbose dist/*
cd "$ROOTPATH/sources/openslide"
python setup.py sdist
twine upload --verbose dist/*
cd "$ROOTPATH/sources/ometiff"
python setup.py sdist
twine upload --verbose dist/*
cd "$ROOTPATH/sources/pil"
python setup.py sdist
twine upload --verbose dist/*
cd "$ROOTPATH/sources/test"
python setup.py sdist
twine upload --verbose dist/*
cd "$ROOTPATH/sources/tiff"
python setup.py sdist
twine upload --verbose dist/*

36 changes: 36 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
root = true

[*]
indent_style = space
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
charset = utf-8

[*.js]
indent_size = 4

[{*.json}]
indent_size = 4

[Makefile]
indent_style = tab

[*.pug]
indent_size = 2

[*.py]
indent_size = 4
max_line_length = 100

[{*.rb,Vagrantfile}]
indent_size = 2

[{*.sh,*.bat}]
indent_size = 4

[*.styl]
indent_size = 2

[*.yml]
indent_size = 2
1 change: 0 additions & 1 deletion .eslintignore

This file was deleted.

3 changes: 0 additions & 3 deletions .eslintrc

This file was deleted.

61 changes: 55 additions & 6 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,9 +1,58 @@
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
node_modules
_build
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
env/
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.coverage.*
.cache
coverage.xml
*.cover
.hypothesis/
.pytest_cache/

# pyenv
.python-version

# dotenv
.env

# virtualenv
.venv
venv/
ENV/

node_modules/

.*.swp
.*.swo
env
dist
build
large_image.egg-info
*.aux.xml

.eslintcache
Loading

0 comments on commit f346b1f

Please sign in to comment.