dyndns-client/.drone.yml

198 lines
3.0 KiB
YAML

---
kind: pipeline
type: kubernetes
name: linter
platform:
os: linux
steps:
- name: markdown lint
commands:
- markdownlint *.md
image: docker.io/volkerraschek/markdownlint:0.30.0
resources:
limits:
cpu: 50
memory: 50M
- name: golangci lint
commands:
- golangci-lint run
image: docker.io/golangci/golangci-lint:v1.44.2-alpine
resources:
limits:
cpu: 250
memory: 500M
- name: email-notification
environment:
PLUGIN_HOST:
from_secret: smtp_host
PLUGIN_USERNAME:
from_secret: smtp_username
PLUGIN_PASSWORD:
from_secret: smtp_password
PLUGIN_FROM:
from_secret: smtp_mail_address
image: docker.io/drillster/drone-email:latest
resources:
limits:
cpu: 50
memory: 25M
when:
status:
- changed
- failure
trigger:
event:
exclude:
- tag
---
kind: pipeline
type: kubernetes
name: vulnerability-check
depends_on:
- linter
platform:
os: linux
steps:
- name: gosec
commands:
- gosec ./...
image: docker.io/volkerraschek/gosec:2.9.4
resources:
limits:
cpu: 250
memory: 500M
- name: email-notification
environment:
PLUGIN_HOST:
from_secret: smtp_host
PLUGIN_USERNAME:
from_secret: smtp_username
PLUGIN_PASSWORD:
from_secret: smtp_password
PLUGIN_FROM:
from_secret: smtp_mail_address
image: docker.io/drillster/drone-email:latest
resources:
limits:
cpu: 50
memory: 25M
when:
status:
- changed
- failure
trigger:
event:
exclude:
- tag
---
kind: pipeline
type: kubernetes
name: unit-test-amd64
depends_on:
- linter
platform:
arch: amd64
steps:
- name: unit-test
commands:
- go test -v ./...
image: docker.io/library/golang:1.17.6
resources:
limits:
cpu: 250
memory: 500M
trigger:
event:
exclude:
- tag
---
kind: pipeline
type: kubernetes
name: unit-test-arm64
depends_on:
- linter
platform:
arch: arm64
steps:
- name: unit-test
commands:
- go test -v ./...
image: docker.io/library/golang:1.17.6
resources:
limits:
cpu: 250
memory: 500M
trigger:
event:
exclude:
- tag
---
kind: pipeline
type: kubernetes
name: sync
platform:
os: linux
arch: amd64
steps:
- name: github
image: docker.io/appleboy/drone-git-push:latest
resources:
limits:
cpu: 50
memory: 25M
settings:
branch: master
remote: ssh://git@github.com/volker-raschek/dyndns-client.git
force: true
ssh_key:
from_secret: ssh_key
- name: email-notification
environment:
PLUGIN_HOST:
from_secret: smtp_host
PLUGIN_USERNAME:
from_secret: smtp_username
PLUGIN_PASSWORD:
from_secret: smtp_password
PLUGIN_FROM:
from_secret: smtp_mail_address
image: docker.io/drillster/drone-email:latest
resources:
limits:
cpu: 50
memory: 25M
when:
status:
- changed
- failure
trigger:
event:
- push
repo:
- volker-raschek/dyndns-client