emojis 0.8.2

✨ Lookup emoji in *O(1)* time, access metadata and GitHub shortcodes, iterate over all emoji, and more!
Documentation
name: build

on: [push, pull_request]

jobs:
  test:
    runs-on: ubuntu-latest

    env:
      RUSTFLAGS: --deny warnings

    strategy:
      matrix:
        toolchain: [stable, beta, nightly]

    steps:
    - uses: actions/checkout@v5

    - uses: dtolnay/rust-toolchain@master
      with:
        toolchain: ${{ matrix.toolchain }}
        components: clippy, rustfmt

    - name: Rustfmt
      run: cargo fmt -- --check

    - name: Clippy
      run: cargo clippy --workspace --all-targets --all-features

    - name: Test
      run: |
        cargo test --workspace --all-targets --all-features
        cargo test --workspace --doc --all-features

  msrv-check:
    runs-on: ubuntu-latest

    env:
      RUSTFLAGS: --deny warnings

    steps:
      - uses: actions/checkout@v5
      - uses: dtolnay/rust-toolchain@1.66

      - name: Test
        run: cargo check --all-features

  msrv-test:
    runs-on: ubuntu-latest

    env:
      RUSTFLAGS: --deny warnings

    steps:
      - uses: actions/checkout@v5
      - uses: dtolnay/rust-toolchain@1.85

      - name: Test
        run: cargo test --all-features

  generated:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v5
    - uses: dtolnay/rust-toolchain@stable

    - name: Check generated code is up to date
      run: |
        cargo run --package generate
        git diff --exit-code -- src/gen/

  readme:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v5
    - uses: dtolnay/rust-toolchain@stable

    - name: Install cargo-onedoc
      run: cargo install cargo-onedoc --locked

    - name: Check README
      run: cargo onedoc --check

  publish:
    needs: [generated, readme, test, msrv-check, msrv-test]
    if: startsWith(github.ref, 'refs/tags/')

    runs-on: ubuntu-latest

    permissions:
      id-token: write

    steps:
    - uses: actions/checkout@v5
    - uses: dtolnay/rust-toolchain@stable

    - name: Calculate version from tag
      id: version
      run: echo "value=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT

    - name: Check tag against package versions
      run: grep '^version = "${{ steps.version.outputs.value }}"$' Cargo.toml

    - uses: rust-lang/crates-io-auth-action@v1
      id: auth

    - name: Publish
      env:
        CARGO_REGISTRY_TOKEN: ${{ steps.auth.outputs.token }}
      run: cargo publish