rayon-tlsctx 0.1.0

thread local contexts for rayon loops
Documentation
name: Build and test

on: [push, pull_request]

env:
  CARGO_TERM_COLOR: always

jobs:

  build:
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [macos-latest, ubuntu-latest, windows-latest]
    steps:
      - uses: actions/checkout@v2

      - name: Build
        run: cargo build --workspace --all-features --verbose

      - name: Build examples
        run: cargo build --workspace --all-features --examples --verbose

  build-cross-aarch64:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          target: aarch64-unknown-linux-gnu
          override: true
      - uses: actions-rs/cargo@v1
        with:
          use-cross: true
          command: build
          args: --target aarch64-unknown-linux-gnu --workspace --all-features --verbose

  test:
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [macos-latest, ubuntu-latest, windows-latest]
    steps:
      - uses: actions/checkout@v2

      - name: Pre-build binaries (for inventory integration tests)
        run: cargo build --workspace --all-features --verbose

      - name: Run all tests
        run: cargo test --workspace --all-features --verbose
        if: runner.os == 'Linux'

      - name: Run all tests
        run: cargo test --workspace --exclude memflow-derive --all-features --verbose
        if: runner.os != 'Linux'

  test-cross-aarch64:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          target: aarch64-unknown-linux-gnu
          override: true
      - name: Pre-build binaries (for inventory integration tests)
        uses: actions-rs/cargo@v1
        with:
          use-cross: true
          command: build
          args: --target aarch64-unknown-linux-gnu --workspace --all-features --verbose
      - name: Run all tests
        uses: actions-rs/cargo@v1
        with:
          use-cross: true
          command: test
          args: --target aarch64-unknown-linux-gnu --workspace --all-features --verbose

  lint:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - run: rustup component add clippy
      - name: Check formatting
        run: cargo fmt -- --check
      - uses: actions-rs/clippy-check@v1
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          args: --all-targets --all-features