sm-ext 0.3.0

Helpers for writing SourceMod Extensions in Rust
Documentation
name: Continuous Integration

on: [push, pull_request]

jobs:
  ci:
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        name:
          - ubuntu-latest-stable
          - ubuntu-latest-nightly
          - windows-latest-stable
          - windows-latest-nightly
        include:
          - name: ubuntu-latest-stable
            os: ubuntu-latest
            rust: stable
            target: i686-unknown-linux-gnu
            rustflags: -D warnings
          - name: ubuntu-latest-nightly
            os: ubuntu-latest
            rust: nightly
            target: i686-unknown-linux-gnu
            rustflags: -D warnings
          - name: windows-latest-stable
            os: windows-latest
            rust: stable
            target: i686-pc-windows-msvc
            rustflags: -D warnings -C target-feature=+crt-static
          - name: windows-latest-nightly
            os: windows-latest
            rust: nightly
            target: i686-pc-windows-msvc
            rustflags: -D warnings -C target-feature=+crt-static

    steps:
      - uses: actions/checkout@v2
        
      - name: Install 32-bit support
        if: runner.os == 'Linux'
        run: |

          sudo dpkg --add-architecture i386
          sudo apt-get update
          sudo apt-get install -y g++-multilib

      - uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: ${{ matrix.rust }}
          target: ${{ matrix.target }}
          override: true
          components: rustfmt, clippy

      - uses: actions-rs/cargo@v1
        with:
          command: build
          args: --all --all-targets --target=${{ matrix.target }}
        env:
          RUSTFLAGS: ${{ matrix.rustflags }}

      - uses: actions-rs/cargo@v1
        with:
          command: fmt
          args: --all -- --check

      - uses: actions-rs/cargo@v1
        with:
          command: clippy
          args: --all --all-targets --target=${{ matrix.target }} -- -D warnings
        env:
          RUSTFLAGS: ${{ matrix.rustflags }}