another-html-builder 0.2.0

Yet another html builder, focused on being a helper for creating elements, escaping attributes, escaping text, but not caring if the html structure is valid. It's up to the developer to test that.
Documentation
name: testing

on:
  merge_group:
    types: [checks_requested]
  workflow_call:
  push:
    branches:
      - main
  pull_request:
    # Only test PR if it changes something that's likely to affect the results, because
    # mutant tests can take a long time.
    paths:
      - ".github/workflows/mutants.yml"
      - "Cargo.*"
      - "src/**"

env:
  RUSTFLAGS: "-Dwarnings"

jobs:
  testing:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v4

      - name: install cargo toolchain
        uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          profile: minimal

      - name: prepare cache
        uses: actions/cache@v4
        with:
          path: |
            ~/.cargo/bin/
            ~/.cargo/registry/index/
            ~/.cargo/registry/cache/
            ~/.cargo/git/db/
            target/
          key: ${{ runner.os }}-testing-${{ hashFiles('**/Cargo.lock') }}

      - name: install cargo-llvm-cov
        uses: taiki-e/install-action@cargo-llvm-cov

      - name: run tests
        run: cargo llvm-cov --all-features --lcov --output-path lcov.info

      - name: upload coverage
        uses: codecov/codecov-action@v5
        with:
          files: lcov.info
          fail_ci_if_error: false
          token: ${{ secrets.CODECOV_TOKEN }}

  cargo-mutants:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: taiki-e/install-action@v2
        with:
          tool: cargo-mutants
      - run: cargo mutants -vV --in-place
      - uses: actions/upload-artifact@v4
        if: always()
        with:
          name: mutants-out
          path: mutants.out