--- kind: pipeline type: docker name: default-amd64 platform: os: linux arch: amd64 steps: - &build_test name: build and test image: rust:1 pull: always commands: - apt-get update -y - apt-get install -y libnftnl-dev libmnl-dev libclang-dev - curl -o ${RUSTC_WRAPPER} https://assets.paulbsd.com/sccache_linux_${DRONE_STAGE_ARCH} - chmod +x ${RUSTC_WRAPPER} - cargo build --verbose --all - cargo test --verbose --all environment: RUSTC_WRAPPER: /usr/bin/sccache SCCACHE_WEBDAV_ENDPOINT: https://sccache.paulbsd.com SCCACHE_WEBDAV_KEY_PREFIX: sccache volumes: - name: cargo path: /usr/local/cargo/registry - name: apt path: /var/cache/apt when: event: exclude: - tag - &release name: release image: rust:1 pull: always commands: - apt-get update -y - apt-get install -y libnftnl-dev libmnl-dev libclang-dev - curl -o ${RUSTC_WRAPPER} https://assets.paulbsd.com/sccache_linux_${DRONE_STAGE_ARCH} - chmod +x ${RUSTC_WRAPPER} - cargo build --release --verbose --all - cd target/release - tar -czvf ipblc-${DRONE_TAG}-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH}.tar.gz ipblc environment: RUSTC_WRAPPER: /usr/bin/sccache SCCACHE_WEBDAV_ENDPOINT: https://sccache.paulbsd.com SCCACHE_WEBDAV_KEY_PREFIX: sccache volumes: - name: cargo path: /usr/local/cargo/registry - name: apt path: /var/cache/apt when: event: - tag - &publish name: publish image: plugins/gitea-release settings: base_url: https://git.paulbsd.com api_key: from_secret: gitea_token files: "target/release/*.tar.gz" #checksum: # - sha256 # - sha512 environment: PLUGIN_TITLE: "" when: event: - tag volumes: - name: cargo host: path: /home/drone/cache/cargo - name: apt host: path: /home/drone/cache/apt --- kind: pipeline type: docker name: default-arm64 platform: os: linux arch: arm64 steps: - *build_test - *release - *publish volumes: - name: cargo host: path: /home/drone/cache/cargo - name: apt host: path: /home/drone/cache/apt