stages: - build - test - release build:linux:stable: image: scorpil/rust:stable stage: build script: - rustc -Vv - cargo -Vv - cargo build only: - master - develop tags: - docker artifacts: expire_in: 4 hours paths: - target/debug/ allow_failure: false test:linux:stable: image: scorpil/rust:stable stage: test script: - rustc -Vv - cargo -Vv - cargo test only: - master - develop tags: - docker dependencies: - build:linux:stable allow_failure: false release:linux:stable: image: scorpil/rust:stable stage: release script: - rustc -Vv - cargo -Vv - cargo build --release artifacts: expire_in: 4 weeks paths: - target/release/*.so - target/release/pihash only: - master - develop tags: - docker allow_failure: false build:linux:beta: image: scorpil/rust:beta stage: build script: - rustc -Vv - cargo -Vv - cargo build only: - master - develop tags: - docker artifacts: expire_in: 4 hours paths: - target/debug/ allow_failure: true test:linux:beta: image: scorpil/rust:beta stage: test script: - rustc -Vv - cargo -Vv - cargo test only: - master - develop tags: - docker dependencies: - build:linux:beta allow_failure: true build:linux:nightly: image: scorpil/rust:nightly stage: build script: - rustc -Vv - cargo -Vv - cargo build only: - develop tags: - docker artifacts: expire_in: 4 hours paths: - target/debug/ allow_failure: true test:linux:nightly: image: scorpil/rust:nightly stage: test script: - rustc -Vv - cargo -Vv - cargo test only: - develop tags: - docker dependencies: - build:linux:nightly allow_failure: true release:linux:nightly: image: scorpil/rust:nightly stage: release script: - rustc -Vv - cargo -Vv - cargo build --release artifacts: expire_in: 1 week paths: - target/release/*.so - target/release/pihash only: - develop tags: - docker allow_failure: true build:windows:stable: stage: build variables: RUST_TOOLCHAIN: stable-x86_64-pc-windows-gnu script: - rustup update - rustup run %RUST_TOOLCHAIN% rustc -Vv - rustup run %RUST_TOOLCHAIN% cargo -Vv - rustup run %RUST_TOOLCHAIN% cargo build artifacts: expire_in: 4 hours paths: - target/debug/ only: - master - develop tags: - rust - windows allow_failure: false test:windows:stable: stage: test variables: RUST_TOOLCHAIN: stable-x86_64-pc-windows-gnu script: - rustup update - rustup run %RUST_TOOLCHAIN% rustc -Vv - rustup run %RUST_TOOLCHAIN% cargo -Vv - rustup run %RUST_TOOLCHAIN% cargo test only: - master - develop tags: - rust - windows dependencies: - build:windows:stable allow_failure: false release:windows:stable: stage: release variables: RUST_TOOLCHAIN: stable-x86_64-pc-windows-gnu script: - rustup run %RUST_TOOLCHAIN% rustc -Vv - rustup run %RUST_TOOLCHAIN% cargo -Vv - rustup run %RUST_TOOLCHAIN% cargo build --release artifacts: expire_in: 4 weeks paths: - target/release/*.dll - target/release/pihash.exe only: - master - develop tags: - rust - windows allow_failure: false build:windows:nightly: stage: build variables: RUST_TOOLCHAIN: nightly-x86_64-pc-windows-gnu script: - rustup update - rustup run %RUST_TOOLCHAIN% rustc -Vv - rustup run %RUST_TOOLCHAIN% cargo -Vv - rustup run %RUST_TOOLCHAIN% cargo build artifacts: expire_in: 4 hours paths: - target/debug/ only: - develop tags: - rust - windows allow_failure: true test:windows:nightly: stage: test variables: RUST_TOOLCHAIN: nightly-x86_64-pc-windows-gnu script: - rustup update - rustup run %RUST_TOOLCHAIN% rustc -Vv - rustup run %RUST_TOOLCHAIN% cargo -Vv - rustup run %RUST_TOOLCHAIN% cargo test only: - develop tags: - rust - windows dependencies: - build:windows:nightly allow_failure: true release:windows:nightly: stage: release variables: RUST_TOOLCHAIN: nightly-x86_64-pc-windows-gnu script: - rustup run %RUST_TOOLCHAIN% rustc -Vv - rustup run %RUST_TOOLCHAIN% cargo -Vv - rustup run %RUST_TOOLCHAIN% cargo build --release artifacts: expire_in: 1 week paths: - target/release/*.dll - target/release/pihash.exe only: - develop tags: - rust - windows allow_failure: false