115 lines
3.1 KiB
YAML
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
|
|
...
|