steps: build: image: rust:alpine pull: true commands: - apk add --no-cache mingw-w64-gcc musl-dev - mkdir ~/.cargo - echo -e '[target.x86_64-pc-windows-gnu]\nlinker = "x86_64-w64-mingw32-gcc"\nar = "x86_64-w64-mingw32-gcc-ar"' > ~/.cargo/config - rustup target add x86_64-pc-windows-gnu - rustup component add clippy - cargo test - cargo clippy --target x86_64-pc-windows-gnu - cargo build --release --target x86_64-pc-windows-gnu - strip target/x86_64-pc-windows-gnu/release/cggitem_sets.exe when: path: include: [ '.woodpecker/*.yml', 'src/*', 'Cargo*' ] event: [ push, pull_request, manual, tag ] deploy: image: alpine:latest pull: true commands: - apk add --no-cache curl - curl -f -i -u $REGISTRY_USERNAME:$REGISTRY_PASSWORD -X POST 'https://nexus.nyyu.dev/service/rest/v1/components?repository=maven-releases' -F maven2.groupId=dev.nyyu -F maven2.artifactId=cggitem_sets -F maven2.version=$(awk -F ' = ' '$1 ~ /version/ { gsub(/["]/, "", $2); printf("%s",$2) }' Cargo.toml) -F maven2.asset1=@target/x86_64-pc-windows-gnu/release/cggitem_sets.exe -F maven2.asset1.extension=exe -F maven2.asset1.classifier=mingw-x64 secrets: [registry_username, registry_password] when: event: [ push, manual, tag ] branch: - master