name: Test
on:
push:
branches: [ "main" ]
pull_request:
env:
CARGO_TERM_COLOR: always
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: Swatinem/rust-cache@v2
- name: Cargo clippy
run: cargo clippy -- -D warnings
build:
strategy:
matrix:
os: [ ubuntu-latest, macos-latest ]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- uses: Swatinem/rust-cache@v2
- name: Cargo tests
run: cargo test --verbose
benchmark:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: "3.11"
- run: pipx install virtualenv
- uses: Swatinem/rust-cache@v2
- uses: taiki-e/install-action@v2
with:
tool: hyperfine@1
- name: benchmark.sh
run: bash benchmark.sh > $GITHUB_STEP_SUMMARY
compare-in-git:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: "3.11"
- run: pipx install virtualenv
- uses: Swatinem/rust-cache@v2
- name: Configure git
run: |
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
git config --global init.defaultBranch "main"
- name: compare_in_git.sh
run: bash compare_in_git.sh > $GITHUB_STEP_SUMMARY