garage/.drone.yml

289 lines
7.3 KiB
YAML
Raw Normal View History

2021-04-05 12:10:28 +02:00
---
2021-02-08 16:32:29 +01:00
kind: pipeline
name: default
2022-07-28 11:41:56 +02:00
node:
nix-daemon: 1
2021-10-04 18:27:57 +02:00
2021-02-08 16:32:29 +01:00
steps:
- name: check formatting
2022-07-24 11:08:02 +02:00
image: nixpkgs/nix:nixos-22.05
2021-04-09 01:29:17 +02:00
commands:
2022-07-20 14:44:30 +02:00
- nix-shell --attr rust --run "cargo fmt -- --check"
2021-04-09 01:29:17 +02:00
2021-02-08 16:32:29 +01:00
- name: build
2022-07-24 11:08:02 +02:00
image: nixpkgs/nix:nixos-22.05
2021-02-08 14:58:24 +01:00
commands:
- nix-build --no-build-output --attr clippy.amd64 --argstr git_version ${DRONE_TAG:-$DRONE_COMMIT}
2021-02-08 14:58:24 +01:00
2022-02-03 18:04:43 +01:00
- name: unit + func tests
2022-07-24 11:08:02 +02:00
image: nixpkgs/nix:nixos-22.05
2022-02-03 18:04:43 +01:00
environment:
2022-10-18 13:17:30 +02:00
GARAGE_TEST_INTEGRATION_EXE: result-bin/bin/garage
2021-02-17 18:46:36 +01:00
commands:
2022-10-18 13:17:30 +02:00
- nix-build --no-build-output --attr clippy.amd64 --argstr git_version ${DRONE_TAG:-$DRONE_COMMIT}
- nix-build --no-build-output --attr test.amd64
2022-10-18 12:33:35 +02:00
- ./result/bin/garage_db-*
2022-02-03 18:04:43 +01: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-*
2022-10-18 13:17:30 +02:00
- rm result
2021-02-17 18:46:36 +01:00
- name: integration tests
2022-07-24 11:08:02 +02:00
image: nixpkgs/nix:nixos-22.05
2021-10-04 18:27:57 +02:00
commands:
- nix-build --no-build-output --attr clippy.amd64 --argstr git_version ${DRONE_TAG:-$DRONE_COMMIT}
2022-07-20 14:44:30 +02:00
- nix-shell --attr integration --run ./script/test-smoke.sh || (cat /tmp/garage.log; false)
2021-10-04 18:27:57 +02:00
trigger:
event:
- custom
- push
- pull_request
- tag
- cron
---
kind: pipeline
type: docker
name: release-linux-amd64
2021-10-04 18:27:57 +02:00
2022-07-28 11:41:56 +02:00
node:
nix-daemon: 1
2021-10-04 18:27:57 +02:00
steps:
- name: build
2022-07-24 11:08:02 +02:00
image: nixpkgs/nix:nixos-22.05
2021-10-04 18:27:57 +02:00
commands:
- nix-build --no-build-output --attr pkgs.amd64.release --argstr git_version ${DRONE_TAG:-$DRONE_COMMIT}
2022-10-18 13:17:30 +02:00
- nix-shell --attr rust --run "./script/not-dynamic.sh result-bin/bin/garage"
2021-10-04 18:27:57 +02:00
- name: integration
2022-07-24 11:08:02 +02:00
image: nixpkgs/nix:nixos-22.05
2021-10-04 18:27:57 +02:00
commands:
2022-07-20 14:44:30 +02:00
- nix-shell --attr integration --run ./script/test-smoke.sh || (cat /tmp/garage.log; false)
2021-10-04 18:27:57 +02:00
2021-10-28 10:04:14 +02:00
- name: push static binary
2022-07-24 11:08:02 +02:00
image: nixpkgs/nix:nixos-22.05
2021-10-04 18:27:57 +02:00
environment:
AWS_ACCESS_KEY_ID:
2021-10-28 10:04:14 +02:00
from_secret: garagehq_aws_access_key_id
2021-10-04 18:27:57 +02:00
AWS_SECRET_ACCESS_KEY:
2021-10-28 10:04:14 +02:00
from_secret: garagehq_aws_secret_access_key
TARGET: "x86_64-unknown-linux-musl"
2021-10-28 10:04:14 +02:00
commands:
2022-07-20 14:44:30 +02:00
- nix-shell --attr release --run "to_s3"
2021-10-28 10:04:14 +02:00
- name: docker build and publish
2022-07-24 11:08:02 +02:00
image: nixpkgs/nix:nixos-22.05
2021-10-28 10:04:14 +02:00
environment:
DOCKER_AUTH:
from_secret: docker_auth
DOCKER_PLATFORM: "linux/amd64"
CONTAINER_NAME: "dxflrs/amd64_garage"
HOME: "/kaniko"
2021-10-04 18:27:57 +02:00
commands:
2021-10-28 10:04:14 +02:00
- mkdir -p /kaniko/.docker
- echo $DOCKER_AUTH > /kaniko/.docker/config.json
- export CONTAINER_TAG=${DRONE_TAG:-$DRONE_COMMIT}
2022-07-20 14:44:30 +02:00
- nix-shell --attr release --run "to_docker"
2021-10-28 10:04:14 +02:00
trigger:
event:
- promote
- cron
---
kind: pipeline
type: docker
name: release-linux-i386
2021-10-28 10:04:14 +02:00
2022-07-28 11:41:56 +02:00
node:
nix-daemon: 1
2021-10-28 10:04:14 +02:00
steps:
- name: build
2022-07-24 11:08:02 +02:00
image: nixpkgs/nix:nixos-22.05
2021-10-28 10:04:14 +02:00
commands:
- nix-build --no-build-output --attr pkgs.i386.release --argstr git_version ${DRONE_TAG:-$DRONE_COMMIT}
2022-10-18 13:17:30 +02:00
- nix-shell --attr rust --run "./script/not-dynamic.sh result-bin/bin/garage"
2021-10-28 10:04:14 +02:00
- name: integration
2022-07-24 11:08:02 +02:00
image: nixpkgs/nix:nixos-22.05
2021-10-28 10:04:14 +02:00
commands:
2022-07-20 14:44:30 +02:00
- nix-shell --attr integration --run ./script/test-smoke.sh || (cat /tmp/garage.log; false)
2021-10-04 18:27:57 +02:00
- name: push static binary
2022-07-24 11:08:02 +02:00
image: nixpkgs/nix:nixos-22.05
2021-10-04 18:27:57 +02:00
environment:
AWS_ACCESS_KEY_ID:
from_secret: garagehq_aws_access_key_id
AWS_SECRET_ACCESS_KEY:
from_secret: garagehq_aws_secret_access_key
TARGET: "i686-unknown-linux-musl"
2021-10-04 18:27:57 +02:00
commands:
2022-07-20 14:44:30 +02:00
- nix-shell --attr release --run "to_s3"
2021-10-04 18:27:57 +02:00
- name: docker build and publish
2022-07-24 11:08:02 +02:00
image: nixpkgs/nix:nixos-22.05
2021-10-04 18:27:57 +02:00
environment:
DOCKER_AUTH:
from_secret: docker_auth
2021-10-28 10:04:14 +02:00
DOCKER_PLATFORM: "linux/386"
CONTAINER_NAME: "dxflrs/386_garage"
2021-10-04 18:27:57 +02: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 14:44:30 +02:00
- nix-shell --attr release --run "to_docker"
2021-10-04 18:27:57 +02:00
trigger:
event:
- promote
- cron
---
kind: pipeline
type: docker
name: release-linux-arm64
2021-10-04 18:27:57 +02:00
2022-07-28 11:41:56 +02:00
node:
nix-daemon: 1
2021-10-04 18:27:57 +02:00
steps:
- name: build
2022-07-24 11:08:02 +02:00
image: nixpkgs/nix:nixos-22.05
2021-10-04 18:27:57 +02:00
commands:
- nix-build --no-build-output --attr pkgs.arm64.release --argstr git_version ${DRONE_TAG:-$DRONE_COMMIT}
2022-10-18 13:17:30 +02:00
- nix-shell --attr rust --run "./script/not-dynamic.sh result-bin/bin/garage"
2021-10-04 18:27:57 +02:00
2021-10-28 10:04:14 +02:00
- name: push static binary
2022-07-24 11:08:02 +02:00
image: nixpkgs/nix:nixos-22.05
2021-10-04 18:27:57 +02:00
environment:
AWS_ACCESS_KEY_ID:
2021-10-28 10:04:14 +02:00
from_secret: garagehq_aws_access_key_id
2021-10-04 18:27:57 +02:00
AWS_SECRET_ACCESS_KEY:
2021-10-28 10:04:14 +02:00
from_secret: garagehq_aws_secret_access_key
TARGET: "aarch64-unknown-linux-musl"
2021-10-28 10:04:14 +02:00
commands:
2022-07-20 14:44:30 +02:00
- nix-shell --attr release --run "to_s3"
2021-10-28 10:04:14 +02:00
- name: docker build and publish
2022-07-24 11:08:02 +02:00
image: nixpkgs/nix:nixos-22.05
2021-10-28 10:04:14 +02:00
environment:
DOCKER_AUTH:
from_secret: docker_auth
DOCKER_PLATFORM: "linux/arm64"
CONTAINER_NAME: "dxflrs/arm64_garage"
HOME: "/kaniko"
2021-10-04 18:27:57 +02:00
commands:
2021-10-28 10:04:14 +02:00
- mkdir -p /kaniko/.docker
- echo $DOCKER_AUTH > /kaniko/.docker/config.json
- export CONTAINER_TAG=${DRONE_TAG:-$DRONE_COMMIT}
2022-07-20 14:44:30 +02:00
- nix-shell --attr release --run "to_docker"
2021-10-28 10:04:14 +02:00
trigger:
event:
- promote
- cron
---
kind: pipeline
type: docker
name: release-linux-arm
2021-10-28 10:04:14 +02:00
2022-07-28 11:41:56 +02:00
node:
nix-daemon: 1
2021-10-28 10:04:14 +02:00
steps:
- name: build
2022-07-24 11:08:02 +02:00
image: nixpkgs/nix:nixos-22.05
2021-10-28 10:04:14 +02:00
commands:
- nix-build --no-build-output --attr pkgs.arm.release --argstr git_version ${DRONE_TAG:-$DRONE_COMMIT}
2022-10-18 13:17:30 +02:00
- nix-shell --attr rust --run "./script/not-dynamic.sh result-bin/bin/garage"
2021-10-04 18:27:57 +02:00
- name: push static binary
2022-07-24 11:08:02 +02:00
image: nixpkgs/nix:nixos-22.05
2021-10-04 18:27:57 +02:00
environment:
AWS_ACCESS_KEY_ID:
from_secret: garagehq_aws_access_key_id
AWS_SECRET_ACCESS_KEY:
from_secret: garagehq_aws_secret_access_key
TARGET: "armv6l-unknown-linux-musleabihf"
2021-10-04 18:27:57 +02:00
commands:
2022-07-20 14:44:30 +02:00
- nix-shell --attr release --run "to_s3"
2021-10-04 18:27:57 +02:00
- name: docker build and publish
2022-07-24 11:08:02 +02:00
image: nixpkgs/nix:nixos-22.05
2021-10-04 18:27:57 +02:00
environment:
DOCKER_AUTH:
from_secret: docker_auth
2021-10-28 10:04:14 +02:00
DOCKER_PLATFORM: "linux/arm"
CONTAINER_NAME: "dxflrs/arm_garage"
2021-10-04 18:27:57 +02: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 14:44:30 +02:00
- nix-shell --attr release --run "to_docker"
2021-10-04 18:27:57 +02:00
trigger:
event:
- promote
- cron
---
kind: pipeline
type: docker
name: refresh-release-page
2022-07-28 11:41:56 +02:00
node:
nix-daemon: 1
2021-10-04 18:27:57 +02:00
steps:
- name: multiarch-docker
image: nixpkgs/nix:nixos-22.05
environment:
DOCKER_AUTH:
from_secret: docker_auth
HOME: "/root"
commands:
- mkdir -p /root/.docker
- echo $DOCKER_AUTH > /root/.docker/config.json
- export CONTAINER_TAG=${DRONE_TAG:-$DRONE_COMMIT}
- nix-shell --attr release --run "multiarch_docker"
2021-10-04 18:27:57 +02:00
- name: refresh-index
2022-07-24 11:08:02 +02:00
image: nixpkgs/nix:nixos-22.05
2021-10-04 18:27:57 +02:00
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 14:44:30 +02:00
- nix-shell --attr release --run "refresh_index"
2021-10-04 18:27:57 +02:00
depends_on:
- release-linux-amd64
- release-linux-i386
- release-linux-arm64
- release-linux-arm
2021-10-04 18:27:57 +02:00
trigger:
event:
- promote
- cron
2021-04-05 12:10:28 +02:00
---
kind: signature
2022-10-18 13:17:30 +02:00
hmac: ac09a5a8c82502f67271f93afa1e1e21ce66383b8e24a6deb26b285cc1c378ba
2021-04-05 12:10:28 +02:00
...