feat: make all instructions and contents Eq and Hash #1201
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
on: | |
push: | |
branches: [main] | |
pull_request: | |
name: Benchmark | |
jobs: | |
benchmark: | |
name: Run benchmarks | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, windows-latest, macOS-latest] | |
rust: | |
- stable | |
steps: | |
# Some of the snapshots have long file paths, so we need to enable long file paths on Windows where the limit is 260 by default | |
- name: Allow Long File Paths | |
if: matrix.os == 'windows-latest' | |
run: | | |
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem /v LongPathsEnabled /t REG_DWORD /d 1 /f | |
# https://github.com/actions/checkout/issues/1285#issuecomment-2042579471 | |
git config --system core.longpaths true | |
- name: Checkout sources | |
uses: actions/checkout@v2 | |
with: | |
submodules: recursive | |
- name: Install toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: ${{ matrix.rust }} | |
override: true | |
- uses: Swatinem/rust-cache@v1 | |
- name: Download benchmark artifacts | |
uses: dawidd6/action-download-artifact@v2 | |
with: | |
workflow: bench.yml | |
name: benchmarks-${{ matrix.os }} | |
path: target/criterion | |
continue-on-error: true | |
- name: Run cargo benchmark | |
uses: actions-rs/cargo@v1 | |
with: | |
command: bench | |
args: --bench parser --bench simplification -- --warm-up-time=2 --measurement-time=3 --sample-size=500 --color=always | |
- name: Archive benchmark results | |
if: ${{ github.ref == 'refs/heads/main'}} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: benchmarks-${{ matrix.os }} | |
path: target/criterion | |