80 lines
2.1 KiB
YAML
80 lines
2.1 KiB
YAML
|
kind: pipeline
|
||
|
type: docker
|
||
|
name: default
|
||
|
|
||
|
steps:
|
||
|
- name: static_analysis
|
||
|
image: python:3.8
|
||
|
commands:
|
||
|
- pip3 install pylint bandit mccabe
|
||
|
- pip3 install -r requirements.txt
|
||
|
- find . -name "*.py" -exec python3 -m py_compile '{}' \;
|
||
|
- find . -name "*.py" -exec pylint '{}' + || if [ $? -eq 1 ]; then echo "you fail"; fi
|
||
|
- find . -name "*.py" -exec python3 -m mccabe --min 3 '{}' + || if [ $? -eq 1 ]; then echo "you fail"; fi
|
||
|
- bandit -r . + || if [ $? -eq 1 ]; then echo "you fail"; fi
|
||
|
|
||
|
- name: build
|
||
|
image: docker:stable-dind
|
||
|
volumes:
|
||
|
- name: dockersock
|
||
|
path: /var/run
|
||
|
environment:
|
||
|
DOCKER_USERNAME:
|
||
|
from_secret: DOCKER_USERNAME
|
||
|
DOCKER_PASSWORD:
|
||
|
from_secret: DOCKER_PASSWORD
|
||
|
commands:
|
||
|
- echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
|
||
|
- docker build -t="$DOCKER_USERNAME/producer" .
|
||
|
- docker build -t="$DOCKER_USERNAME/producer:$DRONE_BUILD_NUMBER" .
|
||
|
- docker push "$DOCKER_USERNAME/producer"
|
||
|
- docker push "$DOCKER_USERNAME/producer:$DRONE_BUILD_NUMBER"
|
||
|
|
||
|
- name: make_docs
|
||
|
image: python:3.8
|
||
|
commands:
|
||
|
- pip3 install Sphinx sphinx_rtd_theme
|
||
|
- pip3 install -r requirements.txt
|
||
|
# - cd docs
|
||
|
# - make html
|
||
|
|
||
|
- name: build_docs
|
||
|
image: docker:stable-dind
|
||
|
volumes:
|
||
|
- name: dockersock
|
||
|
path: /var/run
|
||
|
environment:
|
||
|
DOCKER_USERNAME:
|
||
|
from_secret: DOCKER_USERNAME
|
||
|
DOCKER_PASSWORD:
|
||
|
from_secret: DOCKER_PASSWORD
|
||
|
commands:
|
||
|
- cd docs
|
||
|
- echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
|
||
|
- docker build -t="$DOCKER_USERNAME/producer-docs" .
|
||
|
- docker build -t="$DOCKER_USERNAME/producer-docs:$DRONE_BUILD_NUMBER" .
|
||
|
- docker push "$DOCKER_USERNAME/producer-docs"
|
||
|
- docker push "$DOCKER_USERNAME/producer-docs:$DRONE_BUILD_NUMBER"
|
||
|
|
||
|
- name: slack
|
||
|
image: plugins/slack
|
||
|
settings:
|
||
|
webhook:
|
||
|
from_secret: slack_webhook
|
||
|
channel: alerts-ci
|
||
|
icon_url: https://cloudcdn.tormakristof.eu/static/drone.svg
|
||
|
when:
|
||
|
status: [ failure ]
|
||
|
|
||
|
services:
|
||
|
- name: docker
|
||
|
image: docker:stable-dind
|
||
|
privileged: true
|
||
|
volumes:
|
||
|
- name: dockersock
|
||
|
path: /var/run
|
||
|
|
||
|
volumes:
|
||
|
- name: dockersock
|
||
|
temp: {}
|