tempfile 3.6.0

A library for managing temporary files and directories.
Documentation
on:
  push:
    branches:
      - master
  pull_request:

name: CI
jobs:
  build_and_test:
    name: OS Test
    strategy:
      fail-fast: false
      matrix:
        rust-version:
          - nightly
          - stable
          - "1.48"
        os:
          - ubuntu-latest
          - windows-latest
          - macos-latest
    runs-on: ${{ matrix.os }}
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      - name: Install Rust
        uses: dtolnay/rust-toolchain@master
        with:
          toolchain: ${{ matrix.rust-version }}
      # Workaround link failures if XCode 14 is combined with Rust <= 1.53
      - name: Downgrade to XCode 13
        if: ${{ matrix.os == 'macos-latest' && matrix.rust-version == '1.48' }}
        uses: maxim-lobanov/setup-xcode@v1
        with:
          xcode-version: '13'
      - name: Build
        run: cargo build
      - name: Test
        run: cargo test
  wasi:
    name: WASI Test Build
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      - name: Install Rust
        uses: dtolnay/rust-toolchain@nightly
      - name: Install Cargo WASI
        run: cargo install cargo-wasi
      - name: Build
        run: cargo wasi build --features nightly
  wasm:
    name: WASM Test Build
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      - name: Install Rust
        uses: dtolnay/rust-toolchain@stable
        with:
          targets: wasm32-unknown-unknown
      - name: Build
        run: cargo build --target wasm32-unknown-unknown
  lint:
    name: Clippy and fmt
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      - name: Install Rust
        uses: dtolnay/rust-toolchain@stable
        with:
          components: clippy, rustfmt
      - name: Check formatting
        run: cargo fmt --check
      - name: Check for clippy lints
        run: cargo clippy