290 lines
7.5 KiB
YAML
290 lines
7.5 KiB
YAML
---
|
|
kind: pipeline
|
|
name: default
|
|
|
|
node:
|
|
nix-daemon: 1
|
|
|
|
steps:
|
|
- name: check formatting
|
|
image: nixpkgs/nix:nixos-22.05
|
|
commands:
|
|
- nix-shell --attr rust --run "cargo fmt -- --check"
|
|
|
|
- name: build
|
|
image: nixpkgs/nix:nixos-22.05
|
|
commands:
|
|
- nix-build --no-build-output --attr clippy.amd64 --argstr git_version ${DRONE_TAG:-$DRONE_COMMIT}
|
|
|
|
- name: unit + func tests
|
|
image: nixpkgs/nix:nixos-22.05
|
|
environment:
|
|
GARAGE_TEST_INTEGRATION_EXE: result-bin/bin/garage
|
|
GARAGE_TEST_INTEGRATION_PATH: tmp-garage-integration
|
|
commands:
|
|
- nix-build --no-build-output --attr clippy.amd64 --argstr git_version ${DRONE_TAG:-$DRONE_COMMIT}
|
|
- nix-build --no-build-output --attr test.amd64
|
|
- ./result/bin/garage_db-*
|
|
- ./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-* || (cat tmp-garage-integration/stderr.log; false)
|
|
- rm result
|
|
- rm -rv tmp-garage-integration
|
|
|
|
- name: integration tests
|
|
image: nixpkgs/nix:nixos-22.05
|
|
commands:
|
|
- nix-build --no-build-output --attr clippy.amd64 --argstr git_version ${DRONE_TAG:-$DRONE_COMMIT}
|
|
- nix-shell --attr integration --run ./script/test-smoke.sh || (cat /tmp/garage.log; false)
|
|
|
|
trigger:
|
|
event:
|
|
- custom
|
|
- push
|
|
- pull_request
|
|
- tag
|
|
- cron
|
|
|
|
---
|
|
kind: pipeline
|
|
type: docker
|
|
name: release-linux-amd64
|
|
|
|
node:
|
|
nix-daemon: 1
|
|
|
|
steps:
|
|
- name: build
|
|
image: nixpkgs/nix:nixos-22.05
|
|
commands:
|
|
- nix-build --no-build-output --attr pkgs.amd64.release --argstr git_version ${DRONE_TAG:-$DRONE_COMMIT}
|
|
- nix-shell --attr rust --run "./script/not-dynamic.sh result-bin/bin/garage"
|
|
|
|
- name: integration
|
|
image: nixpkgs/nix:nixos-22.05
|
|
commands:
|
|
- nix-shell --attr integration --run ./script/test-smoke.sh || (cat /tmp/garage.log; false)
|
|
|
|
- name: push static binary
|
|
image: nixpkgs/nix:nixos-22.05
|
|
environment:
|
|
AWS_ACCESS_KEY_ID:
|
|
from_secret: garagehq_aws_access_key_id
|
|
AWS_SECRET_ACCESS_KEY:
|
|
from_secret: garagehq_aws_secret_access_key
|
|
TARGET: "x86_64-unknown-linux-musl"
|
|
commands:
|
|
- nix-shell --attr release --run "to_s3"
|
|
|
|
- name: docker build and publish
|
|
image: nixpkgs/nix:nixos-22.05
|
|
environment:
|
|
DOCKER_AUTH:
|
|
from_secret: docker_auth
|
|
DOCKER_PLATFORM: "linux/amd64"
|
|
CONTAINER_NAME: "dxflrs/amd64_garage"
|
|
HOME: "/kaniko"
|
|
commands:
|
|
- mkdir -p /kaniko/.docker
|
|
- echo $DOCKER_AUTH > /kaniko/.docker/config.json
|
|
- export CONTAINER_TAG=${DRONE_TAG:-$DRONE_COMMIT}
|
|
- nix-shell --attr release --run "to_docker"
|
|
|
|
|
|
trigger:
|
|
event:
|
|
- promote
|
|
- cron
|
|
|
|
---
|
|
kind: pipeline
|
|
type: docker
|
|
name: release-linux-i386
|
|
|
|
node:
|
|
nix-daemon: 1
|
|
|
|
steps:
|
|
- name: build
|
|
image: nixpkgs/nix:nixos-22.05
|
|
commands:
|
|
- nix-build --no-build-output --attr pkgs.i386.release --argstr git_version ${DRONE_TAG:-$DRONE_COMMIT}
|
|
- nix-shell --attr rust --run "./script/not-dynamic.sh result-bin/bin/garage"
|
|
|
|
- name: integration
|
|
image: nixpkgs/nix:nixos-22.05
|
|
commands:
|
|
- nix-shell --attr integration --run ./script/test-smoke.sh || (cat /tmp/garage.log; false)
|
|
|
|
- name: push static binary
|
|
image: nixpkgs/nix:nixos-22.05
|
|
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"
|
|
commands:
|
|
- nix-shell --attr release --run "to_s3"
|
|
|
|
- name: docker build and publish
|
|
image: nixpkgs/nix:nixos-22.05
|
|
environment:
|
|
DOCKER_AUTH:
|
|
from_secret: docker_auth
|
|
DOCKER_PLATFORM: "linux/386"
|
|
CONTAINER_NAME: "dxflrs/386_garage"
|
|
HOME: "/kaniko"
|
|
commands:
|
|
- mkdir -p /kaniko/.docker
|
|
- echo $DOCKER_AUTH > /kaniko/.docker/config.json
|
|
- export CONTAINER_TAG=${DRONE_TAG:-$DRONE_COMMIT}
|
|
- nix-shell --attr release --run "to_docker"
|
|
|
|
trigger:
|
|
event:
|
|
- promote
|
|
- cron
|
|
|
|
---
|
|
kind: pipeline
|
|
type: docker
|
|
name: release-linux-arm64
|
|
|
|
node:
|
|
nix-daemon: 1
|
|
|
|
steps:
|
|
- name: build
|
|
image: nixpkgs/nix:nixos-22.05
|
|
commands:
|
|
- nix-build --no-build-output --attr pkgs.arm64.release --argstr git_version ${DRONE_TAG:-$DRONE_COMMIT}
|
|
- nix-shell --attr rust --run "./script/not-dynamic.sh result-bin/bin/garage"
|
|
|
|
- name: push static binary
|
|
image: nixpkgs/nix:nixos-22.05
|
|
environment:
|
|
AWS_ACCESS_KEY_ID:
|
|
from_secret: garagehq_aws_access_key_id
|
|
AWS_SECRET_ACCESS_KEY:
|
|
from_secret: garagehq_aws_secret_access_key
|
|
TARGET: "aarch64-unknown-linux-musl"
|
|
commands:
|
|
- nix-shell --attr release --run "to_s3"
|
|
|
|
- name: docker build and publish
|
|
image: nixpkgs/nix:nixos-22.05
|
|
environment:
|
|
DOCKER_AUTH:
|
|
from_secret: docker_auth
|
|
DOCKER_PLATFORM: "linux/arm64"
|
|
CONTAINER_NAME: "dxflrs/arm64_garage"
|
|
HOME: "/kaniko"
|
|
commands:
|
|
- mkdir -p /kaniko/.docker
|
|
- echo $DOCKER_AUTH > /kaniko/.docker/config.json
|
|
- export CONTAINER_TAG=${DRONE_TAG:-$DRONE_COMMIT}
|
|
- nix-shell --attr release --run "to_docker"
|
|
|
|
trigger:
|
|
event:
|
|
- promote
|
|
- cron
|
|
|
|
---
|
|
kind: pipeline
|
|
type: docker
|
|
name: release-linux-arm
|
|
|
|
node:
|
|
nix-daemon: 1
|
|
|
|
steps:
|
|
- name: build
|
|
image: nixpkgs/nix:nixos-22.05
|
|
commands:
|
|
- nix-build --no-build-output --attr pkgs.arm.release --argstr git_version ${DRONE_TAG:-$DRONE_COMMIT}
|
|
- nix-shell --attr rust --run "./script/not-dynamic.sh result-bin/bin/garage"
|
|
|
|
- name: push static binary
|
|
image: nixpkgs/nix:nixos-22.05
|
|
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"
|
|
commands:
|
|
- nix-shell --attr release --run "to_s3"
|
|
|
|
- name: docker build and publish
|
|
image: nixpkgs/nix:nixos-22.05
|
|
environment:
|
|
DOCKER_AUTH:
|
|
from_secret: docker_auth
|
|
DOCKER_PLATFORM: "linux/arm"
|
|
CONTAINER_NAME: "dxflrs/arm_garage"
|
|
HOME: "/kaniko"
|
|
commands:
|
|
- mkdir -p /kaniko/.docker
|
|
- echo $DOCKER_AUTH > /kaniko/.docker/config.json
|
|
- export CONTAINER_TAG=${DRONE_TAG:-$DRONE_COMMIT}
|
|
- nix-shell --attr release --run "to_docker"
|
|
|
|
trigger:
|
|
event:
|
|
- promote
|
|
- cron
|
|
|
|
---
|
|
kind: pipeline
|
|
type: docker
|
|
name: refresh-release-page
|
|
|
|
node:
|
|
nix-daemon: 1
|
|
|
|
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"
|
|
- name: refresh-index
|
|
image: nixpkgs/nix:nixos-22.05
|
|
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
|
|
- nix-shell --attr release --run "refresh_index"
|
|
|
|
depends_on:
|
|
- release-linux-amd64
|
|
- release-linux-i386
|
|
- release-linux-arm64
|
|
- release-linux-arm
|
|
|
|
trigger:
|
|
event:
|
|
- promote
|
|
- cron
|
|
|
|
---
|
|
kind: signature
|
|
hmac: 24aebbcdba84fd0cdf963061d7bb72ae5b915bfdd0f50c7b019001126fb7fa56
|
|
|
|
...
|