abacus/.drone.yml

75 lines
1.7 KiB
YAML

kind: pipeline
name: default
trigger:
event:
include:
- promote
- pull_request
steps:
- name: test
image: rust:latest
commands:
- apt-get update
- apt-get -y install libgtk-3-dev libxcb-shape0-dev libxcb-xfixes0-dev
- rustup component add clippy
- cargo clippy
- cargo test --all
when:
event:
- pull_request
- name: deploy
image: rust:latest
commands:
- apt-get update
- apt-get -y install libgtk-3-dev libxcb-shape0-dev libxcb-xfixes0-dev
- cargo build --release
- tar cvzf abacus-linux-amd64.tar.gz -C target/release abacus
- cargo install cargo-deb
- cargo deb -p abacus-ui -o target/release/abacus-amd64.deb
- wget https://dl.min.io/client/mc/release/linux-amd64/mc
- chmod +x mc
- ./mc alias set fivesigma https://objects.5sigma.io $MINIOID $MINIOSECRET
- ./mc cp abacus-linux-amd64.tar.gz fivesigma/public/abacus/abacus-linux-amd64.tar.gz
- ./mc cp target/release/abacus-amd64.deb fivesigma/public/abacus/abacus-amd64.deb
when:
event:
- promote
target:
- staging
- production
---
kind: pipeline
name: windows-build
type: exec
platform:
os: windows
arch: amd64
trigger:
event:
include:
- promote
- pull_request
steps:
- name: test
commands:
- rustup default stable
- cargo test
when:
event:
- pull_request
- name: deploy
commands:
- rustup default stable
- mc alias set fivesigma https://objects.5sigma.io $MINIOID $MINIOSECRET
- cargo build --release --target=x86_64-pc-windows-msvc
- mc cp target\x86_64-pc-windows-msvc\release\abacus.exe fivesigma/public/abacus/abacus.exe
when:
event:
- promote
target:
- staging
- production