120 lines
3.1 KiB
YAML
120 lines
3.1 KiB
YAML
---
|
|
kind: pipeline
|
|
name: epp-client
|
|
|
|
platform:
|
|
os: linux
|
|
arch: amd64
|
|
|
|
steps:
|
|
- name: check
|
|
image: rust:1.59
|
|
volumes:
|
|
- name: target
|
|
path: /tmp/cargo-target
|
|
- name: cache
|
|
path: /tmp/cargo
|
|
commands:
|
|
- export CACHE_DIR=$(echo -n "$DRONE_COMMIT_LINK" | md5sum | cut -f1 -d" ")
|
|
- export CARGO_HOME=/tmp/cargo/$CACHE_DIR
|
|
- export CARGO_TARGET_DIR=/tmp/cargo-target/$CACHE_DIR
|
|
- mkdir -p $CARGO_HOME $CARGO_TARGET_DIR
|
|
- cargo check --all-targets
|
|
|
|
- name: fmt
|
|
image: rust:1.59
|
|
volumes:
|
|
- name: target
|
|
path: /tmp/cargo-target
|
|
- name: cache
|
|
path: /tmp/cargo
|
|
commands:
|
|
- export CACHE_DIR=$(echo -n "$DRONE_COMMIT_LINK" | md5sum | cut -f1 -d" ")
|
|
- export CARGO_HOME=/tmp/cargo/$CACHE_DIR
|
|
- export CARGO_TARGET_DIR=/tmp/cargo-target/$CACHE_DIR
|
|
- mkdir -p $CARGO_HOME $CARGO_TARGET_DIR
|
|
- rustup component add rustfmt
|
|
- cargo fmt --all -- --check
|
|
|
|
- name: clippy
|
|
image: rust:1.59
|
|
volumes:
|
|
- name: target
|
|
path: /tmp/cargo-target
|
|
- name: cache
|
|
path: /tmp/cargo
|
|
commands:
|
|
- export CACHE_DIR=$(echo -n "$DRONE_COMMIT_LINK" | md5sum | cut -f1 -d" ")
|
|
- export CARGO_HOME=/tmp/cargo/$CACHE_DIR
|
|
- export CARGO_TARGET_DIR=/tmp/cargo-target/$CACHE_DIR
|
|
- mkdir -p $CARGO_HOME $CARGO_TARGET_DIR
|
|
- rustup component add clippy
|
|
- cargo clippy --workspace --all-targets -- -D warnings
|
|
|
|
- name: test
|
|
image: rust:1.59
|
|
volumes:
|
|
- name: target
|
|
path: /tmp/cargo-target
|
|
- name: cache
|
|
path: /tmp/cargo
|
|
commands:
|
|
- export CACHE_DIR=$(echo -n "$DRONE_COMMIT_LINK" | md5sum | cut -f1 -d" ")
|
|
- export CARGO_HOME=/tmp/cargo/$CACHE_DIR
|
|
- export CARGO_TARGET_DIR=/tmp/cargo-target/$CACHE_DIR
|
|
- mkdir -p $CARGO_HOME $CARGO_TARGET_DIR
|
|
- cargo test -- --nocapture
|
|
|
|
- name: crates.io
|
|
image: rust:1.59
|
|
volumes:
|
|
- name: target
|
|
path: /tmp/cargo-target
|
|
- name: cache
|
|
path: /tmp/cargo
|
|
environment:
|
|
CARGO_TOKEN:
|
|
from_secret: cargo_token
|
|
commands:
|
|
- export CACHE_DIR=$(echo -n "$DRONE_COMMIT_LINK" | md5sum | cut -f1 -d" ")
|
|
- export CARGO_HOME=/tmp/cargo/$CACHE_DIR
|
|
- export CARGO_TARGET_DIR=/tmp/cargo-target/$CACHE_DIR
|
|
- mkdir -p $CARGO_HOME $CARGO_TARGET_DIR
|
|
- cargo publish --token $CARGO_TOKEN
|
|
when:
|
|
branch:
|
|
- 0.2
|
|
- 0.3
|
|
- 0.4
|
|
event: push
|
|
|
|
- name: notify
|
|
image: drillster/drone-email
|
|
environment:
|
|
PLUGIN_HOST:
|
|
from_secret: mail_host
|
|
PLUGIN_FROM:
|
|
from_secret: mail_sender
|
|
PLUGIN_FROM_NAME:
|
|
from_secret: mail_sender_name
|
|
PLUGIN_PORT:
|
|
from_secret: mail_port
|
|
PLUGIN_USERNAME:
|
|
from_secret: mail_user
|
|
PLUGIN_PASSWORD:
|
|
from_secret: mail_password
|
|
PLUGIN_RECIPIENTS:
|
|
from_secret: mail_recipients
|
|
when:
|
|
status:
|
|
- failure
|
|
|
|
volumes:
|
|
- name: target
|
|
host:
|
|
path: /var/drone/cache/epp-client-target
|
|
- name: cache
|
|
host:
|
|
path: /var/drone/cache/epp-client-cache
|
|
...
|