filenamify 0.1.2

Convert a string to a valid filename
Documentation
name: CI
on:
  workflow_dispatch:
  pull_request:
    paths-ignore:
      - '.vscode'
      - '*.md'
  push:
    branches:
      - main
permissions:
  contents: write
  pull-requests: write
jobs:
  # format and lint check
  ci_style_check:
    name: Code Style Check
    runs-on: ubuntu-latest
    env:
      SCCACHE_GHA_ENABLED: true
      RUSTC_WRAPPER: sccache
    steps:
      - name: Checkout Source
        uses: actions/checkout@v4

      - name: Rust Setup
        uses: dtolnay/rust-toolchain@stable
        with:
          toolchain: stable
          components: clippy, rustfmt

      - name: Cache Setup
        uses: mozilla-actions/sccache-action@v0.0.5

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

      - name: Clippy Check
        run: cargo clippy

  # tests and build
  ci_test_build:
    name: Test Build
    needs: ci_style_check
    runs-on: ubuntu-latest
    env:
      SCCACHE_GHA_ENABLED: true
      RUSTC_WRAPPER: sccache
    steps:
      - name: Checkout Source
        uses: actions/checkout@v4

      - name: Rust Setup
        uses: dtolnay/rust-toolchain@stable
        with:
          toolchain: stable
          target: x86_64-unknown-linux-gnu

      - name: Cache Setup
        uses: mozilla-actions/sccache-action@v0.0.5

      - name: Tests Check
        run: cargo test --workspace

      - name: Dev Build
        run: cargo build --locked