fastcgi-client 0.11.1

Fastcgi client implemented for Rust.
Documentation
# Copyright 2022 jmjoy
# 
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# 
#     http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

name: Rust

on:
  push:
    branches: [ master, develop ]
  pull_request:
    branches: [ "**" ]

env:
  CARGO_TERM_COLOR: always
  RUST_BACKTRACE: 1
  RUSTFLAGS: "-D warnings"

jobs:
  fmt:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout
      uses: actions/checkout@v2
      with:
        submodules: 'recursive'
    - name: Update rust
      run: rustup update
    - name: Setup nightly
      run: rustup toolchain install nightly --component rustfmt --allow-downgrade
    - name: Fmt
      run: cargo +nightly fmt --all -- --check

  rust:
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        include:
        - name: tokio
          features: runtime-tokio
        - name: smol
          features: runtime-smol
        - name: all
          features: runtime-tokio,runtime-smol,http
    steps:
    - name: Checkout
      uses: actions/checkout@v2
      with:
        submodules: 'recursive'
    - name: Update rust
      run: rustup update
    - name: Run php-fpm
      run: docker run -d --name php-fpm -v $PWD:$PWD -p 9000:9000 php:7.1.30-fpm -c /usr/local/etc/php/php.ini-development
    - name: Check (${{ matrix.name }})
      run: cargo check --release --no-default-features --features ${{ matrix.features }}
    - name: Clippy
      run: cargo clippy --release --no-default-features --features ${{ matrix.features }}
    - name: Test (${{ matrix.name }})
      run: cargo test --release --no-default-features --features ${{ matrix.features }}

  doc:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout
      uses: actions/checkout@v2
      with:
        submodules: 'recursive'
    - name: Update rust
      run: rustup update
    - name: Setup nightly
      run: rustup toolchain install nightly --allow-downgrade
    - name: Doc
      run: cargo +nightly rustdoc --release --all-features -- -D warnings --cfg docsrs