minitor/.drone.yml

369 lines
6.0 KiB
YAML

kind: pipeline
name: test-python-latest
workspace:
base: /app
path: .
steps:
- name: test
image: python:3
commands:
- python -V
- make test-env test
- name: notify
image: drillster/drone-email
settings:
host:
from_secret: SMTP_HOST
username:
from_secret: SMTP_USER
password:
from_secret: SMTP_PASS
from: drone@iamthefij.com
when:
status: [ changed, failure ]
---
kind: pipeline
name: test-python3.4
workspace:
base: /app
path: .
steps:
- name: test
image: python:3.4
commands:
- python -V
- make test-env test
- name: notify
image: drillster/drone-email
settings:
host:
from_secret: SMTP_HOST
username:
from_secret: SMTP_USER
password:
from_secret: SMTP_PASS
from: drone@iamthefij.com
when:
status: [ changed, failure ]
---
kind: pipeline
name: test-python3.5
workspace:
base: /app
path: .
steps:
- name: test
image: python:3.5
commands:
- python -V
- make test-env test
- name: notify
image: drillster/drone-email
settings:
host:
from_secret: SMTP_HOST
username:
from_secret: SMTP_USER
password:
from_secret: SMTP_PASS
from: drone@iamthefij.com
when:
status: [ changed, failure ]
---
kind: pipeline
name: test-python3.6
workspace:
base: /app
path: .
steps:
- name: test
image: python:3.6
commands:
- python -V
- make test-env test
- name: notify
image: drillster/drone-email
settings:
host:
from_secret: SMTP_HOST
username:
from_secret: SMTP_USER
password:
from_secret: SMTP_PASS
from: drone@iamthefij.com
when:
status: [ changed, failure ]
---
kind: pipeline
name: test-python3.7
workspace:
base: /app
path: .
steps:
- name: test
image: python:3.7
commands:
- python -V
- make test-env test
- name: notify
image: drillster/drone-email
settings:
host:
from_secret: SMTP_HOST
username:
from_secret: SMTP_USER
password:
from_secret: SMTP_PASS
from: drone@iamthefij.com
when:
status: [ changed, failure ]
# ---
# kind: pipeline
# name: test-pypy3.6
#
# workspace:
# base: /app
# path: .
#
# steps:
# - name: test
# image: pypy:3.6
# commands:
# - python -V
# # python -m env doesn't exist for pypy
# - pip install virtualenv
# - virtualenv env
# - ./env/bin/pip install tox
# - make test
#
# - name: notify
# image: drillster/drone-email
# settings:
# host:
# from_secret: SMTP_HOST
# username:
# from_secret: SMTP_USER
# password:
# from_secret: SMTP_PASS
# from: drone@iamthefij.com
# when:
# status: [ changed, failure ]
---
kind: pipeline
name: tests
depends_on:
- test-python-latest
- test-python3.4
- test-python3.5
- test-python3.6
- test-python3.7
# - test-pypy3.6
steps: []
---
kind: pipeline
name: deploy-pypi
trigger:
event:
- tag
ref:
- refs/heads/master
- refs/tags/v*
depends_on:
- tests
workspace:
base: /app
path: .
steps:
- name: push to test pypi
image: python:3
commands:
- make build-env upload-test
environment:
TWINE_USERNAME:
from_secret: PYPI_USERNAME
TWINE_PASSWORD:
from_secret: TEST_PYPI_PASSWORD
- name: push to pypi
image: python:3
commands:
- make build-env upload
environment:
TWINE_USERNAME:
from_secret: PYPI_USERNAME
TWINE_PASSWORD:
from_secret: PYPI_PASSWORD
when:
event: [ tag ]
- name: notify
image: drillster/drone-email
settings:
host:
from_secret: SMTP_HOST
username:
from_secret: SMTP_USER
password:
from_secret: SMTP_PASS
from: drone@iamthefij.com
---
kind: pipeline
name: deploy-docker-amd64
depends_on:
- tests
trigger:
event:
- push
- tag
ref:
- refs/heads/master
- refs/tags/v*
steps:
- name: get qemu
image: busybox
commands:
- sh ./get_qemu.sh x86_64
- name: build
image: plugins/docker
settings:
repo: iamthefij/minitor
auto_tag: true
auto_tag_suffix: linux-amd64
username:
from_secret: docker_username
password:
from_secret: docker_password
---
kind: pipeline
name: deploy-docker-arm
depends_on:
- tests
trigger:
event:
- push
- tag
ref:
- refs/heads/master
- refs/tags/v*
steps:
- name: get qemu
image: busybox
commands:
- sh ./get_qemu.sh arm
- name: build
image: plugins/docker
settings:
repo: iamthefij/minitor
auto_tag: true
auto_tag_suffix: linux-arm
username:
from_secret: docker_username
password:
from_secret: docker_password
build_args:
- ARCH=arm
- REPO=arm32v6
---
kind: pipeline
name: deploy-docker-arm64
depends_on:
- tests
trigger:
event:
- push
- tag
ref:
- refs/heads/master
- refs/tags/v*
steps:
- name: get qemu
image: busybox
commands:
- sh ./get_qemu.sh aarch64
- name: build
image: plugins/docker
settings:
repo: iamthefij/minitor
auto_tag: true
auto_tag_suffix: linux-arm64
username:
from_secret: docker_username
password:
from_secret: docker_password
build_args:
- ARCH=aarch64
- REPO=arm64v8
---
kind: pipeline
name: deploy-docker-manifest
depends_on:
- deploy-docker-amd64
- deploy-docker-arm
- deploy-docker-arm64
trigger:
event:
- push
- tag
ref:
- refs/heads/master
- refs/tags/v*
steps:
- name: publish manifest
image: plugins/manifest
settings:
spec: manifest.tmpl
auto_tag: true
ignore_missing: true
username:
from_secret: docker_username
password:
from_secret: docker_password