A seismology toolkit for Python
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

440 lines
8.4 KiB

kind: pipeline
type: docker
name: flake8
steps:
- name: flake8
image: pyrocko-nest
pull: never
commands:
- flake8 src test examples setup.py
---
kind: pipeline
type: docker
name: docs
steps:
- name: build
image: pyrocko-docs
pull: never
commands:
- python3 setup.py install && cd doc && make html
- python3 -m pyrocko.print_version short > build/html/version.txt
- name: stage
image: pyrocko-aux
pull: never
commands:
- maintenance/drone-rsync.sh doc/build/html/ ${DRONE_COMMIT}/docs/
environment:
RSYNC_HOST:
from_secret: rsync-host
RSYNC_USER:
from_secret: rsync-user
RSYNC_KEY:
from_secret: rsync-key
- name: stage-www
image: pyrocko-aux
pull: never
when:
branch:
- release
- deploy-docs
commands:
- maintenance/drone-rsync.sh doc/build/html/ ${DRONE_COMMIT}/docs/
environment:
RSYNC_HOST:
from_secret: www-host
RSYNC_USER:
from_secret: www-user
RSYNC_KEY:
from_secret: rsync-key
- name: deploy-www
image: pyrocko-aux
pull: never
when:
branch:
- release
- deploy-docs
commands:
- maintenance/drone-deploy-docs.sh
environment:
WWW_HOST:
from_secret: www-host
WWW_USER:
from_secret: www-user
WWW_KEY:
from_secret: www-key
---
kind: pipeline
type: docker
name: pip-wheels
trigger:
branch:
- release
- candidate
- pip-wheels
steps:
- name: build-manylinux1_x86_64
image: quay.io/pypa/manylinux1_x86_64
commands:
- maintenance/pip/build_wheels.sh
environment:
PLAT: manylinux1_x86_64
- name: test-pure-pip-manylinux1_x86_64
image: pyrocko-aux
pull: never
when:
branch:
exclude:
- release
commands:
- pip3 install -f wheels pyrocko --no-index --no-deps
- pip3 install -f wheels pyrocko
- pip3 install --only-binary=PyQt5 PyQt5 jinja2 nose
- xvfb-run -s '-screen 0 640x480x24' python3 -m nose test
- name: test-mixed-pip-manylinux1_x86_64
image: pyrocko-nest
pull: never
when:
branch:
exclude:
- release
commands:
- pip3 install -f wheels --no-index --no-deps pyrocko
- xvfb-run -s '-screen 0 640x480x24' python3 -m nose test
- name: sdist-pip
image: pyrocko-nest
pull: never
commands:
- pip3 install -f wheels --no-index --no-deps pyrocko
- python setup.py sdist
- name: stage-manylinux1_x86_64
image: pyrocko-aux
pull: never
commands:
- maintenance/drone-rsync.sh wheels/ ${DRONE_COMMIT}/wheels/
- maintenance/drone-rsync.sh dist/ ${DRONE_COMMIT}/dist/
environment:
RSYNC_HOST:
from_secret: rsync-host
RSYNC_USER:
from_secret: rsync-user
RSYNC_KEY:
from_secret: rsync-key
- name: upload-testing-manylinux1_x86_64
image: pyrocko-nest
pull: never
when:
branch:
- candidate
- pip-wheels
commands:
- maintenance/pip/upload_wheels.sh testing
environment:
PYPI_USERNAME:
from_secret: pypi-username
PYPI_PASSWORD:
from_secret: pypi-password
- name: upload-manylinux1_x86_64
image: pyrocko-nest
pull: never
when:
branch:
- release
commands:
- maintenance/pip/upload_wheels.sh live
environment:
PYPI_USERNAME:
from_secret: pypi-username
PYPI_PASSWORD:
from_secret: pypi-password
---
kind: pipeline
type: docker
name: tests-base
steps:
- name: tests-base
image: pyrocko-nest
pull: never
commands:
- python3 setup.py install -f
- pip3 install utm
- pip3 install git+https://github.com/pyrocko/kite
- pip3 install obspy
- python3 -m coverage run --parallel-mode -m nose test.base
- for x in .coverage.* ; do mv $x $${x#.} ; done
- name: stage
image: pyrocko-aux
pull: never
commands:
- maintenance/drone-rsync.sh coverage.* ${DRONE_COMMIT}/coverage/data/
environment:
RSYNC_HOST:
from_secret: rsync-host
RSYNC_USER:
from_secret: rsync-user
RSYNC_KEY:
from_secret: rsync-key
---
kind: pipeline
type: docker
name: tests-gf
steps:
- name: tests-gf
image: pyrocko-nest
pull: never
commands:
- python3 setup.py install -f
- pip3 install utm
- pip3 install git+https://github.com/pyrocko/kite
- pip3 install obspy
- python3 -m coverage run --parallel-mode -m nose test.gf
- for x in .coverage.* ; do mv $x $${x#.} ; done
- name: stage
image: pyrocko-aux
pull: never
commands:
- maintenance/drone-rsync.sh coverage.* ${DRONE_COMMIT}/coverage/data/
environment:
RSYNC_HOST:
from_secret: rsync-host
RSYNC_USER:
from_secret: rsync-user
RSYNC_KEY:
from_secret: rsync-key
---
kind: pipeline
type: docker
name: tests-examples
steps:
- name: tests-examples
image: pyrocko-nest
pull: never
commands:
- python3 setup.py install -f
- pip3 install utm
- pip3 install git+https://github.com/pyrocko/kite
- pip3 install obspy
- python3 -m coverage run --parallel-mode -m nose test.examples
- for x in .coverage.* ; do mv $x $${x#.} ; done
- name: stage
image: pyrocko-aux
pull: never
commands:
- maintenance/drone-rsync.sh coverage.* ${DRONE_COMMIT}/coverage/data/
environment:
RSYNC_HOST:
from_secret: rsync-host
RSYNC_USER:
from_secret: rsync-user
RSYNC_KEY:
from_secret: rsync-key
---
kind: pipeline
type: docker
name: tests-gui
steps:
- name: tests-gui
image: pyrocko-nest
pull: never
commands:
- python3 setup.py install -f
- pip3 install obspy
- xvfb-run -s '-screen 0 640x480x24' python3 -m coverage run --parallel-mode -m nose test.gui test.base.test_obspy_compat:ObsPyCompatTestCase.test_obspy_fiddle test.base.test_obspy_compat:ObsPyCompatTestCase.test_obspy_snuffle
- for x in .coverage.* ; do mv $x $${x#.} ; done
- name: stage
image: pyrocko-aux
pull: never
commands:
- maintenance/drone-rsync.sh coverage.* ${DRONE_COMMIT}/coverage/data/
environment:
RSYNC_HOST:
from_secret: rsync-host
RSYNC_USER:
from_secret: rsync-user
RSYNC_KEY:
from_secret: rsync-key
---
kind: pipeline
type: docker
name: coverage
depends_on:
- tests-base
- tests-gf
- tests-examples
- tests-gui
steps:
- name: build
image: pyrocko-nest
pull: never
commands:
- python3 setup.py install -f
- pip3 install utm
- pip3 install git+https://github.com/pyrocko/kite
- pip3 install obspy
- wget -r -nH --cut-dirs=2 --no-parent --reject="index.html*" https://data.pyrocko.org/builds/${DRONE_COMMIT}/coverage/data/
- python3 -m coverage combine coverage/data/coverage.*
- python3 -m coverage html
- name: stage
image: pyrocko-aux
pull: never
commands:
- maintenance/drone-rsync.sh htmlcov/ ${DRONE_COMMIT}/coverage/
environment:
RSYNC_HOST:
from_secret: rsync-host
RSYNC_USER:
from_secret: rsync-user
RSYNC_KEY:
from_secret: rsync-key
---
kind: pipeline
type: exec
name: conda-packages-linux
trigger:
branch:
- candidate
- release
- conda
platform:
os: linux
arch: amd64
steps:
- name: build-test
commands:
- ln -s /data/local/home/pyrocko-testing/.vagrant.d $HOME/.vagrant.d
- cd maintenance/conda/boxes/centos-7
- ./outside.sh dryrun
when:
branch:
- candidate
- conda
- name: build-test-upload
commands:
- ln -s /data/local/home/pyrocko-testing/.vagrant.d $HOME/.vagrant.d
- cd maintenance/conda/boxes/centos-7
- ./outside.sh upload
environment:
CONDA_USERNAME:
from_secret: conda-username
CONDA_PASSWORD:
from_secret: conda-password
when:
branch:
- release
---
kind: pipeline
type: exec
name: conda-packages-osx
trigger:
branch:
- candidate
- release
- conda
platform:
os: linux
arch: amd64
steps:
- name: build-test
commands:
- ln -s /data/local/home/pyrocko-testing/.vagrant.d $HOME/.vagrant.d
- cd maintenance/conda/boxes/osx
- ./outside.sh dryrun
when:
branch:
- candidate
- conda
- name: build-test-upload
commands:
- ln -s /data/local/home/pyrocko-testing/.vagrant.d $HOME/.vagrant.d
- cd maintenance/conda/boxes/osx
- ./outside.sh upload
environment:
CONDA_USERNAME:
from_secret: conda-username
CONDA_PASSWORD:
from_secret: conda-password
when:
branch:
- release
---
kind: pipeline
type: docker
name: notify-hive
depends_on:
- coverage
- flake8
- docs
- pip-wheels
- conda-packages-linux
- conda-packages-osx
trigger:
status:
- success
- failure
steps:
- name: post
image: pyrocko-nest
pull: never
commands:
- maintenance/drone-matterpost.py
environment:
WEBHOOK:
from_secret: hive-webhook