name: Rust Benchmarks+Nyrkiö on: push: branches: [ "main", "master", "notmain" ] pull_request: branches: [ "main", "notmain", "master" ] env: CARGO_TERM_COLOR: never jobs: bench: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v4 with: node-version: 20 # cache: 'npm' # - name: Install dependencies # run: npm install && npm run build - name: Bench run: cargo bench 2>&1 | tee output.txt - name: Analyze benchmark result with Nyrkiö uses: nyrkio/change-detection@HEAD with: name: turso tool: criterion output-file-path: output.txt # What to do if a change is immediately detected by Nyrkiö. # Note that smaller changes are only detected with delay, usually after a change # persisted over 2-7 commits. Go to nyrkiö.com to view those or configure alerts. # Note that Nyrkiö will find all changes, also improvements. This means fail-on-alert # on pull events isn't compatible with this workflow being required to pass branch protection. fail-on-alert: false comment-on-alert: true comment-always: false # Nyrkiö configuration # Get yours from https://nyrkio.com/docs/getting-started nyrkio-token: ${{ secrets.NYRKIO_JWT_TOKEN }} # HTTP requests will fail for all non-core contributors that don't have their own token. # Don't want that to spoil the build, so: never-fail: true # Make results and change points public, so that any oss contributor can see them nyrkio-public: true # parameters of the algorithm. Note: These are global, so we only set them once and for all. # Smaller p-value = less change points found. Larger p-value = more, but also more false positives. nyrkio-settings-pvalue: 0.0001 # Ignore changes smaller than this. nyrkio-settings-threshold: 0% clickbench: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v4 with: node-version: 20 - name: Clickbench run: make clickbench - name: Analyze LIMBO result with Nyrkiö uses: nyrkio/change-detection@HEAD with: name: clickbench/limbo tool: time output-file-path: clickbench-limbo.txt # What to do if a change is immediately detected by Nyrkiö. # Note that smaller changes are only detected with delay, usually after a change # persisted over 2-7 commits. Go to nyrkiö.com to view those or configure alerts. # Note that Nyrkiö will find all changes, also improvements. This means fail-on-alert # on pull events isn't compatible with this workflow being required to pass branch protection. fail-on-alert: false comment-on-alert: true comment-always: false # Nyrkiö configuration # Get yours from https://nyrkio.com/docs/getting-started nyrkio-token: ${{ secrets.NYRKIO_JWT_TOKEN }} # HTTP requests will fail for all non-core contributors that don't have their own token. # Don't want that to spoil the build, so: never-fail: true # Make results and change points public, so that any oss contributor can see them nyrkio-public: true - name: Analyze SQLITE3 result with Nyrkiö uses: nyrkio/github-action-benchmark@HEAD with: name: clickbench/sqlite3 tool: time output-file-path: clickbench-sqlite3.txt fail-on-alert: false comment-on-alert: true comment-always: false nyrkio-token: ${{ secrets.NYRKIO_JWT_TOKEN }} never-fail: true nyrkio-public: true tpc-h: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: TPC-H run: ./perf/tpc-h/benchmark.sh