CGGItemSets/.drone.yml
nyyu 33efbf5adc
All checks were successful
continuous-integration/drone/push Build is passing
always pull image
2021-08-14 09:32:59 +02:00

85 lines
2.7 KiB
YAML

kind: pipeline
type: docker
name: windows
steps:
- name: build
pull: always
image: rust:alpine
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
- name: deploy
image: alpine:latest
commands:
- apk add --no-cache curl
- curl -u drone:$MVN_PWD -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
environment:
MVN_PWD:
from_secret: maven_password
when:
branch:
- master
---
kind: pipeline
type: docker
name: linux
steps:
- name: build
pull: always
image: rust:alpine
commands:
- apk add --no-cache musl-dev
- rustup component add clippy
- cargo test
- cargo clippy
- cargo build --release
- strip target/release/cggitem_sets
- name: deploy
image: alpine:latest
commands:
- apk add --no-cache curl
- curl -u drone:$MVN_PWD -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/release/cggitem_sets -F maven2.asset1.extension=elf -F maven2.asset1.classifier=linux-x64
environment:
MVN_PWD:
from_secret: maven_password
when:
branch:
- master
#---
#kind: pipeline
#type: exec
#name: windows-msvc
#platform:
# os: windows
# arch: amd64
#steps:
#- name: build
# commands:
# - rustup update
# - cargo test
# - cargo clippy
# - cargo build --release
# environment:
# CARGO_HOME: c:/drone/cargo
# RUSTUP_HOME: c:/drone/rustup
#- name: deploy
# commands:
# - curl.exe -u drone:$Env:MVN_PWD -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=1.0.0 -F maven2.asset1=@target/release/cggitem_sets.exe -F maven2.asset1.extension=exe -F maven2.asset1.classifier=msvc-x64
# environment:
# MVN_PWD:
# from_secret: maven_password
# when:
# branch:
# - master