twitchchat 0.14.8

interface to the irc-side of twitch's chat system
name: Merge with master

on:
  push:
    branches:
      - master

jobs:
  linux:
    name: Linux
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        target:
          - x86_64-unknown-linux-gnu
          # no openssl in the base image
          # - i686-unknown-linux-gnu
          #
          # musl isn't supported yet https://github.com/briansmith/ring/issues/713
          # on the master branch this should not build rustls
          # - x86_64-unknown-linux-musl
          # - i686-unknown-linux-musl
        toolchain:
          - stable

    steps:
      - uses: actions/checkout@v2

      - name: Install toolchain
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: ${{ matrix.toolchain }}
          target: ${{ matrix.target }}
          override: true

      - name: Test no default features
        uses: actions-rs/cargo@v1
        with:
          command: test
          args: --verbose --target ${{ matrix.target }} --no-default-features

      - name: Test all features
        uses: actions-rs/cargo@v1
        with:
          command: test
          args: --verbose --target ${{ matrix.target }} --all-features

  # note, this does not test the openssl stuff on windows because its a pain
  windows:
    name: Windows
    runs-on: windows-latest
    strategy:
      fail-fast: false
      matrix:
        target:
          - x86_64-pc-windows-gnu
          - x86_64-pc-windows-msvc
          - i686-pc-windows-msvc
        toolchain:
          - stable
    steps:
      - uses: actions/checkout@v2

      - name: Install toolchain
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: ${{ matrix.toolchain }}
          target: ${{ matrix.target }}
          override: true

      - name: Test no default features
        uses: actions-rs/cargo@v1
        with:
          command: test
          args: --verbose --target ${{ matrix.target }} --no-default-features

      - name: Test all features
        uses: actions-rs/cargo@v1
        with:
          command: test
          # this is basically --all-features sans openssl.
          args: >

            --verbose --target ${{ matrix.target }} 
            --features async
            --features async-io
            --features async-std
            --features async-tls
            --features serde
            --features smol
            --features testing
            --features tokio
            --features tokio-native-tls
            --features native-tls
            --features tokio-rustls
            --features webpki-roots
            --features tokio-util

  macos:
    name: MacOS
    runs-on: macos-latest
    strategy:
      fail-fast: false
      matrix:
        target:
          - x86_64-apple-darwin
        toolchain:
          - stable

    steps:
      - uses: actions/checkout@v2

      - name: Install toolchain
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: ${{ matrix.toolchain }}
          target: ${{ matrix.target }}
          override: true

      - name: Test no default features
        uses: actions-rs/cargo@v1
        with:
          command: test
          args: --verbose --target ${{ matrix.target }} --no-default-features

      - name: Test all features
        uses: actions-rs/cargo@v1
        with:
          command: test
          args: --verbose --target ${{ matrix.target }} --all-features