iri-string 0.5.0-beta.1

IRI as string types
Documentation
language: rust
cache: cargo
rust:
  - 1.58.0
  - stable
  - beta
env:
  - FEATURES=
  - FEATURES="--all-features"
jobs:
  include:
    - name: "Format"
      rust: 1.58.0
      before_install:
        - rustup component add rustfmt && cargo fmt --version
      script:
        # Fail if the code is not correctly formatted.
        - cargo fmt --all -- --check
    - name: "minimal versions, all features"
      rust: 1.58.0
      env: TEST_MINIMAL_VERSIONS=1 FEATURES="--all-features"
    - name: "stable, minimal features"
      rust: stable
      env: FEATURES="--no-default-features"
    - name: "stable, alloc"
      rust: stable
      env: FEATURES="--no-default-features --features=alloc"
    - name: "stable, serde"
      rust: stable
      env: FEATURES="--no-default-features --features=serde"
    - name: "stable, alloc+serde"
      rust: stable
      env: FEATURES="--no-default-features --features=serde-alloc"
    - name: "stable, memchr"
      rust: stable
      env: FEATURES="--no-default-features --features=memchr"
  exclude:
    # To reduce bulids, omit beta with only default features.
    - rust: beta
      env: FEATURES=
before_install:
  # For lint.
  - rustup component add clippy && cargo clippy --version
  # For minimal versions test.
  - |
    if [ "${TEST_MINIMAL_VERSIONS:-0}" -ne 0 ] ; then
        rustup install nightly
    fi
before_script:
  # Use dependencies with minimal versions.
  - |
    if [ "${TEST_MINIMAL_VERSIONS:-0}" -ne 0 ] ; then
        cargo +nightly update -Z minimal-versions
    fi
script:
  # Fail if the code has warnings.
  - cargo clippy ${FEATURES:-} -- --deny warnings
  # Compile and run tests.
  - cargo build --verbose --workspace ${FEATURES:-} && cargo test --verbose --workspace ${FEATURES:-}
notifications:
  email: false