[go: up one dir, main page]

toml-test 0.3.1

Verify Rust TOML parsers
Documentation
name: ci
on:
  pull_request:
    paths:
    - '**'
    - '!/*.md'
    - '!/docs/**'
    - "!/LICENSE-*"
  push:
    branches:
    - main
    paths:
    - '**'
    - '!/*.md'
    - '!/docs/**'
    - "!/LICENSE-*"
jobs:
  ci:
    name: CI
    needs: [smoke, test, msrv, docs, rustfmt, clippy]
    runs-on: ubuntu-latest
    steps:
      - name: Done
        run: exit 0
  smoke:
    name: Quick Check
    runs-on: ubuntu-latest
    steps:
    - name: Checkout repository
      uses: actions/checkout@v2
      with:
        submodules: recursive
    - name: Install Rust
      uses: actions-rs/toolchain@v1
      with:
        toolchain: stable
        profile: minimal
        override: true
    - uses: Swatinem/rust-cache@v1
    - name: Default features
      run: cargo check --workspace --all-targets
    - name: All features
      run: cargo check --workspace --all-targets --all-features
    - name: No-default features
      run: cargo check --workspace --all-targets --no-default-features
  test:
    name: Test
    needs: smoke
    strategy:
      matrix:
        os: ["ubuntu-latest", "windows-latest", "macos-latest"]
        rust: ["stable"]
    continue-on-error: ${{ matrix.rust != 'stable' }}
    runs-on: ${{ matrix.os }}
    steps:
    - name: Checkout repository
      uses: actions/checkout@v2
      with:
        submodules: recursive
    - name: Install Rust
      uses: actions-rs/toolchain@v1
      with:
        toolchain: ${{ matrix.rust }}
        profile: minimal
        override: true
    - uses: Swatinem/rust-cache@v1
    - name: Default features
      run: cargo test --workspace
    - name: All features
      run: cargo test --workspace --all-features
    - name: No-default features
      run: cargo test --workspace --no-default-features
  msrv:
    name: "Check MSRV: 1.54.0"
    needs: smoke
    runs-on: ubuntu-latest
    steps:
    - name: Checkout repository
      uses: actions/checkout@v2
      with:
        submodules: recursive
    - name: Install Rust
      uses: actions-rs/toolchain@v1
      with:
        toolchain: 1.54.0  # MSRV
        profile: minimal
        override: true
    - uses: Swatinem/rust-cache@v1
    - name: Default features
      run: cargo check --workspace --all-targets
    - name: All features
      run: cargo check --workspace --all-targets --all-features
    - name: No-default features
      run: cargo check --workspace --all-targets --no-default-features
  docs:
    name: Docs
    needs: smoke
    runs-on: ubuntu-latest
    steps:
    - name: Checkout repository
      uses: actions/checkout@v2
      with:
        submodules: recursive
    - name: Install Rust
      uses: actions-rs/toolchain@v1
      with:
        toolchain: stable
        profile: minimal
        override: true
    - uses: Swatinem/rust-cache@v1
    - name: Check documentation
      env:
        RUSTDOCFLAGS: -D warnings
      run: cargo doc --no-deps --document-private-items --workspace
  rustfmt:
    name: rustfmt
    runs-on: ubuntu-latest
    steps:
    - name: Checkout repository
      uses: actions/checkout@v2
      with:
        submodules: recursive
    - name: Install Rust
      uses: actions-rs/toolchain@v1
      with:
        toolchain: stable
        profile: minimal
        override: true
        components: rustfmt
    - uses: Swatinem/rust-cache@v1
    - name: Check formatting
      run: cargo fmt --all -- --check
  clippy:
    name: clippy
    runs-on: ubuntu-latest
    steps:
    - name: Checkout repository
      uses: actions/checkout@v2
      with:
        submodules: recursive
    - name: Install Rust
      uses: actions-rs/toolchain@v1
      with:
        toolchain: 1.54.0  # MSRV
        profile: minimal
        override: true
        components: clippy
    - uses: Swatinem/rust-cache@v1
    - uses: actions-rs/clippy-check@v1
      with:
        token: ${{ secrets.GITHUB_TOKEN }}
        args: --workspace --all-features --all-targets -- -D warnings