poco-scheme 0.0.1

A toy Scheme implementation
Documentation
language: rust
cache: cargo
rust:
  - 1.33.0 # `Result::transpose`
  - stable
  - beta
  - nightly
os: linux

# always test things that aren't pushes (like PRs)
# never test tags or pushes to non-master branches (wait for PR)
# https://github.com/travis-ci/travis-ci/issues/2200#issuecomment-441395545)
if: type != push OR (tag IS blank AND branch = master)

jobs:
  allow_failures:
    - rust: nightly
  fast_finish: true
  include:
    - stage: check # do a pre-screen to make sure this is even worth testing
      script: cargo check --all-targets
      rust: stable
    # We lint using rustfmt and clippy on beta, to future-proof
    - stage: lint
      name: "Rust: beta, rustfmt"
      rust: beta
      install:
        - rustup component add rustfmt
      script:
        - cargo fmt -v -- --check
    - name: "Rust: beta, clippy"
      rust: beta
      install:
        - rustup component add clippy
      script:
        - cargo clippy --all-features --all-targets -- -D warnings

stages:
  - check
  - test
  - lint