aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex <alex@adnab.me>2024-02-29 17:13:15 +0000
committerAlex <alex@adnab.me>2024-02-29 17:13:15 +0000
commit9b44639844fe60add66286a161f69f817a2714cb (patch)
tree971ec3b348e4d3891b07ab7c2f6ffea0a1734314
parent083e982f5fd0e88e496da7d67734abd8927f3f98 (diff)
parenta6660f71e622957a30d7c53c6bfd57f4772709dd (diff)
downloadgarage-9b44639844fe60add66286a161f69f817a2714cb.tar.gz
garage-9b44639844fe60add66286a161f69f817a2714cb.zip
Merge pull request 'Backport woodpecker CI to v0.8.x branch' (#741) from woodpecker-0.8.x into main-0.8.x
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/741
-rw-r--r--.drone.yml288
-rw-r--r--.woodpecker/debug.yaml44
-rw-r--r--.woodpecker/publish.yaml29
-rw-r--r--.woodpecker/release.yaml66
4 files changed, 139 insertions, 288 deletions
diff --git a/.drone.yml b/.drone.yml
deleted file mode 100644
index c219c414..00000000
--- a/.drone.yml
+++ /dev/null
@@ -1,288 +0,0 @@
----
-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
- 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-*
- - rm result
-
- - 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: ac09a5a8c82502f67271f93afa1e1e21ce66383b8e24a6deb26b285cc1c378ba
-
-...
diff --git a/.woodpecker/debug.yaml b/.woodpecker/debug.yaml
new file mode 100644
index 00000000..9486f672
--- /dev/null
+++ b/.woodpecker/debug.yaml
@@ -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)
diff --git a/.woodpecker/publish.yaml b/.woodpecker/publish.yaml
new file mode 100644
index 00000000..e3feb2da
--- /dev/null
+++ b/.woodpecker/publish.yaml
@@ -0,0 +1,29 @@
+when:
+ event:
+ - deployment
+ - cron
+
+depends_on:
+ - release
+
+steps:
+ - 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"
+
+ - name: multiarch-docker
+ image: nixpkgs/nix:nixos-22.05
+ secrets:
+ - docker_auth
+ commands:
+ - mkdir -p /root/.docker
+ - echo $DOCKER_AUTH > /root/.docker/config.json
+ - export CONTAINER_TAG=${CI_COMMIT_TAG:-$CI_COMMIT_SHA}
+ - nix-shell --attr release --run "multiarch_docker"
diff --git a/.woodpecker/release.yaml b/.woodpecker/release.yaml
new file mode 100644
index 00000000..fa3c30a3
--- /dev/null
+++ b/.woodpecker/release.yaml
@@ -0,0 +1,66 @@
+when:
+ event:
+ - deployment
+ - cron
+
+matrix:
+ include:
+ - ARCH: amd64
+ DOCKER_ARCH: amd64
+ TARGET: x86_64-unknown-linux-musl
+ - ARCH: i386
+ DOCKER_ARCH: "386"
+ TARGET: i686-unknown-linux-musl
+ - ARCH: arm64
+ DOCKER_ARCH: arm64
+ TARGET: aarch64-unknown-linux-musl
+ - ARCH: arm
+ DOCKER_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}
+
+ - name: check is static binary
+ 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: 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"
+
+ - name: docker build and publish
+ image: nixpkgs/nix:nixos-22.05
+ environment:
+ DOCKER_PLATFORM: "linux/${DOCKER_ARCH}"
+ CONTAINER_NAME: "dxflrs/${DOCKER_ARCH}_garage"
+ secrets:
+ - docker_auth
+ commands:
+ - mkdir -p /root/.docker
+ - echo $DOCKER_AUTH > /root/.docker/config.json
+ - export CONTAINER_TAG=${CI_COMMIT_TAG:-$CI_COMMIT_SHA}
+ - nix-shell --attr release --run "to_docker"