kind: pipeline type: docker name: clippy platform: arch: amd64 clone: disable: true steps: - name: clone image: alpine/git:latest user: root commands: - git clone $DRONE_GIT_HTTP_URL . - git checkout $DRONE_COMMIT - chown -R 991:991 . - name: clippy image: asonix/rust-builder:latest-linux-amd64 pull: always commands: - rustup component add clippy - cargo clippy -- -D warnings trigger: event: - push - pull_request - tag --- kind: pipeline type: docker name: tests platform: arch: amd64 clone: disable: true steps: - name: clone image: alpine/git:latest user: root commands: - git clone $DRONE_GIT_HTTP_URL . - git checkout $DRONE_COMMIT - chown -R 991:991 . - name: tests image: asonix/rust-builder:latest-linux-amd64 pull: always commands: - cargo test trigger: event: - push - pull_request - tag --- kind: pipeline type: docker name: check-amd64 platform: arch: amd64 clone: disable: true steps: - name: clone image: alpine/git:latest user: root commands: - git clone $DRONE_GIT_HTTP_URL . - git checkout $DRONE_COMMIT - chown -R 991:991 . - name: check image: asonix/rust-builder:latest-linux-amd64 pull: always commands: - cargo check --target=$TARGET trigger: event: - push - pull_request --- kind: pipeline type: docker name: build-amd64 platform: arch: amd64 clone: disable: true steps: - name: clone image: alpine/git:latest user: root commands: - git clone $DRONE_GIT_HTTP_URL . - git checkout $DRONE_COMMIT - chown -R 991:991 . - name: build image: asonix/rust-builder:latest-linux-amd64 pull: always commands: - cargo build --target=$TARGET --release - $TOOL-strip target/$TARGET/release/relay - cp target/$TARGET/release/relay . - cp relay relay-linux-amd64 - name: push image: plugins/docker:20 settings: username: asonix password: from_secret: dockerhub_token repo: asonix/relay dockerfile: docker/drone/Dockerfile auto_tag: true auto_tag_suffix: linux-amd64 build_args: - REPO_ARCH=amd64 - name: publish image: plugins/gitea-release:1 settings: api_key: from_secret: gitea_token base_url: https://git.asonix.dog files: - relay-linux-amd64 depends_on: - clippy - tests trigger: event: - tag --- kind: pipeline type: docker name: check-arm64v8 platform: arch: amd64 clone: disable: true steps: - name: clone image: alpine/git:latest user: root commands: - git clone $DRONE_GIT_HTTP_URL . - git checkout $DRONE_COMMIT - chown -R 991:991 . - name: check image: asonix/rust-builder:latest-linux-arm64v8 pull: always commands: - cargo check --target=$TARGET trigger: event: - push - pull_request --- kind: pipeline type: docker name: build-arm64v8 platform: arch: amd64 clone: disable: true steps: - name: clone image: alpine/git:latest user: root commands: - git clone $DRONE_GIT_HTTP_URL . - git checkout $DRONE_COMMIT - chown -R 991:991 . - name: build image: asonix/rust-builder:latest-linux-arm64v8 pull: always commands: - cargo build --target=$TARGET --release - $TOOL-strip target/$TARGET/release/relay - cp target/$TARGET/release/relay . - cp relay relay-linux-arm64v8 - name: push image: plugins/docker:20 settings: username: asonix password: from_secret: dockerhub_token repo: asonix/relay dockerfile: docker/drone/Dockerfile auto_tag: true auto_tag_suffix: linux-arm64v8 build_args: - REPO_ARCH=arm64v8 - name: publish image: plugins/gitea-release:1 settings: api_key: from_secret: gitea_token base_url: https://git.asonix.dog files: - relay-linux-arm64v8 depends_on: - clippy - tests trigger: event: - tag --- kind: pipeline type: docker name: check-arm32v7 platform: arch: amd64 clone: disable: true steps: - name: clone image: alpine/git:latest user: root commands: - git clone $DRONE_GIT_HTTP_URL . - git checkout $DRONE_COMMIT - chown -R 991:991 . - name: check image: asonix/rust-builder:latest-linux-arm32v7 pull: always commands: - cargo check --target=$TARGET trigger: event: - push - pull_request --- kind: pipeline type: docker name: build-arm32v7 platform: arch: amd64 clone: disable: true steps: - name: clone image: alpine/git:latest user: root commands: - git clone $DRONE_GIT_HTTP_URL . - git checkout $DRONE_COMMIT - chown -R 991:991 . - name: build image: asonix/rust-builder:latest-linux-arm32v7 pull: always commands: - cargo build --target=$TARGET --release - $TOOL-strip target/$TARGET/release/relay - cp target/$TARGET/release/relay . - cp relay relay-linux-arm32v7 - name: push image: plugins/docker:20 settings: username: asonix password: from_secret: dockerhub_token repo: asonix/relay dockerfile: docker/drone/Dockerfile auto_tag: true auto_tag_suffix: linux-arm32v7 build_args: - REPO_ARCH=arm32v7 - name: publish image: plugins/gitea-release:1 settings: api_key: from_secret: gitea_token base_url: https://git.asonix.dog files: - relay-linux-arm32v7 depends_on: - clippy - tests trigger: event: - tag --- kind: pipeline type: docker name: manifest platform: arch: amd64 clone: disable: true steps: - name: clone image: alpine/git:latest user: root commands: - git clone $DRONE_GIT_HTTP_URL . - git checkout $DRONE_COMMIT - chown -R 991:991 . - name: manifest image: plugins/manifest:1 settings: username: asonix password: from_secret: dockerhub_token dump: true auto_tag: true ignore_missing: true spec: docker/drone/manifest.tmpl depends_on: - build-amd64 - build-arm64v8 - build-arm32v7 trigger: event: - tag # --- # kind: pipeline # type: docker # name: publish-crate # # platform: # arch: amd64 # # clone: # disable: true # # steps: # - name: clone # image: alpine/git:latest # user: root # commands: # - git clone $DRONE_GIT_HTTP_URL . # - git checkout $DRONE_COMMIT # - chown -R 991:991 . # # - name: publish # image: asonix/rust-builder:latest-linux-amd64 # pull: always # environment: # CRATES_IO_TOKEN: # from_secret: crates_io_token # commands: # - cargo publish --token $CRATES_IO_TOKEN # # depends_on: # - build-amd64 # - build-arm64v8 # - build-arm32v7 # # trigger: # event: # - tag