instant-epp/.drone.yml

124 lines
3.1 KiB
YAML

---
kind: pipeline
name: epp-client
platform:
os: linux
arch: amd64
steps:
- name: check
image: ayravat/rust:1.56.1-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/$DRONE_BRANCH
- export CARGO_TARGET_DIR=/tmp/cargo-target/$DRONE_BRANCH
- mkdir -p $CARGO_HOME $CARGO_TARGET_DIR
- cargo check --all-targets
- name: fmt
image: ayravat/rust:1.56.1-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/$DRONE_BRANCH
- export CARGO_TARGET_DIR=/tmp/cargo-target/$DRONE_BRANCH
- mkdir -p $CARGO_HOME $CARGO_TARGET_DIR
- cargo fmt --all -- --check
- name: clippy
image: ayravat/rust:1.56.1-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/$DRONE_BRANCH
- export CARGO_TARGET_DIR=/tmp/cargo-target/$DRONE_BRANCH
- mkdir -p $CARGO_HOME $CARGO_TARGET_DIR
- cargo clippy --workspace --all-targets -- -D warnings
- name: test
image: ayravat/rust:1.56.1-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/$DRONE_BRANCH
- export CARGO_TARGET_DIR=/tmp/cargo-target/$DRONE_BRANCH
- mkdir -p $CARGO_HOME $CARGO_TARGET_DIR
- cargo test -- --nocapture
- name: crates.io
image: ayravat/rust:1.56.1-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/$DRONE_BRANCH
- export CARGO_TARGET_DIR=/tmp/cargo-target/$DRONE_BRANCH
- mkdir -p $CARGO_HOME $CARGO_TARGET_DIR
- export CARGO_TOKEN=$(grep 'token' $HOME/.cargo/credentials | sed -e 's/\"//g' | awk '{print $3}')
- cd epp-client
- cargo publish --token $CARGO_TOKEN
- cd ..
- cd epp-client-macros
- cargo publish --token $CARGO_TOKEN
when:
branch:
- 0.2
- 0.3
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
...