Files
unraid-exa/.drone.yml
Daniel Tomlinson a5c5914cc3
All checks were successful
continuous-integration/drone/tag Build is passing
try with sha
2022-05-13 22:55:43 +01:00

109 lines
2.7 KiB
YAML

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 exa
- git fetch --all --tags
- git checkout tags/${DRONE_TAG}
depends_on:
- "checkout submodule"
- name: cargo build
image: rust:latest
commands:
- cd exa
- cargo build --release --target x86_64-unknown-linux-gnu
- cd target/x86_64-unknown-linux-gnu/release
depends_on:
- "checkout tag"
- name: verify
image: rust:latest
commands:
- mkdir /tmp/verify && cd /tmp/verify && touch verify
- /drone/src/exa/target/x86_64-unknown-linux-gnu/release/exa --long
- lines=$(/drone/src/exa/target/x86_64-unknown-linux-gnu/release/exa --long | wc -l)
- if test $lines -ne 1; then exit 1; fi
depends_on:
- "cargo build"
- name: build slackware package
image: vbatts/slackware:14.2
commands:
- mkdir -p dist/usr/sbin
- cp exa/target/x86_64-unknown-linux-gnu/release/exa ./dist/usr/sbin/exa
- cp -R ./usr ./dist
- chmod +x ./dist/usr/sbin/exa
- cd dist
- makepkg -l y -c y ../unraid-exa-${DRONE_TAG}.txz
depends_on:
- "verify"
- name: prepare release
image: vbatts/slackware:14.2
commands:
- echo "exa ${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-exa-${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-exa-${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"