turtle 1.0.0-rc.3

Learn the Rust language by creating animated drawings!
Documentation
# Starter pipeline
# Start with a minimal pipeline that you can customize to build and deploy your code.
# Add steps that build, run tests, deploy, and more:
# https://aka.ms/yaml

strategy:
  matrix:
    windows-stable:
      imageName: 'windows-latest'
      rustup_toolchain: stable
    windows-beta:
      imageName: 'windows-latest'
      rustup_toolchain: beta
    windows-nightly:
      imageName: 'windows-latest'
      rustup_toolchain: nightly

    mac-stable:
      imageName: 'macos-latest'
      rustup_toolchain: stable
    mac-beta:
      imageName: 'macos-latest'
      rustup_toolchain: beta
    mac-nightly:
      imageName: 'macos-latest'
      rustup_toolchain: nightly

    linux-stable:
      imageName: 'ubuntu-latest'
      rustup_toolchain: stable
    linux-beta:
      imageName: 'ubuntu-latest'
      rustup_toolchain: beta
    linux-nightly:
      imageName: 'ubuntu-latest'
      rustup_toolchain: nightly

pool:
  vmImage: $(imageName)

steps:
# Need to remove rust-toolchain or we will always use the version specified
# there regardless of what version is installed
# Also need to set the PATH environment variable
- script: |
    rm rust-toolchain
    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain $RUSTUP_TOOLCHAIN
    echo "##vso[task.setvariable variable=PATH;]$PATH:$HOME/.cargo/bin"
    source $HOME/.cargo/env
    rustc --version --verbose
  displayName: install
  condition: ne( variables['Agent.OS'], 'Windows_NT' )
- script: |
    rm rust-toolchain
    curl -sSf -o rustup-init.exe https://win.rustup.rs
    rustup-init.exe -y --default-toolchain %RUSTUP_TOOLCHAIN%
    echo "##vso[task.setvariable variable=PATH;]%PATH%;%USERPROFILE%\.cargo\bin"
    rustc --version --verbose
  displayName: install (windows)
  condition: eq( variables['Agent.OS'], 'Windows_NT' )

# -D warnings denies all warnings so that we always know when some code
# introduces new ones
- script: |
    rustc --version --verbose
    cargo build --verbose --all
    cargo test --verbose --all --features "test" --no-run
  env: { RUSTFLAGS: "-D warnings" }
  displayName: build

# Ensure that we can actually run without crashing on each supported platform
- script: |
    cargo run --verbose --example runtest
  displayName: "smoke test"
  enabled: false

- script: |
    cargo test --verbose --features "test" --all
  displayName: test

- script: |
    cargo doc --no-deps --verbose --all
  displayName: docs