egglog 2.0.0

egglog is a language that combines the benefits of equality saturation and datalog. It can be used for analysis, optimization, and synthesis of programs. It is the successor to the popular rust library egg.
Documentation
name: Build

on:
  push:
    branches:
      - "main"
  pull_request:
  workflow_dispatch:
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - run: echo "CARGO_INCREMENTAL=0" >> "$GITHUB_ENV"
      - uses: actions/checkout@v3
      - uses: taiki-e/install-action@v2
        with:
          tool: nextest
          tool: cargo-insta
      - uses: Swatinem/rust-cache@v2
      - run: make test
  nits:
    runs-on: ubuntu-latest
    steps:
      - run: echo "CARGO_INCREMENTAL=0" >> "$GITHUB_ENV"
      - uses: actions/checkout@v3
      - uses: Swatinem/rust-cache@v2
      - run: make nits
  benchmark:
    runs-on: ${{ matrix.runner }}
    strategy:
      matrix:
        runner: [codspeed-macro, ubuntu-latest]
        benchmark:
          - math-microbenchmark
          - cykjson
          - eggcc-extraction
          - extract-vec-bench
          - herbie
          - python_array_optimize
          - repro-665-set-union
          - stresstest_large_expr
          - typeinfer
          - taylor51
    steps:
      - run: echo "CARGO_INCREMENTAL=0" >> "$GITHUB_ENV"
      - uses: actions/checkout@v4
      - uses: taiki-e/install-action@v2
        with:
          tool: cargo-codspeed@4.0.1
      - uses: Swatinem/rust-cache@v2
      - run: cargo codspeed build
      - uses: CodSpeedHQ/action@v4
        with:
          run: cargo codspeed run ${{ matrix.benchmark }}
          mode: ${{ matrix.runner == 'ubuntu-latest' && 'instrumentation' || 'walltime' }}
  wasm:
    runs-on: ubuntu-latest
    steps:
      - run: echo "CARGO_INCREMENTAL=0" >> "$GITHUB_ENV"
      - uses: actions/checkout@v4
      - uses: taiki-e/install-action@v2
        with:
          tool: wasm-pack
      - uses: Swatinem/rust-cache@v2
      - run: make test
        working-directory: wasm-example