zepter 1.88.0

Analyze, Fix and Format features in your Rust workspace.
Documentation
name: Rust

concurrency:
  group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
  cancel-in-progress: true

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

env:
  CARGO_TERM_COLOR: always

jobs:
  build:
    runs-on: self-hosted

    steps:
    - uses: actions/checkout@v3
      with:
        fetch-depth: 1
    - uses: actions-rust-lang/setup-rust-toolchain@v1
      with:
        toolchain: 1.88
        components: rustfmt,clippy

    - name: Build
      run: |
        cargo build --all-targets --all-features --locked -q
        cargo build --all-targets --no-default-features --locked -q

    - name: Run Unit tests
      run: cargo test --locked -- --nocapture

    - name: Run UI tests
      run: cargo test --locked -- --nocapture --ignored

    - name: Clippy
      run: |
        cargo clippy --all-targets --all-features --tests -q
        cargo clippy --all-targets --no-default-features -q

    - name: Format
      run: |
        cargo +nightly fmt --all --check -- --config-path .config/rustfmt.toml