--- kind: pipeline name: default workspace: base: /drone/garage volumes: - name: nix_store host: path: /var/lib/drone/nix - name: nix_config temp: {} environment: HOME: /drone/garage steps: - name: nix maintenance image: nixpkgs/nix:nixos-22.05 volumes: - name: nix_store path: /mnt - name: nix_config path: /etc/nix commands: - "[ -d /mnt/store/3vpyn2qz5ay057nq9x68sh0r328d77ng-nix-2.8.1/ ] || (mkdir -p /mnt/store && cp -r /nix/store/* /mnt/store/)" - "[ -d /mnt/var/ ] || cp -r /nix/var /mnt/" - cp nix/nix.conf /etc/nix/nix.conf - name: check formatting image: nixpkgs/nix:nixos-22.05 volumes: - name: nix_store path: /nix - name: nix_config path: /etc/nix commands: - nix-shell --attr rust --run "cargo fmt -- --check" - name: build image: nixpkgs/nix:nixos-22.05 volumes: - name: nix_store path: /nix - name: nix_config path: /etc/nix commands: - nix-build --no-build-output --attr clippy.amd64 --argstr git_version $DRONE_COMMIT - name: unit + func tests image: nixpkgs/nix:nixos-22.05 environment: GARAGE_TEST_INTEGRATION_EXE: result/bin/garage volumes: - name: nix_store path: /nix - name: nix_config path: /etc/nix commands: - nix-build --no-build-output --attr test.amd64 - ./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-* - name: integration tests image: nixpkgs/nix:nixos-22.05 volumes: - name: nix_store path: /nix - name: nix_config path: /etc/nix commands: - nix-build --no-build-output --attr clippy.amd64 --argstr git_version $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 volumes: - name: nix_store host: path: /var/lib/drone/nix - name: nix_config temp: {} steps: - name: nix maintenance image: nixpkgs/nix:nixos-22.05 volumes: - name: nix_store path: /mnt - name: nix_config path: /etc/nix commands: - "[ -d /mnt/store/3vpyn2qz5ay057nq9x68sh0r328d77ng-nix-2.8.1/ ] || (mkdir -p /mnt/store && cp -r /nix/store/* /mnt/store/)" - "[ -d /mnt/var/ ] || cp -r /nix/var /mnt/" - cp nix/nix.conf /etc/nix/nix.conf - name: build image: nixpkgs/nix:nixos-22.05 volumes: - name: nix_store path: /nix - name: nix_config path: /etc/nix commands: - nix-build --no-build-output --attr pkgs.amd64.release --argstr git_version $DRONE_COMMIT - nix-shell --attr rust --run "./script/not-dynamic.sh result/bin/garage" - name: integration image: nixpkgs/nix:nixos-22.05 volumes: - name: nix_store path: /nix - name: nix_config path: /etc/nix 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 volumes: - name: nix_store path: /nix - name: nix_config path: /etc/nix environment: AWS_ACCESS_KEY_ID: from_secret: garagehq_aws_access_key_id AWS_SECRET_ACCESS_KEY: from_secret: garagehq_aws_secret_access_key commands: - nix-shell --attr release --run "to_s3" - name: docker build and publish image: nixpkgs/nix:nixos-22.05 volumes: - name: nix_store path: /nix - name: nix_config path: /etc/nix 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 volumes: - name: nix_store host: path: /var/lib/drone/nix - name: nix_config temp: {} steps: - name: nix maintenance image: nixpkgs/nix:nixos-22.05 volumes: - name: nix_store path: /mnt - name: nix_config path: /etc/nix commands: - "[ -d /mnt/store/3vpyn2qz5ay057nq9x68sh0r328d77ng-nix-2.8.1/ ] || (mkdir -p /mnt/store && cp -r /nix/store/* /mnt/store/)" - "[ -d /mnt/var/ ] || cp -r /nix/var /mnt/" - cp nix/nix.conf /etc/nix/nix.conf - name: build image: nixpkgs/nix:nixos-22.05 volumes: - name: nix_store path: /nix - name: nix_config path: /etc/nix commands: - nix-build --no-build-output --attr pkgs.i386.release --argstr git_version $DRONE_COMMIT - nix-shell --attr rust --run "./script/not-dynamic.sh result/bin/garage" - name: integration image: nixpkgs/nix:nixos-22.05 volumes: - name: nix_store path: /nix - name: nix_config path: /etc/nix 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 volumes: - name: nix_store path: /nix - name: nix_config path: /etc/nix environment: AWS_ACCESS_KEY_ID: from_secret: garagehq_aws_access_key_id AWS_SECRET_ACCESS_KEY: from_secret: garagehq_aws_secret_access_key commands: - nix-shell --attr release --run "to_s3" - name: docker build and publish image: nixpkgs/nix:nixos-22.05 volumes: - name: nix_store path: /nix - name: nix_config path: /etc/nix 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 volumes: - name: nix_store host: path: /var/lib/drone/nix - name: nix_config temp: {} steps: - name: nix maintenance image: nixpkgs/nix:nixos-22.05 volumes: - name: nix_store path: /mnt - name: nix_config path: /etc/nix commands: - "[ -d /mnt/store/3vpyn2qz5ay057nq9x68sh0r328d77ng-nix-2.8.1/ ] || (mkdir -p /mnt/store && cp -r /nix/store/* /mnt/store/)" - "[ -d /mnt/var/ ] || cp -r /nix/var /mnt/" - cp nix/nix.conf /etc/nix/nix.conf - name: build image: nixpkgs/nix:nixos-22.05 volumes: - name: nix_store path: /nix - name: nix_config path: /etc/nix commands: - nix-build --no-build-output --attr pkgs.arm64.release --argstr git_version $DRONE_COMMIT - nix-shell --attr rust --run "./script/not-dynamic.sh result/bin/garage" - name: push static binary image: nixpkgs/nix:nixos-22.05 volumes: - name: nix_store path: /nix - name: nix_config path: /etc/nix environment: AWS_ACCESS_KEY_ID: from_secret: garagehq_aws_access_key_id AWS_SECRET_ACCESS_KEY: from_secret: garagehq_aws_secret_access_key commands: - nix-shell --attr release --run "to_s3" - name: docker build and publish image: nixpkgs/nix:nixos-22.05 volumes: - name: nix_store path: /nix - name: nix_config path: /etc/nix 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 volumes: - name: nix_store host: path: /var/lib/drone/nix - name: nix_config temp: {} steps: - name: nix maintenance image: nixpkgs/nix:nixos-22.05 volumes: - name: nix_store path: /mnt - name: nix_config path: /etc/nix commands: - "[ -d /mnt/store/3vpyn2qz5ay057nq9x68sh0r328d77ng-nix-2.8.1/ ] || (mkdir -p /mnt/store && cp -r /nix/store/* /mnt/store/)" - "[ -d /mnt/var/ ] || cp -r /nix/var /mnt/" - cp nix/nix.conf /etc/nix/nix.conf - name: build image: nixpkgs/nix:nixos-22.05 volumes: - name: nix_store path: /nix - name: nix_config path: /etc/nix commands: - nix-build --no-build-output --attr pkgs.arm.release --argstr git_version $DRONE_COMMIT - nix-shell --attr rust --run "./script/not-dynamic.sh result/bin/garage" - name: push static binary image: nixpkgs/nix:nixos-22.05 volumes: - name: nix_store path: /nix - name: nix_config path: /etc/nix environment: AWS_ACCESS_KEY_ID: from_secret: garagehq_aws_access_key_id AWS_SECRET_ACCESS_KEY: from_secret: garagehq_aws_secret_access_key commands: - nix-shell --attr release --run "to_s3" - name: docker build and publish image: nixpkgs/nix:nixos-22.05 volumes: - name: nix_store path: /nix - name: nix_config path: /etc/nix 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 volumes: - name: nix_store host: path: /var/lib/drone/nix steps: - name: refresh-index image: nixpkgs/nix:nixos-22.05 volumes: - name: nix_store path: /nix 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: 0a72ff9a422018b7b06754bd5b9561d3f4bb0d5af28a20ec365c719ee263378a ...