Release shotover 0.6 (#1860) #3511
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
name: Windsock Benches | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
# Cancel already running jobs | |
concurrency: | |
group: windsock_benches_${{ github.head_ref }} | |
cancel-in-progress: true | |
env: | |
CARGO_TERM_COLOR: always | |
RUST_BACKTRACE: 1 | |
jobs: | |
windsock_benches: | |
name: "Windsock benches" | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
# this line means that only the main branch writes to the cache | |
# benefits: | |
# * prevents main branch caches from being evicted in favor of a PR cache | |
# * saves about 1min per workflow by skipping the actual cache write | |
# downsides: | |
# * PRs that update rust version or changes deps will be slow to iterate on due to changes not being cached. | |
save-if: ${{ github.ref == 'refs/heads/main' }} | |
- name: Ensure that custom benches run | |
run: | | |
# This isnt needed locally because we run profilers via sudo. | |
# But for some reason on CI even with sudo we didnt have access to perf events. | |
echo '1' | sudo tee /proc/sys/kernel/perf_event_paranoid | |
# run some extra cases that arent handled by nextest | |
cargo windsock local-run --bench-length-seconds 5 --operations-per-second 100 --profilers flamegraph db=cassandra,compression=none,connection_count=1,driver=scylla,operation=read_i64,protocol=v4,shotover=standard,topology=single | |
cargo windsock local-run --bench-length-seconds 5 --operations-per-second 100 --profilers samply db=cassandra,compression=none,connection_count=1,driver=scylla,operation=read_i64,protocol=v4,shotover=standard,topology=single | |
cargo windsock local-run --bench-length-seconds 5 --operations-per-second 100 --profilers sys_monitor db=kafka,shotover=standard,size=12B,topology=single | |
cargo windsock local-run --bench-length-seconds 5 --operations-per-second 100 --profilers shotover_metrics db=valkey,encryption=none,operation=get,shotover=standard,topology=single | |
- name: Ensure that tests did not create or modify any files that arent .gitignore'd | |
run: | | |
if [ -n "$(git status --porcelain)" ]; then | |
git status | |
exit 1 | |
fi |