1 | # Check that formatting is correct using nightly rust. |
2 | fmt_task: |
3 | container: |
4 | image: rustlang/rust:nightly |
5 | install_script: rustup component add rustfmt-preview |
6 | check_script: cargo fmt -- --check |
7 | |
8 | # Run clippy. |
9 | clippy_task: |
10 | container: |
11 | image: rust:latest |
12 | cargo_cache: |
13 | folder: $CARGO_HOME/registry |
14 | fingerprint_script: cat Cargo.lock |
15 | install_script: rustup component add clippy |
16 | check_script: cargo clippy |
17 | before_cache_script: rm -rf $CARGO_HOME/registry/index |
18 | |
19 | # Build and test. |
20 | test_task: |
21 | matrix: |
22 | - container: |
23 | image: rust:latest |
24 | - allow_failures: true |
25 | container: |
26 | image: rustlang/rust:nightly |
27 | cargo_cache: |
28 | folder: $CARGO_HOME/registry |
29 | fingerprint_script: cat Cargo.lock |
30 | build_script: cargo build |
31 | test_script: cargo test |
32 | before_cache_script: rm -rf $CARGO_HOME/registry/index |
33 | |
34 | # Publish Cargo releases |
35 | publish_task: |
36 | only_if: $CIRRUS_TAG != '' |
37 | depends_on: |
38 | - fmt |
39 | - clippy |
40 | - test |
41 | container: |
42 | image: rust:latest |
43 | env: |
44 | CARGO_TOKEN: ENCRYPTED[24c3996bcead2ad8411ef58926d1efd19a08dcdfd99dbf21f900155bd676908db322dec354b026f9ba3e5094e789c6d1] |
45 | cargo_cache: |
46 | folder: $CARGO_HOME/registry |
47 | fingerprint_script: cat Cargo.lock |
48 | publish_script: cargo publish --no-verify --token "$CARGO_TOKEN" |
49 | |
50 | # Build releases |
51 | tag_docker_builder: |
52 | only_if: $CIRRUS_TAG != '' |
53 | env: |
54 | DOCKER_USERNAME: ENCRYPTED[e27aa1f15f278868b84497fd0fbd007127251ed44de671de28cee8c0669ff5b886980a409da9bae8c5cff6dbe88fe289] |
55 | DOCKER_PASSWORD: ENCRYPTED[491d248564335b8760a65f9c69f970d3ba6bf9ba169f9e6f93836e8a7360d13f421afd4630f71d8981182da0bf26c2dd] |
56 | build_script: docker build --tag jasonwhite0/rudolfs:$CIRRUS_TAG --tag jasonwhite0/rudolfs:latest . |
57 | login_script: echo "$DOCKER_PASSWORD" | docker login --username "$DOCKER_USERNAME" --password-stdin |
58 | push_script: docker push jasonwhite0/rudolfs:$CIRRUS_TAG && docker push jasonwhite0/rudolfs:latest |
59 | |
60 | # Build the dockerfile, but don't publish it. |
61 | build_docker_builder: |
62 | only_if: $CIRRUS_TAG == '' |
63 | build_script: docker build . |