maud/.travis.yml
2020-09-27 21:33:37 +10:00

55 lines
1.9 KiB
YAML

language: rust
rust: nightly
sudo: false
jobs:
include:
- name: "Main"
script:
- |
RUN_CLIPPY=true
rustup component add clippy --toolchain=nightly || RUN_CLIPPY=false
# As of right now, these need to be tested individually becuase `--workspace`
# (which is implied by `workspace = true`) cannot be used with `--features`
# This _may_ be resolved with the `--package` flag, however this requires
# opting in to a `-Z` unstable feature as of time of commit.
#
# Follow https://github.com/rust-lang/cargo/issues/5364 for updates.
- cargo test --manifest-path maud/Cargo.toml --features actix-web,iron,rocket
- cargo test --manifest-path maud_htmlescape/Cargo.toml
- cargo test --manifest-path maud_macros/Cargo.toml
- |
if $RUN_CLIPPY; then
CLIPPY_STATUS=0
for package in maud_htmlescape maud_macros maud; do
(cd $package && cargo clippy -- -D warnings) || CLIPPY_STATUS=$?
done
(exit $CLIPPY_STATUS)
fi
- name: "Unstable"
script:
- cargo test --all --all-features
- name: "Benchmarks"
script:
- (cd benchmarks && cargo test --benches --features unstable)
- name: "Documentation"
script:
- (cd docs && make -j$(nproc))
deploy:
provider: pages
skip_cleanup: true
github_token: $GITHUB_TOKEN
fqdn: maud.lambda.xyz
local_dir: docs/site
on:
branch: master
- name: "Format"
before_script:
- rustup component add rustfmt
script:
- cargo fmt -- --check
- (cd benchmarks && cargo fmt -- --check)
- (cd docs && cargo fmt -- --check)
# trybuild harnesses are technically not part of the Cargo project, so
# need to be checked separately
- rustfmt --check maud/tests/warnings/*.rs