universal-config 0.5.1

A library to simplify reading configuration files from various file formats.
Documentation
name: Build

on:
  workflow_dispatch:
  push:
    branches: [ "master" ]
  pull_request:
    branches: [ "master" ]

env:
  CARGO_TERM_COLOR: always
  RUSTFLAGS: '-Dwarnings'

jobs:
  rustfmt:
    runs-on: ubuntu-latest
    name: 'Formatting'
    steps:
      - uses: actions/checkout@v4

      - name: Check formatting
        run: cargo fmt --check

  build:
    runs-on: ubuntu-latest
    name: 'Build & Test'
    steps:
      - uses: actions/checkout@v4

      - name: Build
        run: cargo build

      - name: Run tests
        uses: actions-rs/cargo@v1
        with:
          command: test


  check-no-features:
    runs-on: ubuntu-latest
    name: 'Check (No Features)'
    steps:
      - uses: actions/checkout@v4

      - name: Check
        run: cargo check --no-default-features


  check-feature:
    runs-on: ubuntu-latest
    name: 'Check'
    strategy:
      matrix:
        feature: [json, yaml, toml, corn, ron]

    steps:
      - uses: actions/checkout@v4

      - name: Check
        run: cargo check --no-default-features --features ${{ matrix.feature }}

  clippy:
    runs-on: ubuntu-latest
    name: 'Clippy'
    steps:
      - uses: actions/checkout@v4

      - name: Clippy
        run: cargo clippy --all-targets --all-features