forked from Deuxfleurs/garage
[woodpecker] convert drone pipelines to woodpecker
This commit is contained in:
parent
710680da15
commit
8b6a44a53d
5 changed files with 156 additions and 1 deletions
44
.woodpecker/debug.yaml
Normal file
44
.woodpecker/debug.yaml
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
when:
|
||||||
|
event:
|
||||||
|
- push
|
||||||
|
- tag
|
||||||
|
- pull_request
|
||||||
|
- deployment
|
||||||
|
- cron
|
||||||
|
|
||||||
|
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 ${CI_COMMIT_TAG:-$CI_COMMIT_SHA}
|
||||||
|
|
||||||
|
- 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 ${CI_COMMIT_TAG:-$CI_COMMIT_SHA}
|
||||||
|
- 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 ${CI_COMMIT_TAG:-$CI_COMMIT_SHA}
|
||||||
|
- nix-shell --attr integration --run ./script/test-smoke.sh || (cat /tmp/garage.log; false)
|
33
.woodpecker/publish.yaml
Normal file
33
.woodpecker/publish.yaml
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
when:
|
||||||
|
event:
|
||||||
|
- deployment
|
||||||
|
- cron
|
||||||
|
|
||||||
|
depends_on:
|
||||||
|
- release
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: multiarch-docker
|
||||||
|
image: nixpkgs/nix:nixos-22.05
|
||||||
|
environment:
|
||||||
|
HOME: "/root"
|
||||||
|
secrets:
|
||||||
|
- docker_auth
|
||||||
|
commands:
|
||||||
|
- mkdir -p /root/.docker
|
||||||
|
- echo $DOCKER_AUTH > /root/.docker/config.json
|
||||||
|
- sha512sum /root/.docker/config.json
|
||||||
|
- export CONTAINER_TAG=${CI_COMMIT_TAG:-$CI_COMMIT_SHA}
|
||||||
|
- nix-shell --attr release --run "multiarch_docker"
|
||||||
|
|
||||||
|
- name: refresh-index
|
||||||
|
image: nixpkgs/nix:nixos-22.05
|
||||||
|
secrets:
|
||||||
|
- source: garagehq_aws_access_key_id
|
||||||
|
target: AWS_ACCESS_KEY_ID
|
||||||
|
- source: garagehq_aws_secret_access_key
|
||||||
|
target: AWS_SECRET_ACCESS_KEY
|
||||||
|
commands:
|
||||||
|
- mkdir -p /etc/nix && cp nix/nix.conf /etc/nix/nix.conf
|
||||||
|
- nix-shell --attr release --run "refresh_index"
|
||||||
|
|
69
.woodpecker/release.yaml
Normal file
69
.woodpecker/release.yaml
Normal file
|
@ -0,0 +1,69 @@
|
||||||
|
when:
|
||||||
|
event:
|
||||||
|
- deployment
|
||||||
|
- cron
|
||||||
|
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- ARCH: amd64
|
||||||
|
TARGET: x86_64-unknown-linux-musl
|
||||||
|
- ARCH: i386
|
||||||
|
TARGET: i686-unknown-linux-musl
|
||||||
|
- ARCH: arm64
|
||||||
|
TARGET: aarch64-unknown-linux-musl
|
||||||
|
- ARCH: arm
|
||||||
|
TARGET: armv6l-unknown-linux-musleabihf
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: build
|
||||||
|
image: nixpkgs/nix:nixos-22.05
|
||||||
|
commands:
|
||||||
|
- nix-build --no-build-output --attr pkgs.${ARCH}.release --argstr git_version ${CI_COMMIT_TAG:-$CI_COMMIT_SHA}
|
||||||
|
- nix-shell --attr rust --run "./script/not-dynamic.sh result-bin/bin/garage"
|
||||||
|
|
||||||
|
- name: integration tests
|
||||||
|
image: nixpkgs/nix:nixos-22.05
|
||||||
|
commands:
|
||||||
|
- nix-shell --attr integration --run ./script/test-smoke.sh || (cat /tmp/garage.log; false)
|
||||||
|
when:
|
||||||
|
- matrix:
|
||||||
|
ARCH: amd64
|
||||||
|
- matrix:
|
||||||
|
ARCH: i386
|
||||||
|
|
||||||
|
- name: upgrade tests
|
||||||
|
image: nixpkgs/nix:nixos-22.05
|
||||||
|
commands:
|
||||||
|
- nix-shell --attr integration --run "./script/test-upgrade.sh v0.8.4 x86_64-unknown-linux-musl" || (cat /tmp/garage.log; false)
|
||||||
|
when:
|
||||||
|
- matrix:
|
||||||
|
ARCH: amd64
|
||||||
|
- matrix:
|
||||||
|
ARCH: i386
|
||||||
|
|
||||||
|
- name: push static binary
|
||||||
|
image: nixpkgs/nix:nixos-22.05
|
||||||
|
environment:
|
||||||
|
TARGET: "${TARGET}"
|
||||||
|
secrets:
|
||||||
|
- source: garagehq_aws_access_key_id
|
||||||
|
target: AWS_ACCESS_KEY_ID
|
||||||
|
- source: garagehq_aws_secret_access_key
|
||||||
|
target: AWS_SECRET_ACCESS_KEY
|
||||||
|
commands:
|
||||||
|
- nix-shell --attr release --run "to_s3_woodpecker"
|
||||||
|
|
||||||
|
- name: docker build and publish
|
||||||
|
image: nixpkgs/nix:nixos-22.05
|
||||||
|
environment:
|
||||||
|
DOCKER_PLATFORM: "linux/${ARCH}"
|
||||||
|
CONTAINER_NAME: "dxflrs/${ARCH}_garage"
|
||||||
|
HOME: "/kaniko"
|
||||||
|
secrets:
|
||||||
|
- docker_auth
|
||||||
|
commands:
|
||||||
|
- mkdir -p /kaniko/.docker
|
||||||
|
- echo $DOCKER_AUTH > /kaniko/.docker/config.json
|
||||||
|
- sha512sum /kaniko/.docker/config.json
|
||||||
|
- export CONTAINER_TAG=${CI_COMMIT_TAG:-$CI_COMMIT_SHA}
|
||||||
|
- nix-shell --attr release --run "to_docker"
|
|
@ -1,4 +1,4 @@
|
||||||
Garage [![Build Status](https://drone.deuxfleurs.fr/api/badges/Deuxfleurs/garage/status.svg?ref=refs/heads/main)](https://drone.deuxfleurs.fr/Deuxfleurs/garage)
|
Garage [![status-badge](https://woodpecker.deuxfleurs.fr/api/badges/1/status.svg)](https://woodpecker.deuxfleurs.fr/repos/1)
|
||||||
===
|
===
|
||||||
|
|
||||||
<p align="center" style="text-align:center;">
|
<p align="center" style="text-align:center;">
|
||||||
|
|
|
@ -95,6 +95,15 @@ in {
|
||||||
s3://garagehq.deuxfleurs.fr/_releases/''${DRONE_TAG:-$DRONE_COMMIT}/''${TARGET}/garage
|
s3://garagehq.deuxfleurs.fr/_releases/''${DRONE_TAG:-$DRONE_COMMIT}/''${TARGET}/garage
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function to_s3_woodpecker {
|
||||||
|
aws \
|
||||||
|
--endpoint-url https://garage.deuxfleurs.fr \
|
||||||
|
--region garage \
|
||||||
|
s3 cp \
|
||||||
|
./result-bin/bin/garage \
|
||||||
|
s3://garagehq.deuxfleurs.fr/_releases/''${CI_COMMIT_TAG:-$CI_COMMIT_SHA}/''${TARGET}/garage
|
||||||
|
}
|
||||||
|
|
||||||
function to_docker {
|
function to_docker {
|
||||||
executor \
|
executor \
|
||||||
--force \
|
--force \
|
||||||
|
|
Loading…
Reference in a new issue