--- 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/garage 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 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/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/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/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/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: 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: 362639b4c9541ad9bd06ff7f72b5235b2b0216bcb16eececd25285b6fe94ba6f ...