95 lines
1.6 KiB
YAML
95 lines
1.6 KiB
YAML
---
|
|
kind: pipeline
|
|
name: test
|
|
|
|
steps:
|
|
- name: lint
|
|
image: alpine:edge
|
|
commands:
|
|
- apk add --no-cache python3 py3-lxml py3-setproctitle py3-pip py3-wheel py3-enchant hunspell-en
|
|
- pip3 install --no-cache-dir .[full] .[dev]
|
|
- isort --check-only --diff .
|
|
- pylint morss --rcfile=.pylintrc --disable=C,R,W --fail-under=8
|
|
- pytest --cov=morss tests
|
|
|
|
---
|
|
kind: pipeline
|
|
name: python
|
|
|
|
steps:
|
|
- name: publish
|
|
image: plugins/pypi
|
|
settings:
|
|
username:
|
|
from_secret: pypi_user
|
|
password:
|
|
from_secret: pypi_pwd
|
|
commands:
|
|
- /bin/drone-pypi
|
|
- cp dist/morss-*.tar.gz dist/morss.tar.gz
|
|
|
|
- name: push
|
|
image: appleboy/drone-scp
|
|
settings:
|
|
host:
|
|
from_secret: ssh_host
|
|
username:
|
|
from_secret: ssh_user
|
|
key:
|
|
from_secret: ssh_key
|
|
source:
|
|
- dist/morss.tar.gz
|
|
target: /home/ubuntu
|
|
|
|
- name: deploy
|
|
image: appleboy/drone-ssh
|
|
settings:
|
|
host:
|
|
from_secret: ssh_host
|
|
username:
|
|
from_secret: ssh_user
|
|
key:
|
|
from_secret: ssh_key
|
|
script_stop: true
|
|
script:
|
|
- sudo pip install --upgrade dist/morss.tar.gz[full]
|
|
- sudo rm -r dist
|
|
- sudo morss-helper reload
|
|
|
|
trigger:
|
|
branch:
|
|
- master
|
|
event:
|
|
- push
|
|
|
|
depends_on:
|
|
- test
|
|
|
|
---
|
|
kind: pipeline
|
|
name: docker
|
|
|
|
steps:
|
|
- name: publish
|
|
image: thegeeklab/drone-docker-buildx
|
|
# NB. this requires qemu installed on host
|
|
privileged: true
|
|
settings:
|
|
username:
|
|
from_secret: docker_user
|
|
password:
|
|
from_secret: docker_pwd
|
|
repo:
|
|
from_secret: docker_repo
|
|
tags: latest
|
|
platforms: linux/amd64,linux/arm64,linux/arm/v7
|
|
|
|
trigger:
|
|
branch:
|
|
- master
|
|
event:
|
|
- push
|
|
|
|
depends_on:
|
|
- test
|