ttrpc 0.9.0

A Rust version of ttrpc.
Documentation
name: BVT
on: [pull_request]
jobs:
  check:
    name: Check
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-latest, macos-latest, windows-latest]
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      - name: Check
        run: |
          make check-all

  make:
    name: Build
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-latest, macos-latest, windows-latest]
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      - name: Build
        run: |
          make
          make -C compiler
          make -C ttrpc-codegen
          make -C example build-examples
        # It's important for windows to fail correctly
        # https://github.com/actions/runner-images/issues/6668 
        shell: bash

  deny:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        checks:
          - advisories
          - bans sources

    # Prevent sudden announcement of a new advisory from failing ci:
    continue-on-error: ${{ matrix.checks == 'advisories' }}

    steps:
      - uses: actions/checkout@v3
      - uses: EmbarkStudios/cargo-deny-action@v2
        with:
          command: check ${{ matrix.checks }}