instant-epp/.drone.yml

115 lines
3.1 KiB
YAML

---
kind: pipeline
name: epp-client
platform:
os: linux
arch: amd64
steps:
- name: check
image: ayravat/rust:1.53.0-ci
volumes:
- name: ssh
path: /root/.ssh
- name: target
path: /tmp/cargo-target
- name: cache
path: /tmp/cargo
- name: config
path: /root/.config/epp-client
commands:
- export CARGO_HOME=/tmp/cargo
- export CARGO_TARGET_DIR=/tmp/cargo-target
- cargo check --all-targets
- name: fmt
image: ayravat/rust:1.53.0-ci
volumes:
- name: ssh
path: /root/.ssh
- name: target
path: /tmp/cargo-target
- name: cache
path: /tmp/cargo
- name: config
path: /root/.config/epp-client
commands:
- export CARGO_HOME=/tmp/cargo
- export CARGO_TARGET_DIR=/tmp/cargo-target
- cargo fmt --all -- --check
- name: clippy
image: ayravat/rust:1.53.0-ci
volumes:
- name: ssh
path: /root/.ssh
- name: target
path: /tmp/cargo-target
- name: cache
path: /tmp/cargo
- name: config
path: /root/.config/epp-client
commands:
- export CARGO_HOME=/tmp/cargo
- export CARGO_TARGET_DIR=/tmp/cargo-target
- cargo clippy --workspace --all-targets -- -D warnings
- name: test
image: ayravat/rust:1.53.0-ci
volumes:
- name: ssh
path: /root/.ssh
- name: target
path: /tmp/cargo-target
- name: cache
path: /tmp/cargo
- name: config
path: /root/.config/epp-client
commands:
- export CARGO_HOME=/tmp/cargo
- export CARGO_TARGET_DIR=/tmp/cargo-target
- cargo test --lib -- --nocapture
- name: crates.io
image: ayravat/rust:1.53.0-docker
volumes:
- name: ssh
path: /root/.ssh
- name: target
path: /tmp/cargo-target
- name: cache
path: /tmp/cargo
- name: config
path: /root/.config/epp-client
- name: crates
path: /root/.cargo
commands:
- export CARGO_HOME=/tmp/cargo
- export CARGO_TARGET_DIR=/tmp/cargo-target
- export EPP_CLIENT_VERSION_CHANGE=$(git diff HEAD^ HEAD -- epp-client/Cargo.toml | grep -E "([+\-]){1}version" | wc -l)
- if [ $EPP_CLIENT_VERSION_CHANGE -eq 2 ]; then echo "epp-client version updated. publishing to crates.io" && cd epp-client && cargo publish && cd .. ; else echo "epp-client version unchanged"; fi
- export EPP_CLIENT_MACROS_VERSION_CHANGE=$(git diff HEAD^ HEAD -- epp-client-macros/Cargo.toml | grep -E "([+\-]){1}version" | wc -l)
- if [ $EPP_CLIENT_MACROS_VERSION_CHANGE -eq 2 ]; then echo "epp-client-macros version updated. publishing to crates.io" && cd epp-client-macros && cargo publish && cd .. ; else echo "epp-client-macros version unchanged"; fi
when:
branch: master
event: push
volumes:
- name: ssh
host:
path: /root/.ssh
- name: config
host:
path: /root/.config/epp-client
- name: crates
host:
path: /root/.cargo
- name: target
host:
path: /var/drone/cache/epp-client-target
- name: cache
host:
path: /var/drone/cache/epp-client-cache
...