kind: pipeline type: docker name: default platform: os: linux arch: amd64 steps: - name: lint image: rust:latest commands: - rustup component add rustfmt clippy - cargo fmt --check - cargo clippy - name: build-x86_64-unknown-linux-gnu image: rust:latest commands: - cargo build --release - strip target/release/empede - name: build-aarch64-unknown-linux-gnu image: rust:latest commands: - apt-get update - apt-get install -y gcc-aarch64-linux-gnu binutils-aarch64-linux-gnu - rustup target add aarch64-unknown-linux-gnu - cargo build --target=aarch64-unknown-linux-gnu --release --config target.aarch64-unknown-linux-gnu.linker=\"aarch64-linux-gnu-gcc\" - aarch64-linux-gnu-strip target/aarch64-unknown-linux-gnu/release/empede when: event: tag - name: build-x86_64-pc-windows-gnu image: rust:latest commands: - apt-get update && apt-get install -y mingw-w64 - rustup target add x86_64-pc-windows-gnu - cargo build --target=x86_64-pc-windows-gnu --release --config target.x86_64-pc-windows-gnu.linker=\"x86_64-w64-mingw32-gcc\" - x86_64-w64-mingw32-strip target/x86_64-pc-windows-gnu/release/empede.exe when: event: tag - name: package image: alpine commands: - apk add --no-cache tar gzip zip # x86_64-unknown-linux-gnu - mkdir empede-x86_64-unknown-linux-gnu-${DRONE_TAG} - cp -r target/release/empede static/ README.md empede-x86_64-unknown-linux-gnu-${DRONE_TAG}/ - tar czf empede-x86_64-unknown-linux-gnu-${DRONE_TAG}.tar.gz empede-x86_64-unknown-linux-gnu-${DRONE_TAG}/ # aarch64-unknown-linux-gnu - mkdir empede-aarch64-unknown-linux-gnu-${DRONE_TAG} - cp -r target/aarch64-unknown-linux-gnu/release/empede static/ README.md empede-aarch64-unknown-linux-gnu-${DRONE_TAG}/ - tar czf empede-aarch64-unknown-linux-gnu-${DRONE_TAG}.tar.gz empede-aarch64-unknown-linux-gnu-${DRONE_TAG}/ # x86_64-pc-windows-gnu - mkdir empede-x86_64-pc-windows-gnu-${DRONE_TAG} - cp -r target/x86_64-pc-windows-gnu/release/empede.exe static/ README.md empede-x86_64-pc-windows-gnu-${DRONE_TAG}/ - zip -r empede-x86_64-pc-windows-gnu-${DRONE_TAG}.zip empede-x86_64-pc-windows-gnu-${DRONE_TAG}/ depends_on: - build-aarch64-unknown-linux-gnu - build-x86_64-unknown-linux-gnu - build-x86_64-pc-windows-gnu when: event: tag - name: gitea_release image: plugins/gitea-release settings: api_key: from_secret: GITEA_TOKEN base_url: https://git.sijman.nl files: - empede-aarch64-unknown-linux-gnu-${DRONE_TAG}.tar.gz - empede-x86_64-unknown-linux-gnu-${DRONE_TAG}.tar.gz - empede-x86_64-pc-windows-gnu-${DRONE_TAG}.zip depends_on: - package when: event: tag