diff options
author | Alex Auvolat <alex@adnab.me> | 2024-02-13 11:24:56 +0100 |
---|---|---|
committer | Alex Auvolat <alex@adnab.me> | 2024-02-13 11:36:28 +0100 |
commit | cf2af186fcc0c8f581a966454b6cd4720d3821f0 (patch) | |
tree | 37a978ba9ffb780fc828cff7b8ec93662d50884f /.woodpecker | |
parent | db48dd3d6c1f9e86a62e9b8edfce2c1620bcd5f3 (diff) | |
parent | 823078b4cdaf93e09de0847c5eaa75beb7b26b7f (diff) | |
download | garage-cf2af186fcc0c8f581a966454b6cd4720d3821f0.tar.gz garage-cf2af186fcc0c8f581a966454b6cd4720d3821f0.zip |
Merge branch 'main' into next-0.10
Diffstat (limited to '.woodpecker')
-rw-r--r-- | .woodpecker/debug.yaml | 44 | ||||
-rw-r--r-- | .woodpecker/publish.yaml | 29 | ||||
-rw-r--r-- | .woodpecker/release.yaml | 70 |
3 files changed, 143 insertions, 0 deletions
diff --git a/.woodpecker/debug.yaml b/.woodpecker/debug.yaml new file mode 100644 index 00000000..59ae8c06 --- /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 devShell --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 ci --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..739af2c4 --- /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 ci --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 ci --run "multiarch_docker" diff --git a/.woodpecker/release.yaml b/.woodpecker/release.yaml new file mode 100644 index 00000000..c57d7272 --- /dev/null +++ b/.woodpecker/release.yaml @@ -0,0 +1,70 @@ +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} + + - 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 ci --run "./script/not-dynamic.sh result-bin/bin/garage" + + - name: integration tests + image: nixpkgs/nix:nixos-22.05 + commands: + - nix-shell --attr ci --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 ci --run "./script/test-upgrade.sh v0.8.4 x86_64-unknown-linux-musl" || (cat /tmp/garage.log; false) + when: + - matrix: + ARCH: amd64 + + - 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 ci --run "to_s3" + + - name: docker build and publish + image: nixpkgs/nix:nixos-22.05 + environment: + DOCKER_PLATFORM: "linux/${ARCH}" + CONTAINER_NAME: "dxflrs/${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 ci --run "to_docker" |