stages: - test - publish variables: CARGO_HOME: $CI_PROJECT_DIR/cargo test-default: stage: test image: msrd0/rust:alpine before_script: - cargo -V script: - cargo test --workspace --lib - cargo test --workspace --doc cache: paths: - cargo/ - target/ test-all: stage: test image: msrd0/rust:alpine-tarpaulin before_script: - apk add --no-cache bash curl - cargo -V script: - cargo test --workspace --all-features --doc - cargo tarpaulin --all --all-features --exclude-files 'cargo/*' --exclude-files 'example/*' --ignore-panics --ignore-tests --out Xml -v - wget -qO- https://codecov.io/bash | bash -s -- -y .codecov.yml -X gcov cache: paths: - cargo/ - target/ readme: stage: test image: msrd0/cargo-readme script: - cargo readme -r gotham_restful -t ../README.tpl >README.md.new - diff README.md README.md.new publish: stage: publish image: msrd0/rust:alpine before_script: - cargo -V - cargo login $CRATES_IO_TOKEN script: - cd gotham_restful_derive - cargo publish - sleep 10s - cd ../gotham_restful - cargo publish - cd .. only: - tags