100 lines
1.7 KiB
YAML
100 lines
1.7 KiB
YAML
|
---
|
||
|
kind: pipeline
|
||
|
name: test
|
||
|
|
||
|
steps:
|
||
|
- name: test
|
||
|
image: golang:1.21
|
||
|
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.21
|
||
|
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 images
|
||
|
image: thegeeklab/drone-docker-buildx
|
||
|
settings:
|
||
|
repo: ${REPO_OWNER}/${REPO_NAME}
|
||
|
auto_tag: true
|
||
|
platforms:
|
||
|
- linux/amd64
|
||
|
- linux/arm64
|
||
|
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
|