369 lines
6.0 KiB
YAML
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
|