95 lines
2.3 KiB
YAML
95 lines
2.3 KiB
YAML
kind: pipeline
|
|
name: default
|
|
|
|
workspace:
|
|
base: /drone
|
|
|
|
clone:
|
|
disable: true
|
|
|
|
steps:
|
|
- name: clone
|
|
image: alpine/git
|
|
commands:
|
|
- mkdir -p cargo
|
|
- git clone $DRONE_GIT_HTTP_URL
|
|
- cd garage
|
|
- git checkout $DRONE_COMMIT
|
|
|
|
- name: restore-cache
|
|
image: meltwater/drone-cache:dev
|
|
environment:
|
|
AWS_ACCESS_KEY_ID:
|
|
from_secret: cache_aws_access_key_id
|
|
AWS_SECRET_ACCESS_KEY:
|
|
from_secret: cache_aws_secret_access_key
|
|
pull: true
|
|
settings:
|
|
restore: true
|
|
archive_format: "gzip"
|
|
bucket: drone-cache
|
|
cache_key: '{{ .Repo.Name }}_{{ checksum "garage/Cargo.lock" }}_{{ arch }}_{{ os }}_gzip'
|
|
region: garage
|
|
mount:
|
|
- 'garage/target'
|
|
- 'cargo/registry/index'
|
|
- 'cargo/registry/cache'
|
|
- 'cargo/bin'
|
|
- 'cargo/git/db'
|
|
path_style: true
|
|
endpoint: https://garage.deuxfleurs.fr
|
|
|
|
- name: build
|
|
image: rust:buster
|
|
environment:
|
|
CARGO_HOME: /drone/cargo
|
|
commands:
|
|
- apt-get update
|
|
- apt-get install --yes libsodium-dev
|
|
- pwd
|
|
- cd garage
|
|
- cargo build
|
|
|
|
- name: cargo-test
|
|
image: rust:buster
|
|
environment:
|
|
CARGO_HOME: /drone/cargo
|
|
commands:
|
|
- apt-get update
|
|
- apt-get install --yes libsodium-dev
|
|
- cd garage
|
|
- cargo test
|
|
|
|
- name: rebuild-cache
|
|
image: meltwater/drone-cache:dev
|
|
environment:
|
|
AWS_ACCESS_KEY_ID:
|
|
from_secret: cache_aws_access_key_id
|
|
AWS_SECRET_ACCESS_KEY:
|
|
from_secret: cache_aws_secret_access_key
|
|
pull: true
|
|
settings:
|
|
rebuild: true
|
|
archive_format: "gzip"
|
|
bucket: drone-cache
|
|
cache_key: '{{ .Repo.Name }}_{{ checksum "garage/Cargo.lock" }}_{{ arch }}_{{ os }}_gzip'
|
|
region: garage
|
|
mount:
|
|
- 'garage/target'
|
|
- 'cargo/registry/index'
|
|
- 'cargo/registry/cache'
|
|
- 'cargo/git/db'
|
|
- 'cargo/bin'
|
|
path_style: true
|
|
endpoint: https://garage.deuxfleurs.fr
|
|
|
|
- name: smoke-test
|
|
image: rust:buster
|
|
environment:
|
|
CARGO_HOME: /drone/cargo
|
|
commands:
|
|
- apt-get update
|
|
- apt-get install --yes libsodium-dev awscli python-pip
|
|
- pip install s3cmd
|
|
- cd garage
|
|
- ./script/test-smoke.sh || (cat /tmp/garage.log; false)
|