language: rust
rust:
- stable
- beta
- nightly
before_script:
- | ROOT_PACKAGE=swagger;
RUST_VERSION=$(cargo metadata --no-deps --format-version 1 | jq -er "[.packages[] | select(.name == \"$ROOT_PACKAGE\") | .version][0]");
(grep -q "## \[$RUST_VERSION\] -" CHANGELOG.md || (echo "Missing CHANGELOG entry for version $RUST_VERSION"; /bin/false)) &&
(grep -q "\[Unreleased\]: .*/$RUST_VERSION\.\.\.HEAD$" CHANGELOG.md || (echo "Unreleased tag in CHANGELOG footer not updated for version $RUST_VERSION"; /bin/false)) &&
(grep -q "\[$RUST_VERSION\]: .*\.\.\.$RUST_VERSION$" CHANGELOG.md || (echo "Missing tag for version $RUST_VERSION in CHANGELOG footer"; /bin/false)) &&
echo "CHANGELOG is up-to-date for version $RUST_VERSION."
matrix:
allow_failures:
- rust: nightly
include:
- rust: nightly-2018-03-07
before_script:
- cargo install clippy --vers 0.0.187
- cargo install rustfmt --vers 0.9.0 --force
script:
- cargo clippy -- -D warnings
- cargo fmt -- --write-mode diff