hyper-system-resolver 0.7.0

An advanced system resolver for use with hyper & hyper-util.
Documentation
name: code

on:
  pull_request:

defaults:
  run:
    shell: bash

jobs:
  test:
    name: ${{ matrix.platform.name }} / ${{ matrix.mode.name }} / ${{ matrix.featureset.name }}
    runs-on: ${{ matrix.platform.os }}
    strategy:
      matrix:
        platform:
          - name: Ubuntu
            os: ubuntu-latest
          - name: Windows
            os: windows-latest
          - name: macOS
            os: macos-latest

        mode:
          - name: clippy
            cargo-command: clippy
            cargo-args: --all-targets -- -D warnings
          - name: test
            cargo-command: test
            cargo-args: --verbose
          - name: build
            cargo-command: build
            cargo-args: --verbose

        featureset:
          - name: default features
            args: "" # trivial
          - name: builder only
            args: "--no-default-features --features builder"
          - name: no default features
            args: "--no-default-features"

      fail-fast: false
    steps:
      - name: Job config
        run: printf "%s\n" "$MATRIX_CONTEXT"
        env:
          MATRIX_CONTEXT: ${{ toJson(matrix) }}

      - name: Checkout
        uses: actions/checkout@v2

      - name: Install rust toolchain
        uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          components: rustfmt, clippy

      - name: Print build environment info
        run: |
          set -x
          cargo --version
          cargo clippy --version
          env

      - name: Run cargo ${{ matrix.mode.cargo-command }}
        uses: actions-rs/cargo@v1
        with:
          command: ${{ matrix.mode.cargo-command }}
          args: ${{matrix.featureset.args}} ${{ matrix.mode.cargo-args }}