aboutsummaryrefslogtreecommitdiff
path: root/.woodpecker/release.yaml
diff options
context:
space:
mode:
Diffstat (limited to '.woodpecker/release.yaml')
-rw-r--r--.woodpecker/release.yaml66
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"