mirror of
https://github.com/aljazceru/turso.git
synced 2026-01-05 09:14:24 +01:00
Merge 'Enable Nyrkiö on PRs and clickbench' from Henrik Ingo
- Rename push_only.yml workflow to rust_perf.yml - Move the 'bench' task from rust.yml to rust_perf.yml - More Nyrkio configuration options exposed: Team support (everyone in gh/tursodatabase can access Nyrkiö) Public results Alerting options: Comment on PR, if change detected, don't fail task - Add Nyrkio also to analyse results from the clickbench task Closes #959
This commit is contained in:
42
.github/workflows/push_only.yml
vendored
42
.github/workflows/push_only.yml
vendored
@@ -1,42 +0,0 @@
|
||||
name: Benchmarks+Nyrkiö
|
||||
|
||||
# Pull request support isn't integrated to the github-action-benchmark so run only post-merge
|
||||
on:
|
||||
push:
|
||||
branches: [ "main", "master", "notmain", "add-nyrkio" ]
|
||||
|
||||
env:
|
||||
CARGO_TERM_COLOR: never
|
||||
|
||||
jobs:
|
||||
bench:
|
||||
runs-on: ubuntu-latest
|
||||
environment: test
|
||||
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/github-action-benchmark@HEAD
|
||||
with:
|
||||
name: turso
|
||||
tool: criterion
|
||||
output-file-path: output.txt
|
||||
fail-on-alert: true
|
||||
# Nyrkiö configuration
|
||||
nyrkio-enable: true
|
||||
# Get yours from https://nyrkio.com/docs/getting-started
|
||||
nyrkio-token: ${{ secrets.NYRKIO_JWT_TOKEN }}
|
||||
|
||||
# Old way...
|
||||
# Explicitly set this to null. We don't want threshold based alerts today.
|
||||
external-data-json-path: null
|
||||
gh-repository: null
|
||||
13
.github/workflows/rust.yml
vendored
13
.github/workflows/rust.yml
vendored
@@ -64,13 +64,6 @@ jobs:
|
||||
run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
|
||||
- run: wasm-pack build --target nodejs bindings/wasm
|
||||
|
||||
bench:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Bench
|
||||
run: cargo bench
|
||||
|
||||
test-limbo:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
@@ -95,9 +88,3 @@ jobs:
|
||||
- name: Test
|
||||
run: SQLITE_EXEC="sqlite3" make test-compat
|
||||
|
||||
clickbench:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Clickbench
|
||||
run: make clickbench
|
||||
|
||||
179
.github/workflows/rust_perf.yml
vendored
Normal file
179
.github/workflows/rust_perf.yml
vendored
Normal file
@@ -0,0 +1,179 @@
|
||||
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
|
||||
environment: test
|
||||
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: Bench (fake)
|
||||
run: |
|
||||
pwd
|
||||
ls
|
||||
cp .github/data/limbo-cargo-output.txt output.txt
|
||||
|
||||
- name: Analyze benchmark result with Nyrkiö
|
||||
uses: nyrkio/github-action-benchmark@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
|
||||
nyrkio-enable: true
|
||||
# Get yours from https://nyrkio.com/docs/getting-started
|
||||
nyrkio-token: ${{ secrets.NYRKIO_JWT_TOKEN }}
|
||||
# You may not want share the NYRKIO_JWT_TOKEN token with pull requests, for example.
|
||||
# In that case this task would unnecessarily fail for random contributors. Don't want that:
|
||||
never-fail: true
|
||||
# Make results and change points public, so that any oss contributor can see them
|
||||
nyrkio-public: true
|
||||
|
||||
nyrkio-api-root: https://nyrkio.com/api/v0
|
||||
# Make results and change points public, so that any oss contributor can see them
|
||||
nyrkio-settings-pvalue: 0.01%
|
||||
nyrkio-settings-threshold: 2%
|
||||
|
||||
# Get yours from https://nyrkio.com/docs/getting-started
|
||||
nyrkio-token: ${{ secrets.NYRKIO_JWT_TOKEN }}
|
||||
nyrkio-settings-pvalue: 0.01%
|
||||
nyrkio-settings-threshold: 1%
|
||||
|
||||
# Old way...
|
||||
# Explicitly set this to null. We don't want threshold based alerts today.
|
||||
external-data-json-path: null
|
||||
gh-repository: null
|
||||
|
||||
clickbench:
|
||||
runs-on: ubuntu-latest
|
||||
environment: test
|
||||
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/github-action-benchmark@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
|
||||
nyrkio-enable: true
|
||||
# Get yours from https://nyrkio.com/docs/getting-started
|
||||
nyrkio-token: ${{ secrets.NYRKIO_JWT_TOKEN }}
|
||||
# You may not want share the NYRKIO_JWT_TOKEN token with pull requests, for example.
|
||||
# In that case this task would unnecessarily fail for random contributors. Don't want that:
|
||||
never-fail: true
|
||||
# Make results and change points public, so that any oss contributor can see them
|
||||
nyrkio-public: true
|
||||
# Team support = results are visible and manageable to everyone in the same Github org
|
||||
# nyrkio-org: tursodatabase
|
||||
|
||||
# Old way...
|
||||
# Explicitly set this to null. We don't want threshold based alerts today.
|
||||
external-data-json-path: null
|
||||
gh-repository: null
|
||||
|
||||
clickbench:
|
||||
runs-on: ubuntu-latest
|
||||
environment: test
|
||||
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/github-action-benchmark@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
|
||||
nyrkio-enable: true
|
||||
# Get yours from https://nyrkio.com/docs/getting-started
|
||||
nyrkio-token: ${{ secrets.NYRKIO_JWT_TOKEN }}
|
||||
# You may not want share the NYRKIO_JWT_TOKEN token with pull requests, for example.
|
||||
# In that case this task would unnecessarily fail for random contributors. Don't want that:
|
||||
never-fail: true
|
||||
# Make results and change points public, so that any oss contributor can see them
|
||||
nyrkio-public: true
|
||||
|
||||
nyrkio-api-root: https://nyrkio.com/api/v0
|
||||
# Team support = results are visible and manageable to everyone in the same Github org
|
||||
# nyrkio-org: tursodatabase
|
||||
|
||||
# Old way...
|
||||
# Explicitly set this to null. We don't want threshold based alerts today.
|
||||
external-data-json-path: null
|
||||
gh-repository: null
|
||||
|
||||
- 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-enable: true
|
||||
nyrkio-token: ${{ secrets.NYRKIO_JWT_TOKEN }}
|
||||
never-fail: true
|
||||
nyrkio-public: true
|
||||
nyrkio-api-root: https://nyrkio.com/api/v0
|
||||
# nyrkio-org: tursodatabase
|
||||
|
||||
external-data-json-path: null
|
||||
gh-repository: null
|
||||
|
||||
Reference in New Issue
Block a user