--- 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: setup nix image: nixpkgs/nix:nixos-21.05 volumes: - name: nix_store path: /nix - name: nix_config path: /etc/nix commands: - cp nix/nix.conf /etc/nix/nix.conf - nix-build --no-build-output --no-out-link shell.nix --arg release false -A inputDerivation - name: code quality image: nixpkgs/nix:nixos-21.05 volumes: - name: nix_store path: /nix - name: nix_config path: /etc/nix commands: - nix-shell --arg release false --run "cargo fmt -- --check" - nix-shell --arg release false --run "cargo clippy -- --deny warnings" - name: build image: nixpkgs/nix:nixos-21.05 volumes: - name: nix_store path: /nix - name: nix_config path: /etc/nix commands: - nix-build --no-build-output --argstr target x86_64-unknown-linux-musl --arg release false --argstr git_version $DRONE_COMMIT - name: unit tests image: nixpkgs/nix:nixos-21.05 volumes: - name: nix_store path: /nix - name: nix_config path: /etc/nix commands: - | nix-build \ --no-build-output \ --argstr target x86_64-unknown-linux-musl \ --argstr compileMode test - ./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* - name: smoke-test image: nixpkgs/nix:nixos-21.05 volumes: - name: nix_store path: /nix - name: nix_config path: /etc/nix commands: - nix-build --no-build-output --argstr target x86_64-unknown-linux-musl --arg release false --argstr git_version $DRONE_COMMIT - nix-shell --arg release false --run ./script/test-smoke.sh || (cat /tmp/garage.log; false) trigger: event: - custom - push - pull_request - tag - cron node: nix: 1 --- kind: pipeline name: website steps: - name: build image: hrektts/mdbook commands: - cd doc/book - mdbook build - name: upload image: plugins/s3 settings: bucket: garagehq.deuxfleurs.fr access_key: from_secret: garagehq_aws_access_key_id secret_key: from_secret: garagehq_aws_secret_access_key source: doc/book/book/**/* strip_prefix: doc/book/book/ target: / path_style: true endpoint: https://garage.deuxfleurs.fr region: garage when: event: - push branch: - main repo: - Deuxfleurs/garage trigger: event: - custom - push - pull_request node: nix: 1 --- kind: pipeline type: docker name: release-linux-x86_64 volumes: - name: nix_store host: path: /var/lib/drone/nix - name: nix_config temp: {} environment: TARGET: x86_64-unknown-linux-musl steps: - name: setup nix image: nixpkgs/nix:nixos-21.05 volumes: - name: nix_store path: /nix - name: nix_config path: /etc/nix commands: - cp nix/nix.conf /etc/nix/nix.conf - nix-build --no-build-output --no-out-link shell.nix -A inputDerivation - name: build image: nixpkgs/nix:nixos-21.05 volumes: - name: nix_store path: /nix - name: nix_config path: /etc/nix commands: - nix-build --no-build-output --argstr target $TARGET --arg release true --argstr git_version $DRONE_COMMIT - name: integration image: nixpkgs/nix:nixos-21.05 volumes: - name: nix_store path: /nix - name: nix_config path: /etc/nix commands: - nix-shell --run ./script/test-smoke.sh || (cat /tmp/garage.log; false) - name: push static binary image: nixpkgs/nix:nixos-21.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 --arg rust false --arg integration false --run "to_s3" - name: docker build and publish image: nixpkgs/nix:nixos-21.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 --arg rust false --arg integration false --run "to_docker" trigger: event: - promote - cron node: nix: 1 --- kind: pipeline type: docker name: release-linux-i686 volumes: - name: nix_store host: path: /var/lib/drone/nix - name: nix_config temp: {} environment: TARGET: i686-unknown-linux-musl steps: - name: setup nix image: nixpkgs/nix:nixos-21.05 volumes: - name: nix_store path: /nix - name: nix_config path: /etc/nix commands: - cp nix/nix.conf /etc/nix/nix.conf - nix-build --no-build-output --no-out-link shell.nix -A inputDerivation - name: build image: nixpkgs/nix:nixos-21.05 volumes: - name: nix_store path: /nix - name: nix_config path: /etc/nix commands: - nix-build --no-build-output --argstr target $TARGET --arg release true --argstr git_version $DRONE_COMMIT - name: integration image: nixpkgs/nix:nixos-21.05 volumes: - name: nix_store path: /nix - name: nix_config path: /etc/nix commands: - nix-shell --run ./script/test-smoke.sh || (cat /tmp/garage.log; false) - name: push static binary image: nixpkgs/nix:nixos-21.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 --arg rust false --arg integration false --run "to_s3" - name: docker build and publish image: nixpkgs/nix:nixos-21.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 --arg rust false --arg integration false --run "to_docker" trigger: event: - promote - cron node: nix: 1 --- kind: pipeline type: docker name: release-linux-aarch64 volumes: - name: nix_store host: path: /var/lib/drone/nix - name: nix_config temp: {} environment: TARGET: aarch64-unknown-linux-musl steps: - name: setup nix image: nixpkgs/nix:nixos-21.05 volumes: - name: nix_store path: /nix - name: nix_config path: /etc/nix commands: - cp nix/nix.conf /etc/nix/nix.conf - nix-build --no-build-output --no-out-link ./shell.nix --arg rust false --arg integration false -A inputDerivation - name: build image: nixpkgs/nix:nixos-21.05 volumes: - name: nix_store path: /nix - name: nix_config path: /etc/nix commands: - nix-build --no-build-output --argstr target $TARGET --arg release true --argstr git_version $DRONE_COMMIT - name: push static binary image: nixpkgs/nix:nixos-21.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 --arg rust false --arg integration false --run "to_s3" - name: docker build and publish image: nixpkgs/nix:nixos-21.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 --arg rust false --arg integration false --run "to_docker" trigger: event: - promote - cron node: nix: 1 --- kind: pipeline type: docker name: release-linux-armv6l volumes: - name: nix_store host: path: /var/lib/drone/nix - name: nix_config temp: {} environment: TARGET: armv6l-unknown-linux-musleabihf steps: - name: setup nix image: nixpkgs/nix:nixos-21.05 volumes: - name: nix_store path: /nix - name: nix_config path: /etc/nix commands: - cp nix/nix.conf /etc/nix/nix.conf - nix-build --no-build-output --no-out-link --arg rust false --arg integration false -A inputDerivation - name: build image: nixpkgs/nix:nixos-21.05 volumes: - name: nix_store path: /nix - name: nix_config path: /etc/nix commands: - nix-build --no-build-output --argstr target $TARGET --arg release true --argstr git_version $DRONE_COMMIT - name: push static binary image: nixpkgs/nix:nixos-21.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 --arg integration false --arg rust false --run "to_s3" - name: docker build and publish image: nixpkgs/nix:nixos-21.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 --arg rust false --arg integration false --run "to_docker" trigger: event: - promote - cron node: nix: 1 --- 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-21.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 --arg integration false --arg rust false --run "refresh_index" depends_on: - release-linux-x86_64 - release-linux-i686 - release-linux-aarch64 - release-linux-armv6l trigger: event: - promote - cron node: nix: 1 --- kind: signature hmac: 1c33490cc2902564c4250a409c156683d0d549b8c9d5aee4e46d1bde4e0ccf2c ...