name: build

on:
  push:
    branches: [ "master" ]
  pull_request:
    branches: [ "master" ]

env:
  CARGO_INCREMENTAL: 0
  CARGO_TERM_COLOR: always
  RUST_BACKTRACE: 1
  RUSTFLAGS: -D warnings
  RUSTDOCFLAGS: -D warnings

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    - name: Build
      run: cargo build --verbose
    - name: Run tests
      run: cargo test --verbose
    - name: Build docs
      run: cargo doc
    - name: Check formatting
      run: cargo fmt --check
    - name: Check clippy
      run: cargo clippy --lib --tests
  regen:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    - uses: actions/setup-python@v5
      with:
        python-version: '3.12'
    - name: Regen
      run: cd scripts && python3 unicode.py
    - name: Diff
      run: diff src/tables.rs scripts/tables.rs
