add .drone.yml
This commit is contained in:
106
.drone.yml
Normal file
106
.drone.yml
Normal file
@@ -0,0 +1,106 @@
|
|||||||
|
kind: pipeline
|
||||||
|
type: docker
|
||||||
|
name: default
|
||||||
|
|
||||||
|
trigger:
|
||||||
|
event:
|
||||||
|
- tag
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
limit: 1
|
||||||
|
|
||||||
|
workspace:
|
||||||
|
path: /drone/src
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: checkout submodule
|
||||||
|
image: alpine/git
|
||||||
|
commands:
|
||||||
|
- git submodule update --init --recursive
|
||||||
|
- name: checkout tag
|
||||||
|
image: alpine/git
|
||||||
|
commands:
|
||||||
|
- cd unraid-kind
|
||||||
|
- git fetch --all --tags
|
||||||
|
- git checkout tags/${DRONE_TAG}
|
||||||
|
depends_on:
|
||||||
|
- "checkout submodule"
|
||||||
|
- name: go build
|
||||||
|
image: golang:latest
|
||||||
|
commands:
|
||||||
|
- cd kind
|
||||||
|
- GOOS=linux GOARCH=amd64 make build
|
||||||
|
- cd bin
|
||||||
|
depends_on:
|
||||||
|
- "checkout tag"
|
||||||
|
- name: verify
|
||||||
|
image: rust:latest
|
||||||
|
commands:
|
||||||
|
- message=$(/drone/src/unraid-kind/kind/bin/kind | head -n 1)
|
||||||
|
- if test $message != "kind creates and manages local Kubernetes clusters using Docker container 'nodes'"; then exit 1; fi
|
||||||
|
depends_on:
|
||||||
|
- "go build"
|
||||||
|
- name: build slackware package
|
||||||
|
image: vbatts/slackware:14.2
|
||||||
|
commands:
|
||||||
|
- mkdir -p dist/usr/sbin
|
||||||
|
- cp bat/target/x86_64-unknown-linux-gnu/release/bat ./dist/usr/sbin/bat
|
||||||
|
- cp -R ./usr ./dist
|
||||||
|
- chmod +x ./dist/usr/sbin/bat
|
||||||
|
- cd dist
|
||||||
|
- makepkg -l y -c y ../unraid-bat-${DRONE_TAG}.txz
|
||||||
|
depends_on:
|
||||||
|
- "verify"
|
||||||
|
- name: prepare release
|
||||||
|
image: vbatts/slackware:14.2
|
||||||
|
commands:
|
||||||
|
- echo "bat ${DRONE_TAG} - built@$(date '+%FT%TZ') [Drone ${DRONE_SYSTEM_VERSION}]" > ./release_note
|
||||||
|
- cat ./release_note
|
||||||
|
depends_on:
|
||||||
|
- "build slackware package"
|
||||||
|
- name: publish gitea release
|
||||||
|
image: plugins/gitea-release
|
||||||
|
settings:
|
||||||
|
api_key:
|
||||||
|
from_secret: GITEA_KEY
|
||||||
|
base_url: https://git.panaetius.co.uk
|
||||||
|
files:
|
||||||
|
- ./unraid-bat-${DRONE_TAG}.txz
|
||||||
|
checksum:
|
||||||
|
- md5
|
||||||
|
title: ${DRONE_TAG}
|
||||||
|
note: ./release_note
|
||||||
|
file_exists: "skip"
|
||||||
|
when:
|
||||||
|
event: tag
|
||||||
|
depends_on:
|
||||||
|
- "prepare release"
|
||||||
|
- name: publish github release
|
||||||
|
image: plugins/github-release@sha256:24f5fb388173c0ec211d1c73d2c4441efd3cd24d0ba9eea148b98c40d03807ff
|
||||||
|
settings:
|
||||||
|
api_key:
|
||||||
|
from_secret: GITHUB_KEY
|
||||||
|
files:
|
||||||
|
- ./unraid-bat-${DRONE_TAG}.txz
|
||||||
|
checksum:
|
||||||
|
- md5
|
||||||
|
title: ${DRONE_TAG}
|
||||||
|
note: ./release_note
|
||||||
|
file_exists: "skip"
|
||||||
|
when:
|
||||||
|
event: tag
|
||||||
|
depends_on:
|
||||||
|
- "prepare release"
|
||||||
|
- name: slack
|
||||||
|
image: plugins/slack
|
||||||
|
settings:
|
||||||
|
webhook:
|
||||||
|
from_secret: BUILD_STATUS_SLACK_WEBHOOK
|
||||||
|
username: drone
|
||||||
|
when:
|
||||||
|
status:
|
||||||
|
- "success"
|
||||||
|
- "failure"
|
||||||
|
depends_on:
|
||||||
|
- "publish gitea release"
|
||||||
|
- "publish github release"
|
||||||
Reference in New Issue
Block a user