Add 32-bit x86 compile test #12
This file contains hidden or 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
| # Benchmarks the current code against the previous release (latest vX.Y.Z tag) | |
| # on Linux, macOS and Windows. If the new code is more than 2% slower than the | |
| # previous release at any of the tested array sizes the job fails, which helps | |
| # detect performance regressions. | |
| name: benchmark | |
| # Run on every push, so any branch (including feature branches) is benchmarked. | |
| on: push | |
| jobs: | |
| benchmark: | |
| name: Benchmark vs. previous release (${{ matrix.os }}) | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, macos-latest, windows-latest] | |
| defaults: | |
| run: | |
| # Use bash on every OS (Git Bash on Windows) so the one script works | |
| # everywhere. The script relies only on POSIX tools (awk), not bc. | |
| shell: bash | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| # Fetch all history and tags so the script can build the previous | |
| # release from its git tag. | |
| fetch-depth: 0 | |
| - name: Install Rust nightly | |
| uses: dtolnay/rust-toolchain@nightly | |
| - name: Cache cargo registry and build artifacts | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Benchmark latest code vs. previous release | |
| run: ./scripts/benchmark-vs-prev-release.sh |