garage/.drone.yml

484 lines
11 KiB
YAML
Raw Permalink Normal View History

2021-04-05 10:10:28 +00:00
---
2021-02-08 15:32:29 +00:00
kind: pipeline
name: default
2021-02-17 17:46:36 +00:00
workspace:
base: /drone/garage
2021-02-17 17:46:36 +00:00
volumes:
2021-10-04 16:27:57 +00:00
- name: nix_store
host:
path: /var/lib/drone/nix
- name: nix_config
temp: {}
2021-10-04 16:27:57 +00:00
environment:
HOME: /drone/garage
2021-02-08 15:32:29 +00:00
steps:
2021-10-04 16:27:57 +00:00
- name: setup nix
image: nixpkgs/nix:nixos-21.05
volumes:
2021-10-04 16:27:57 +00:00
- name: nix_store
path: /nix
- name: nix_config
path: /etc/nix
commands:
- cp nix/nix.conf /etc/nix/nix.conf
2022-07-20 12:44:30 +00:00
- nix-build --no-build-output --no-out-link shell.nix -A rust.inputDerivation -A integration.inputDerivation -A release.inputDerivation
2021-02-08 15:32:29 +00:00
2021-04-08 23:29:17 +00:00
- name: code quality
2021-10-04 16:27:57 +00:00
image: nixpkgs/nix:nixos-21.05
2021-04-08 23:29:17 +00:00
volumes:
2021-10-04 16:27:57 +00:00
- name: nix_store
path: /nix
- name: nix_config
path: /etc/nix
2021-04-08 23:29:17 +00:00
commands:
2022-07-20 12:44:30 +00:00
- nix-shell --attr rust --run "cargo fmt -- --check"
- nix-shell --attr rust --run "cargo clippy -- --deny warnings"
2021-04-08 23:29:17 +00:00
2021-02-08 15:32:29 +00:00
- name: build
2021-10-04 16:27:57 +00:00
image: nixpkgs/nix:nixos-21.05
volumes:
2021-10-04 16:27:57 +00:00
- name: nix_store
path: /nix
- name: nix_config
path: /etc/nix
2021-02-08 13:58:24 +00:00
commands:
2022-07-23 10:02:40 +00:00
- nix-build --no-build-output --argstr target x86_64-unknown-linux-musl --arg release false --argstr git_version $DRONE_COMMIT
2022-07-20 12:44:30 +00:00
- nix-shell --attr rust --run "./script/not-dynamic.sh result/bin/garage"
2021-02-08 13:58:24 +00:00
2022-02-03 17:04:43 +00:00
- name: unit + func tests
2021-10-04 16:27:57 +00:00
image: nixpkgs/nix:nixos-21.05
2022-02-03 17:04:43 +00:00
environment:
GARAGE_TEST_INTEGRATION_EXE: result/bin/garage
volumes:
2021-10-04 16:27:57 +00:00
- name: nix_store
path: /nix
- name: nix_config
path: /etc/nix
2021-02-17 17:46:36 +00:00
commands:
2021-10-04 16:27:57 +00:00
- |
nix-build \
--no-build-output \
2022-02-02 15:07:26 +00:00
--option log-lines 100 \
2021-10-04 16:27:57 +00:00
--argstr target x86_64-unknown-linux-musl \
--argstr compileMode test
2022-02-03 17:04:43 +00:00
- ./result/bin/garage_api-*
- ./result/bin/garage_model-*
- ./result/bin/garage_rpc-*
- ./result/bin/garage_table-*
- ./result/bin/garage_util-*
- ./result/bin/garage_web-*
- ./result/bin/garage-*
- ./result/bin/integration-*
2021-02-17 17:46:36 +00:00
2021-10-04 16:27:57 +00:00
- name: smoke-test
image: nixpkgs/nix:nixos-21.05
volumes:
2021-10-04 16:27:57 +00:00
- name: nix_store
path: /nix
- name: nix_config
path: /etc/nix
commands:
- nix-build --no-build-output --argstr target x86_64-unknown-linux-musl --arg release false --argstr git_version $DRONE_COMMIT
2022-07-20 12:44:30 +00:00
- nix-shell --attr integration --run ./script/test-smoke.sh || (cat /tmp/garage.log; false)
2021-10-04 16:27:57 +00:00
trigger:
event:
- custom
- push
- pull_request
- tag
- cron
node:
nix: 1
2021-03-19 13:25:57 +00:00
2021-10-04 16:27:57 +00:00
---
kind: pipeline
type: docker
name: release-linux-x86_64
volumes:
- name: nix_store
host:
path: /var/lib/drone/nix
- name: nix_config
temp: {}
environment:
TARGET: x86_64-unknown-linux-musl
steps:
- name: setup nix
image: nixpkgs/nix:nixos-21.05
volumes:
- name: nix_store
path: /nix
- name: nix_config
path: /etc/nix
commands:
- cp nix/nix.conf /etc/nix/nix.conf
2022-07-20 12:44:30 +00:00
- nix-build --no-build-output --no-out-link shell.nix -A rust.inputDerivation -A integration.inputDerivation -A release.inputDerivation
2021-10-04 16:27:57 +00:00
- name: build
image: nixpkgs/nix:nixos-21.05
volumes:
- name: nix_store
path: /nix
- name: nix_config
path: /etc/nix
commands:
- nix-build --no-build-output --argstr target $TARGET --arg release true --argstr git_version $DRONE_COMMIT
2022-07-20 12:44:30 +00:00
- nix-shell --attr rust --run "./script/not-dynamic.sh result/bin/garage"
2021-10-04 16:27:57 +00:00
- name: integration
image: nixpkgs/nix:nixos-21.05
volumes:
- name: nix_store
path: /nix
- name: nix_config
path: /etc/nix
commands:
2022-07-20 12:44:30 +00:00
- nix-shell --attr integration --run ./script/test-smoke.sh || (cat /tmp/garage.log; false)
2021-10-04 16:27:57 +00:00
2021-10-28 08:04:14 +00:00
- name: push static binary
2021-10-04 16:27:57 +00:00
image: nixpkgs/nix:nixos-21.05
2021-10-28 08:04:14 +00:00
volumes:
- name: nix_store
path: /nix
- name: nix_config
path: /etc/nix
2021-10-04 16:27:57 +00:00
environment:
AWS_ACCESS_KEY_ID:
2021-10-28 08:04:14 +00:00
from_secret: garagehq_aws_access_key_id
2021-10-04 16:27:57 +00:00
AWS_SECRET_ACCESS_KEY:
2021-10-28 08:04:14 +00:00
from_secret: garagehq_aws_secret_access_key
commands:
2022-07-20 12:44:30 +00:00
- nix-shell --attr release --run "to_s3"
2021-10-28 08:04:14 +00:00
- name: docker build and publish
image: nixpkgs/nix:nixos-21.05
2021-10-04 16:27:57 +00:00
volumes:
- name: nix_store
path: /nix
- name: nix_config
path: /etc/nix
2021-10-28 08:04:14 +00:00
environment:
DOCKER_AUTH:
from_secret: docker_auth
DOCKER_PLATFORM: "linux/amd64"
CONTAINER_NAME: "dxflrs/amd64_garage"
HOME: "/kaniko"
2021-10-04 16:27:57 +00:00
commands:
2021-10-28 08:04:14 +00:00
- mkdir -p /kaniko/.docker
- echo $DOCKER_AUTH > /kaniko/.docker/config.json
- export CONTAINER_TAG=${DRONE_TAG:-$DRONE_COMMIT}
2022-07-20 12:44:30 +00:00
- nix-shell --attr release --run "to_docker"
2021-10-28 08:04:14 +00:00
trigger:
event:
- promote
- cron
node:
nix: 1
---
kind: pipeline
type: docker
name: release-linux-i686
volumes:
- name: nix_store
host:
path: /var/lib/drone/nix
- name: nix_config
temp: {}
environment:
TARGET: i686-unknown-linux-musl
steps:
- name: setup nix
image: nixpkgs/nix:nixos-21.05
volumes:
- name: nix_store
path: /nix
- name: nix_config
path: /etc/nix
commands:
- cp nix/nix.conf /etc/nix/nix.conf
2022-07-20 12:44:30 +00:00
- nix-build --no-build-output --no-out-link shell.nix -A rust.inputDerivation -A integration.inputDerivation -A release.inputDerivation
2021-10-28 08:04:14 +00:00
- name: build
image: nixpkgs/nix:nixos-21.05
volumes:
- name: nix_store
path: /nix
- name: nix_config
path: /etc/nix
commands:
- nix-build --no-build-output --argstr target $TARGET --arg release true --argstr git_version $DRONE_COMMIT
2022-07-20 12:44:30 +00:00
- nix-shell --attr rust --run "./script/not-dynamic.sh result/bin/garage"
2021-10-28 08:04:14 +00:00
- name: integration
image: nixpkgs/nix:nixos-21.05
volumes:
- name: nix_store
path: /nix
- name: nix_config
path: /etc/nix
commands:
2022-07-20 12:44:30 +00:00
- nix-shell --attr integration --run ./script/test-smoke.sh || (cat /tmp/garage.log; false)
2021-10-04 16:27:57 +00:00
- name: push static binary
image: nixpkgs/nix:nixos-21.05
volumes:
- name: nix_store
path: /nix
- name: nix_config
path: /etc/nix
environment:
AWS_ACCESS_KEY_ID:
from_secret: garagehq_aws_access_key_id
AWS_SECRET_ACCESS_KEY:
from_secret: garagehq_aws_secret_access_key
commands:
2022-07-20 12:44:30 +00:00
- nix-shell --attr release --run "to_s3"
2021-10-04 16:27:57 +00:00
- name: docker build and publish
image: nixpkgs/nix:nixos-21.05
volumes:
- name: nix_store
path: /nix
- name: nix_config
path: /etc/nix
environment:
DOCKER_AUTH:
from_secret: docker_auth
2021-10-28 08:04:14 +00:00
DOCKER_PLATFORM: "linux/386"
CONTAINER_NAME: "dxflrs/386_garage"
2021-10-04 16:27:57 +00:00
HOME: "/kaniko"
commands:
- mkdir -p /kaniko/.docker
- echo $DOCKER_AUTH > /kaniko/.docker/config.json
- export CONTAINER_TAG=${DRONE_TAG:-$DRONE_COMMIT}
2022-07-20 12:44:30 +00:00
- nix-shell --attr release --run "to_docker"
2021-10-04 16:27:57 +00:00
trigger:
event:
- promote
- cron
node:
nix: 1
---
kind: pipeline
type: docker
name: release-linux-aarch64
volumes:
- name: nix_store
host:
path: /var/lib/drone/nix
- name: nix_config
temp: {}
environment:
TARGET: aarch64-unknown-linux-musl
steps:
- name: setup nix
image: nixpkgs/nix:nixos-21.05
volumes:
- name: nix_store
path: /nix
- name: nix_config
path: /etc/nix
commands:
- cp nix/nix.conf /etc/nix/nix.conf
2022-07-20 12:44:30 +00:00
- nix-build --no-build-output --no-out-link shell.nix -A rust.inputDerivation -A integration.inputDerivation -A release.inputDerivation
2021-10-04 16:27:57 +00:00
- name: build
image: nixpkgs/nix:nixos-21.05
volumes:
- name: nix_store
path: /nix
- name: nix_config
path: /etc/nix
commands:
- nix-build --no-build-output --argstr target $TARGET --arg release true --argstr git_version $DRONE_COMMIT
2022-07-20 12:44:30 +00:00
- nix-shell --attr rust --run "./script/not-dynamic.sh result/bin/garage"
2021-10-04 16:27:57 +00:00
2021-10-28 08:04:14 +00:00
- name: push static binary
2021-10-04 16:27:57 +00:00
image: nixpkgs/nix:nixos-21.05
2021-10-28 08:04:14 +00:00
volumes:
- name: nix_store
path: /nix
- name: nix_config
path: /etc/nix
2021-10-04 16:27:57 +00:00
environment:
AWS_ACCESS_KEY_ID:
2021-10-28 08:04:14 +00:00
from_secret: garagehq_aws_access_key_id
2021-10-04 16:27:57 +00:00
AWS_SECRET_ACCESS_KEY:
2021-10-28 08:04:14 +00:00
from_secret: garagehq_aws_secret_access_key
commands:
2022-07-20 12:44:30 +00:00
- nix-shell --attr release --run "to_s3"
2021-10-28 08:04:14 +00:00
- name: docker build and publish
image: nixpkgs/nix:nixos-21.05
2021-10-04 16:27:57 +00:00
volumes:
- name: nix_store
path: /nix
- name: nix_config
path: /etc/nix
2021-10-28 08:04:14 +00:00
environment:
DOCKER_AUTH:
from_secret: docker_auth
DOCKER_PLATFORM: "linux/arm64"
CONTAINER_NAME: "dxflrs/arm64_garage"
HOME: "/kaniko"
2021-10-04 16:27:57 +00:00
commands:
2021-10-28 08:04:14 +00:00
- mkdir -p /kaniko/.docker
- echo $DOCKER_AUTH > /kaniko/.docker/config.json
- export CONTAINER_TAG=${DRONE_TAG:-$DRONE_COMMIT}
2022-07-20 12:44:30 +00:00
- nix-shell --attr release --run "to_docker"
2021-10-28 08:04:14 +00:00
trigger:
event:
- promote
- cron
node:
nix: 1
---
kind: pipeline
type: docker
name: release-linux-armv6l
volumes:
- name: nix_store
host:
path: /var/lib/drone/nix
- name: nix_config
temp: {}
environment:
TARGET: armv6l-unknown-linux-musleabihf
steps:
- name: setup nix
image: nixpkgs/nix:nixos-21.05
volumes:
- name: nix_store
path: /nix
- name: nix_config
path: /etc/nix
commands:
- cp nix/nix.conf /etc/nix/nix.conf
2022-07-20 12:44:30 +00:00
- nix-build --no-build-output --no-out-link shell.nix -A rust.inputDerivation -A integration.inputDerivation -A release.inputDerivation
2021-10-28 08:04:14 +00:00
- name: build
image: nixpkgs/nix:nixos-21.05
volumes:
- name: nix_store
path: /nix
- name: nix_config
path: /etc/nix
commands:
- nix-build --no-build-output --argstr target $TARGET --arg release true --argstr git_version $DRONE_COMMIT
2022-07-20 12:44:30 +00:00
- nix-shell --attr rust --run "./script/not-dynamic.sh result/bin/garage"
2021-10-04 16:27:57 +00:00
- name: push static binary
image: nixpkgs/nix:nixos-21.05
volumes:
- name: nix_store
path: /nix
- name: nix_config
path: /etc/nix
environment:
AWS_ACCESS_KEY_ID:
from_secret: garagehq_aws_access_key_id
AWS_SECRET_ACCESS_KEY:
from_secret: garagehq_aws_secret_access_key
commands:
2022-07-20 12:44:30 +00:00
- nix-shell --attr release --run "to_s3"
2021-10-04 16:27:57 +00:00
- name: docker build and publish
image: nixpkgs/nix:nixos-21.05
volumes:
- name: nix_store
path: /nix
- name: nix_config
path: /etc/nix
environment:
DOCKER_AUTH:
from_secret: docker_auth
2021-10-28 08:04:14 +00:00
DOCKER_PLATFORM: "linux/arm"
CONTAINER_NAME: "dxflrs/arm_garage"
2021-10-04 16:27:57 +00:00
HOME: "/kaniko"
commands:
- mkdir -p /kaniko/.docker
- echo $DOCKER_AUTH > /kaniko/.docker/config.json
- export CONTAINER_TAG=${DRONE_TAG:-$DRONE_COMMIT}
2022-07-20 12:44:30 +00:00
- nix-shell --attr release --run "to_docker"
2021-10-04 16:27:57 +00:00
trigger:
event:
- promote
- cron
node:
nix: 1
---
kind: pipeline
type: docker
name: refresh-release-page
volumes:
- name: nix_store
host:
path: /var/lib/drone/nix
steps:
- name: refresh-index
image: nixpkgs/nix:nixos-21.05
volumes:
- name: nix_store
path: /nix
environment:
AWS_ACCESS_KEY_ID:
from_secret: garagehq_aws_access_key_id
AWS_SECRET_ACCESS_KEY:
from_secret: garagehq_aws_secret_access_key
commands:
- mkdir -p /etc/nix && cp nix/nix.conf /etc/nix/nix.conf
2022-07-20 12:44:30 +00:00
- nix-shell --attr release --run "refresh_index"
2021-10-04 16:27:57 +00:00
depends_on:
- release-linux-x86_64
2021-10-28 08:04:14 +00:00
- release-linux-i686
2021-10-04 16:27:57 +00:00
- release-linux-aarch64
2021-10-28 08:04:14 +00:00
- release-linux-armv6l
2021-10-04 16:27:57 +00:00
trigger:
event:
- promote
- cron
node:
nix: 1
2021-04-05 10:10:28 +00:00
---
kind: signature
2022-07-20 12:44:30 +00:00
hmac: 60fad5d78c12616be848aae35703f250300abab5f2eda08eb48fe3afd6cc58c8
2021-04-05 10:10:28 +00:00
...