diff options
author | Alex <alex@adnab.me> | 2024-02-29 17:13:15 +0000 |
---|---|---|
committer | Alex <alex@adnab.me> | 2024-02-29 17:13:15 +0000 |
commit | 9b44639844fe60add66286a161f69f817a2714cb (patch) | |
tree | 971ec3b348e4d3891b07ab7c2f6ffea0a1734314 /.woodpecker/release.yaml | |
parent | 083e982f5fd0e88e496da7d67734abd8927f3f98 (diff) | |
parent | a6660f71e622957a30d7c53c6bfd57f4772709dd (diff) | |
download | garage-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
Diffstat (limited to '.woodpecker/release.yaml')
-rw-r--r-- | .woodpecker/release.yaml | 66 |
1 files changed, 66 insertions, 0 deletions
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" |