serenity 0.8.5

A Rust library for the Discord API.
Documentation
parameters:
  name: ''
  vmImage: ''
  toolchain: 'stable'
  features: 'all'

jobs:
- job: ${{ parameters.name }}
  pool:
    vmImage: ${{ parameters.vmImage }}
  variables:
    tc: ${{ parameters.toolchain }}
    os: ${{ parameters.vmImage }}
    features: ${{ parameters.features }}
  steps:
  - bash: |
      if [[ "$OS" == "macOS-latest" ]]; then
        HOMEBREW_NO_AUTO_UPDATE=1 brew install automake autoconf libtool libsodium pkg-config
      fi
      if [[ "$OS" == "ubuntu-latest" ]]; then
        sudo apt-get install -y libsodium-dev libssl-dev
      fi
    displayName: 'Install dependencies'

  - bash: |
      curl -o rustup-init.sh https://sh.rustup.rs -sSf
      sh rustup-init.sh --default-toolchain $(tc) -y
    displayName: 'Install Rust'

  - bash: |
      source $HOME/.cargo/env
      cd examples/01_basic_ping_bot
      CARGO_TARGET_DIR='..' cargo build
    displayName: 'Build example 1'

  - bash: |
      source $HOME/.cargo/env
      cd examples/02_transparent_guild_sharding
      CARGO_TARGET_DIR='..' cargo build
    displayName: 'Build example 2'

  - bash: |
      source $HOME/.cargo/env
      cd examples/03_struct_utilities
      CARGO_TARGET_DIR='..' cargo build
    displayName: 'Build example 3'

  - bash: |
      source $HOME/.cargo/env
      cd examples/04_message_builder
      CARGO_TARGET_DIR='..' cargo build
    displayName: 'Build example 4'

  - bash: |
      source $HOME/.cargo/env
      cd examples/05_command_framework
      CARGO_TARGET_DIR='..' cargo build
    displayName: 'Build example 5'

  - bash: |
      source $HOME/.cargo/env
      cd examples/06_voice
      CARGO_TARGET_DIR='..' cargo build
    displayName: 'Build example 6'

  - bash: |
      source $HOME/.cargo/env
      cd examples/07_sample_bot_structure
      CARGO_TARGET_DIR='..' cargo build
    displayName: 'Build example 7'

  - bash: |
      source $HOME/.cargo/env
      CARGO_TARGET_DIR='..' cd examples/08_env_logging
      cargo build
    displayName: 'Build example 8'

  - bash: |
      source $HOME/.cargo/env
      CARGO_TARGET_DIR='..' cd examples/09_shard_manager
      cargo build
    displayName: 'Build example 9'

  - bash: |
      source $HOME/.cargo/env
      CARGO_TARGET_DIR='..' cd examples/10_voice_receive
      cargo build
    displayName: 'Build example 10'

  - bash: |
      source $HOME/.cargo/env
      CARGO_TARGET_DIR='..' cd examples/11_crate_message_builder
      cargo build
    displayName: 'Build example 11'

  - bash: |
      source $HOME/.cargo/env
      CARGO_TARGET_DIR='..' cd examples/12_timing_and_events
      cargo build
    displayName: 'Build example 12'