# Check that formatting is correct using nightly rust. |
fmt_task: |
container: |
image: rustlang/rust:nightly |
install_script: rustup component add rustfmt-preview |
check_script: cargo fmt -- --check |
|
# Run clippy. |
clippy_task: |
container: |
image: rust:latest |
cargo_cache: |
folder: $CARGO_HOME/registry |
fingerprint_script: cat Cargo.lock |
install_script: rustup component add clippy |
check_script: cargo clippy |
before_cache_script: rm -rf $CARGO_HOME/registry/index |
|
# Build and test. |
test_task: |
matrix: |
- container: |
image: rust:latest |
- allow_failures: true |
container: |
image: rustlang/rust:nightly |
cargo_cache: |
folder: $CARGO_HOME/registry |
fingerprint_script: cat Cargo.lock |
build_script: cargo build |
test_script: cargo test |
before_cache_script: rm -rf $CARGO_HOME/registry/index |
|
# Publish Cargo releases |
publish_task: |
only_if: $CIRRUS_TAG != '' |
depends_on: |
- fmt |
- clippy |
- test |
container: |
image: rust:latest |
env: |
CARGO_TOKEN: ENCRYPTED[24c3996bcead2ad8411ef58926d1efd19a08dcdfd99dbf21f900155bd676908db322dec354b026f9ba3e5094e789c6d1] |
cargo_cache: |
folder: $CARGO_HOME/registry |
fingerprint_script: cat Cargo.lock |
publish_script: cargo publish --no-verify --token "$CARGO_TOKEN" |
|
# Build releases |
tag_docker_builder: |
only_if: $CIRRUS_TAG != '' |
env: |
DOCKER_USERNAME: ENCRYPTED[e27aa1f15f278868b84497fd0fbd007127251ed44de671de28cee8c0669ff5b886980a409da9bae8c5cff6dbe88fe289] |
DOCKER_PASSWORD: ENCRYPTED[491d248564335b8760a65f9c69f970d3ba6bf9ba169f9e6f93836e8a7360d13f421afd4630f71d8981182da0bf26c2dd] |
build_script: docker build --tag jasonwhite0/rudolfs:$CIRRUS_TAG --tag jasonwhite0/rudolfs:latest . |
login_script: echo "$DOCKER_PASSWORD" | docker login --username "$DOCKER_USERNAME" --password-stdin |
push_script: docker push jasonwhite0/rudolfs:$CIRRUS_TAG && docker push jasonwhite0/rudolfs:latest |
|
# Build the dockerfile, but don't publish it. |
build_docker_builder: |
only_if: $CIRRUS_TAG == '' |
build_script: docker build . |