80 lines
No EOL
2.6 KiB
YAML
80 lines
No EOL
2.6 KiB
YAML
kind: pipeline
|
|
type: docker
|
|
name: windows
|
|
|
|
steps:
|
|
- name: build
|
|
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 toolchain install stable-x86_64-pc-windows-gnu
|
|
- 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)-$(date +%Y%m%d%H%M%S) -F maven2.asset1=@target/x86_64-pc-windows-gnu/release/cggitem_sets.exe -F maven2.asset1.extension=exe
|
|
environment:
|
|
MVN_PWD:
|
|
from_secret: maven_password
|
|
when:
|
|
branch:
|
|
- master
|
|
---
|
|
kind: pipeline
|
|
type: docker
|
|
name: linux
|
|
|
|
steps:
|
|
- name: build
|
|
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)-$(date +%Y%m%d%H%M%S) -F maven2.asset1=@target/release/cggitem_sets -F maven2.asset1.extension=elf
|
|
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
|
|
- name: deploy
|
|
commands:
|
|
- 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)-$(date +%Y%m%d%H%M%S)-msvc -F maven2.asset1=@target/release/cggitem_sets -F maven2.asset1.extension=exec
|
|
environment:
|
|
MVN_PWD:
|
|
from_secret: maven_password
|
|
when:
|
|
branch:
|
|
- master |