swash 0.2.7

Font introspection, complex text shaping and glyph rendering.
Documentation
name: CI

on:
  push:
    branches: [ main ]
  pull_request:

jobs:
  test:
    name: Test (${{ matrix.toolchain }}, ${{ matrix.os }})
    runs-on: ${{ matrix.os }}
    timeout-minutes: 60

    strategy:
      fail-fast: false
      matrix:
        toolchain: [stable, nightly]
        os: [windows-latest, ubuntu-latest, macos-latest]
      
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@master
        with:
          toolchain: ${{ matrix.toolchain }}
      - uses: Swatinem/rust-cache@v2
      - run: cargo test

  build-no-std:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@stable
        with:
          # Use a target without `std` to make sure we don't link to `std`
          targets: "x86_64-unknown-none,thumbv7m-none-eabi"
      - run: cargo build --target x86_64-unknown-none --no-default-features --features libm
      - run: cargo build --target x86_64-unknown-none --no-default-features --features libm,scale
      - run: cargo build --target x86_64-unknown-none --no-default-features --features libm,render
      - run: cargo build --target thumbv7m-none-eabi --no-default-features --features libm
      - run: cargo build --target thumbv7m-none-eabi --no-default-features --features libm,scale
      - run: cargo build --target thumbv7m-none-eabi --no-default-features --features libm,render

  miri:
    name: Miri
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@nightly
        with:
          components: miri
      - run: cargo miri test

  doc:
    name: cargo doc
    # NOTE: We don't have any platform specific docs in this workspace, so we only run on Ubuntu.
    #       If we get per-platform docs (win/macos/linux/wasm32/..) then doc jobs should match that.
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: install nightly toolchain
        uses: dtolnay/rust-toolchain@nightly

      # We test documentation using nightly to match docs.rs.
      - name: cargo doc
        run: cargo doc --workspace --all-features --no-deps --document-private-items
        env:
          RUSTDOCFLAGS: '--cfg docsrs -D warnings'

  # If this fails, consider changing your text or adding something to .typos.toml.
  typos:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: check typos
        uses: crate-ci/typos@v1.30.2