web-tools 0.2.3

Tools for the Web
Documentation
name: CI

on:
  push:
    branches:
      - main
  pull_request:
    branches:
      - main

jobs:
  check:

    runs-on: ubuntu-22.04
    strategy:
      matrix:
        toolchain:
          - stable
          # minimum version: because of "clap_lex"
          - "1.70"

    steps:

      - uses: actions/checkout@v4

      - name: Install Rust ${{ matrix.toolchain }}
        run: |
          rustup toolchain install ${{ matrix.toolchain }} --component rustfmt,clippy --target wasm32-unknown-unknown
          rustup default ${{ matrix.toolchain }}

      - uses: actions/cache@v3
        with:
          path: |
            ~/.cargo/registry/index/
            ~/.cargo/registry/cache/
            ~/.cargo/git/db/
            target/
          key: ${{ runner.os }}-cargo-${{ matrix.toolchain }}-${{ hashFiles('**/Cargo.toml') }}

      - name: Run cargo fmt
        run: |
          cargo fmt --all -- --check

      - name: Install binstall
        run: |
          curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash

      - name: Install cargo-all-features
        run: |
          cargo binstall -y cargo-all-features

      - name: Run cargo check
        run: |
          cargo check-all-features --target wasm32-unknown-unknown

      - name: Run cargo test
        run: |
          cargo test-all-features

      - name: Run cargo clippy
        run: |
          cargo clippy --target wasm32-unknown-unknown -- -D warnings

      - name: Run cargo clippy (all-features
        run: |
          cargo clippy --all-features --target wasm32-unknown-unknown -- -D warnings