137 lines
2.6 KiB
YAML
137 lines
2.6 KiB
YAML
---
|
|
kind: pipeline
|
|
name: test
|
|
|
|
steps:
|
|
- name: test
|
|
image: golang:1.17
|
|
environment:
|
|
VERSION: ${DRONE_TAG:-${DRONE_COMMIT}}
|
|
commands:
|
|
- make test
|
|
|
|
- name: check
|
|
image: iamthefij/drone-pre-commit:personal
|
|
|
|
---
|
|
kind: pipeline
|
|
name: publish
|
|
|
|
depends_on:
|
|
- test
|
|
|
|
trigger:
|
|
event:
|
|
- push
|
|
- tag
|
|
refs:
|
|
- refs/heads/master
|
|
- refs/tags/v*
|
|
|
|
steps:
|
|
- name: build all binaries
|
|
image: golang:1.17
|
|
environment:
|
|
VERSION: ${DRONE_TAG:-${DRONE_COMMIT}}
|
|
commands:
|
|
- make all
|
|
|
|
- name: compress binaries for release
|
|
image: ubuntu
|
|
commands:
|
|
- find ./dist -type f -executable -execdir tar -czvf {}.tar.gz {} \;
|
|
when:
|
|
event: tag
|
|
|
|
- name: upload gitea release
|
|
image: plugins/gitea-release
|
|
settings:
|
|
title: ${DRONE_TAG}
|
|
files: dist/*.tar.gz
|
|
checksum:
|
|
- md5
|
|
- sha1
|
|
- sha256
|
|
- sha512
|
|
base_url:
|
|
from_secret: gitea_base_url
|
|
api_key:
|
|
from_secret: gitea_token
|
|
when:
|
|
event: tag
|
|
|
|
- name: push image - arm
|
|
image: plugins/docker
|
|
settings:
|
|
repo: iamthefij/minitor-go
|
|
auto_tag: true
|
|
auto_tag_suffix: linux-arm
|
|
username:
|
|
from_secret: docker_username
|
|
password:
|
|
from_secret: docker_password
|
|
build_args:
|
|
- ARCH=arm
|
|
- REPO=arm32v7
|
|
|
|
- name: push image - arm64
|
|
image: plugins/docker
|
|
settings:
|
|
repo: iamthefij/minitor-go
|
|
auto_tag: true
|
|
auto_tag_suffix: linux-arm64
|
|
username:
|
|
from_secret: docker_username
|
|
password:
|
|
from_secret: docker_password
|
|
build_args:
|
|
- ARCH=arm64
|
|
- REPO=arm64v8
|
|
|
|
- name: push image - amd64
|
|
image: plugins/docker
|
|
settings:
|
|
repo: iamthefij/minitor-go
|
|
auto_tag: true
|
|
auto_tag_suffix: linux-amd64
|
|
username:
|
|
from_secret: docker_username
|
|
password:
|
|
from_secret: docker_password
|
|
|
|
- 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
|
|
|
|
---
|
|
kind: pipeline
|
|
name: notify
|
|
|
|
depends_on:
|
|
- test
|
|
- publish
|
|
|
|
trigger:
|
|
status:
|
|
- failure
|
|
|
|
steps:
|
|
|
|
- name: notify
|
|
image: drillster/drone-email
|
|
settings:
|
|
host:
|
|
from_secret: SMTP_HOST # pragma: whitelist secret
|
|
username:
|
|
from_secret: SMTP_USER # pragma: whitelist secret
|
|
password:
|
|
from_secret: SMTP_PASS # pragma: whitelist secret
|
|
from: drone@iamthefij.com
|