You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
136 lines
2.6 KiB
136 lines
2.6 KiB
--- |
|
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
|
|
|