diff options
-rw-r--r-- | .drone.yml | 55 |
1 files changed, 51 insertions, 4 deletions
@@ -1,7 +1,21 @@ kind: pipeline name: default +workspace: + base: /drone + +clone: + disable: true + steps: + - name: clone + image: alpine/git + commands: + - mkdir -p cargo + - git clone https://git.deuxfleurs.fr/Deuxfleurs/garage.git + - cd garage + - git checkout $DRONE_COMMIT + - name: restore-cache image: meltwater/drone-cache:dev environment: @@ -14,20 +28,38 @@ steps: restore: true archive_format: "gzip" bucket: drone-cache - cache_key: '{{ .Repo.Name }}_{{ checksum "Cargo.lock" }}_{{ arch }}_{{ os }}_gzip' + cache_key: '{{ .Repo.Name }}_{{ checksum "garage/Cargo.lock" }}_{{ arch }}_{{ os }}_gzip' region: garage mount: - - 'target' + - 'garage/target' + - 'cargo/registry/index' + - 'cargo/registry/cache' + - 'cargo/git/db' + - 'cargo/bin' 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: @@ -40,9 +72,24 @@ steps: rebuild: true archive_format: "gzip" bucket: drone-cache - cache_key: '{{ .Repo.Name }}_{{ checksum "Cargo.lock" }}_{{ arch }}_{{ os }}_gzip' + cache_key: '{{ .Repo.Name }}_{{ checksum "garage/Cargo.lock" }}_{{ arch }}_{{ os }}_gzip' region: garage mount: - - 'target' + - '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) |