52 lines
1.7 KiB
YAML
52 lines
1.7 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)
|