Skip to content

ci(deps): update bencherdev/bencher action to v0.6.14 - #768

Merged
stuebingerb merged 1 commit into
mainfrom
renovate/bencherdev-bencher-0.x
Oct 29, 2026
Merged

stuebingerb merged 1 commit into
mainfrom
renovate/bencherdev-bencher-0.x

Conversation

@renovate

@renovate renovate Bot commented Oct 28, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Type Update Change
bencherdev/bencher action patch v0.6.13 → v0.6.14

Release Notes

bencherdev/bencher

v0.6.14

Compare Source

  • Add --start-point-idempotency-key (or BENCHER_START_POINT_IDEMPOTENCY_KEY) to bencher run, bencher report create, and bencher branch update, so parallel jobs that reset a Branch with the same key share one Head; in GitHub Actions, bencher run defaults the key to the workflow run attempt
  • Fix concurrent runs on a Branch failing when they create the same Thresholds, such as parallel runs that clone Thresholds from a start point; the first run creates them and the rest use them
  • Add GET /v0/server/health, which checks that the API server runs and reaches its database
  • BREAKING CHANGE Remove GET /v0/projects. List an organization's projects with GET /v0/organizations/{organization}/projects, which bencher project list now calls with a required organization argument, and the MCP list_projects tool now takes an organization and asks an anonymous caller to sign in
  • Add --image-cache-size to runner up (or BENCHER_IMAGE_CACHE_SIZE), the bytes of Image config and layer blobs a Bare Metal Runner keeps across Jobs in blobs under its --state-dir, so a Job downloads only the blobs the Runner does not already hold, while its manifest still comes from the registry. Between Jobs the least recently used blobs are removed until the rest fit, a Runner given a size exits at startup if it cannot make the store its own, and without one the Runner keeps none
  • A Bare Metal Job whose image cannot be pulled or prepared now fails, even with --allow-failure, instead of completing with no results
  • A Bare Metal build time now covers the image's command alone, timed where the command runs, and no longer includes the image pull, unpack, and boot; only an iteration whose command succeeds reports one
  • Support Hyperfine 2 JSON output in the shell_hyperfine adapter (Thank you mrazauskas)
  • Fix a very large page query parameter returning the wrong page
  • BREAKING CHANGE Cap perf queries at 8 branches, testbeds, benchmarks, and measures each, and at 64 permutations and 64 lines; extra entries are ignored rather than refused
  • Add a plus_limit server config option for the daily metrics limit of organizations with a Bencher Plus plan
  • BREAKING CHANGE Cap a plot at 8 branches, testbeds, benchmarks, and measures each
  • Cap active Thresholds at 64 per Branch, Testbed, and Measure, and skip the Thresholds a report cannot create (over a cap or over the daily creation limit) instead of failing the report
  • BREAKING CHANGE The plus.litestream server config key is removed; use plus.disaster_recovery. A config that still uses plus.litestream is ignored and disaster recovery does not run at all: no restore at startup and no replication
  • BREAKING CHANGE The sftp disaster recovery replica scheme is removed; file and s3 remain
  • BREAKING CHANGE The on demand database backup is removed: POST /v0/server/backup, bencher server backup, and the database.data_store server config section
  • BREAKING CHANGE The container registry storage config moves from plus.registry.data_store (service: aws_s3, an S3 access point ARN) to plus.registry.storage (scheme: file | s3, a bucket plus optional endpoint, region, and path), and any S3-compatible object store now works. Stored keys and the local directory layout are unchanged for a plain prefix, so existing data is picked up as is; a path that began or ended with a slash is now normalized, and one containing a character the store percent-encodes is now encoded, so see the config reference before upgrading. A config that still carries data_store is ignored and the registry falls back to local files
  • BREAKING CHANGE A Bare Metal Runner that executes sandboxed Jobs must now run as root, where before it did not. Confining the Firecracker VMM requires privileges that enabling KVM does not grant: mknod to create the sandbox's /dev/kvm, chown to hand the guest images to the sandbox user, pivot_root, and setns to join an empty network namespace. A world-readable /dev/kvm is enough to use KVM unprivileged but not to build the sandbox around it. Start runner up as root, or as a service that starts it as root. If you cannot run as root, start the Runner with --danger-allow-no-sandbox and assign it only Specs with no Sandbox; be aware that this gives up the microVM itself and not just its confinement, so those Jobs execute directly on the host
  • Confine the Firecracker VMM on Bare Metal Runners with the Firecracker jailer: the VMM behind each sandboxed Job now runs in a chroot as a dedicated unprivileged user, in an empty network namespace, and is placed in its cgroup before it starts, so a VMM escape no longer lands as root on the Runner host holding the Runner key and every prior Job's work. The user defaults to 61016 and is settable with --jail-uid/--jail-gid, neither of which may be 0
  • Add --state-dir to the Runner (default /var/lib/bencher-runner), a persistent directory holding the chroot each sandboxed Job's VMM runs in. Before every sandboxed Job it is swept of anything a previous Runner left behind, since a Runner killed mid-Job cannot clean up after itself. A host runs one Runner at a time, whatever its state directory: a Runner started as root holds /run/bencher/runner.lock for as long as it runs, and a second one started as root exits at once with an error naming that lock; a Runner that is not root cannot open the lock and runs without it. When a Runner started as root comes up, and again before each sandboxed Job, it kills any process still running in a cgroup under /sys/fs/cgroup/bencher, such as the sandbox of a Runner killed mid-Job, whatever that Runner's state directory
  • BREAKING CHANGE Sandboxed Jobs on Bare Metal Runners now need Linux 5.14 or later and a writable cgroup v2 hierarchy on every host, a one-core host included: each sandboxed Job runs in its own cgroup under /sys/fs/cgroup/bencher, with the cpuset, memory, and pids controllers enabled, and the Runner kills a Job's processes, and anything a Runner left there, through that cgroup's cgroup.kill. On an older kernel a Runner exits at startup or, started with --danger-allow-no-sandbox, fails each sandboxed Job
  • Write Runner logs to stderr as JSON, and stop relaying a Job's output into runner up's log
  • BREAKING CHANGE Remove --grace-period from runner up and runner run, so a Runner started with it now fails to parse its arguments. A sandboxed Job's results now leave the guest on a drive the Runner reads only once the VM has powered off, so there is no grace period left to wait out: each sandboxed Job ends about a second sooner, a guest that powers off without its results fails the Job at once rather than at its timeout, and a guest still running at its timeout has a few more seconds to write its results and power off before it is killed
  • BREAKING CHANGE POST /v0/runners/{runner}/specs and bencher runner spec add now return the Runner, with its updated specs, instead of the Spec. Older CLI versions still add the Spec but cannot parse the new response, so update the CLI before using bencher runner spec add
  • Show a Runner's last heartbeat and its latest status (taking Jobs or paused, why it is paused, and its disk health) on the admin Runner endpoints and in bencher system runner view
  • Email server admins when a Runner's disk health changes or shows a new problem, when a Runner stays paused for more than 12 hours, and when it takes Jobs again
  • Pause a Bare Metal Runner between Jobs while an md RAID array on its host resyncs, recovers, checks, repairs, or reshapes: it takes no new Job until the sync is done and never stops a running one. Start runner up with --no-raid-pause to keep taking Jobs
  • Have a Bare Metal Runner take turns with host maintenance: it holds /run/bencher/job.lock through each Job, and pauses while another process holds the lock or a marker named /run/bencher/maintenance or /run/bencher/maintenance.<name> exists, so touch /run/bencher/maintenance drains it. runner run waits for the lock too. /run/bencher is now root's alone
  • Report a Bare Metal Runner's disk health with each ready and paused: its md arrays at every poll, and its NVMe drives' SMART / health logs at most hourly, which needs root
  • Record the project key that creates a Report, which the Report now names in project_key
  • Deleting a Project now requires the Maintainer role, which Organization Leaders and server admins hold
  • Add --threshold-metric and --threshold-parameters to bencher run and bencher report create to declare the metric and the parameters a Threshold checks
  • Add optional metrics, hidden, focus, and layout fields to plots, so a pinned plot keeps the metrics it draws, the lines it hides, the line it focuses, and how it lays out its measures; set them with POST /v0/projects/{project}/plots, and change them, or clear them with null, with PATCH /v0/projects/{project}/plots/{plot}
  • Filter the Reports list by adapter and alerts=active, and count each Report iteration's lines
  • Cap a project at 64 plots: POST /v0/projects/{project}/plots refuses another with a 400 until one is deleted
  • Add --bmf-version to bencher project update, so a server admin can move a Project to BMF version 1
  • BREAKING CHANGE Security fix for URL validation: a project URL must now use http or https, an existing project URL that does not is shown as plain text, and the Console no longer links to a URL with any other scheme
  • Security fix for the Console's embed snippet: it now escapes the project name and title
  • Add Bencher to the Claude connectors directory
  • Every Project, at either BMF version, now opens in the new Console at the Console's own paths: the classic Console's Project, Organization, and account pages are removed and their links redirect, and the public projects list is removed, with /perf redirecting to /explore

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot added the dependencies Pull requests that update a dependency file label Oct 28, 2026
@coderabbitai

coderabbitai Bot commented Oct 28, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Repository UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: c7a03764-610c-4350-b3a8-68776eda0228

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Oct 28, 2026 •

Copy link
Copy Markdown

🐰 Bencher Report

ProjectKGraphQL
Branchrenovate/bencherdev-bencher-0.x
Testbedubuntu-latest
Click to view all benchmark results
BenchmarkThroughputBenchmark Result
operations / second (ops/s)
(Result Δ%)
Lower Boundary
operations / second (ops/s)
(Limit %)
de.stuebingerb.kgraphql.FunctionExecutionBenchmark.benchmarkFunctionExecution📈 view plot
🚷 view threshold
8,428,907.64 ops/s
(+43.95%)Baseline: 5,855,605.54 ops/s
4,217,904.15 ops/s
(50.04%)
de.stuebingerb.kgraphql.ParallelExecutionBenchmark.queryBenchmark📈 view plot
🚷 view threshold
1.30 ops/s
(+0.45%)Baseline: 1.30 ops/s
1.30 ops/s
(99.28%)
de.stuebingerb.kgraphql.QueryBenchmark.executionError📈 view plot
🚷 view threshold
37,919.76 ops/s
(+96.54%)Baseline: 19,293.47 ops/s
8,571.85 ops/s
(22.61%)
de.stuebingerb.kgraphql.QueryBenchmark.inputFromDocument📈 view plot
🚷 view threshold
39,769.62 ops/s
(+66.62%)Baseline: 23,868.63 ops/s
11,991.27 ops/s
(30.15%)
de.stuebingerb.kgraphql.QueryBenchmark.inputFromVariable📈 view plot
🚷 view threshold
40,164.41 ops/s
(+73.30%)Baseline: 23,176.09 ops/s
11,637.54 ops/s
(28.97%)
de.stuebingerb.kgraphql.QueryBenchmark.largeList📈 view plot
🚷 view threshold
6.65 ops/s
(+41.44%)Baseline: 4.70 ops/s
3.56 ops/s
(53.50%)
de.stuebingerb.kgraphql.QueryBenchmark.largeListWithFragment📈 view plot
🚷 view threshold
7.47 ops/s
(+41.84%)Baseline: 5.27 ops/s
4.08 ops/s
(54.66%)
de.stuebingerb.kgraphql.QueryBenchmark.manyChildren📈 view plot
🚷 view threshold
317.72 ops/s
(+71.73%)Baseline: 185.01 ops/s
112.79 ops/s
(35.50%)
de.stuebingerb.kgraphql.QueryBenchmark.manyChildrenWithFragment📈 view plot
🚷 view threshold
321.16 ops/s
(+63.07%)Baseline: 196.94 ops/s
118.60 ops/s
(36.93%)
de.stuebingerb.kgraphql.QueryBenchmark.manyDataChildren📈 view plot
🚷 view threshold
9.31 ops/s
(+4.45%)Baseline: 8.91 ops/s
8.69 ops/s
(93.30%)
de.stuebingerb.kgraphql.QueryBenchmark.manyOperations📈 view plot
🚷 view threshold
509.74 ops/s
(+64.37%)Baseline: 310.11 ops/s
189.03 ops/s
(37.08%)
de.stuebingerb.kgraphql.QueryBenchmark.manyOperationsWithFragment📈 view plot
🚷 view threshold
523.47 ops/s
(+65.14%)Baseline: 316.98 ops/s
194.11 ops/s
(37.08%)
de.stuebingerb.kgraphql.QueryBenchmark.nestedObject📈 view plot
🚷 view threshold
14,477.07 ops/s
(+72.41%)Baseline: 8,396.70 ops/s
4,728.27 ops/s
(32.66%)
de.stuebingerb.kgraphql.RequestCachingBenchmark.invalidRequest📈 view plot
🚷 view threshold
247,686.26 ops/s
(+65.49%)Baseline: 149,672.90 ops/s
98,748.89 ops/s
(39.87%)
de.stuebingerb.kgraphql.RequestCachingBenchmark.largeRequest📈 view plot
🚷 view threshold
10,976.85 ops/s
(+25.70%)Baseline: 8,732.58 ops/s
4,849.52 ops/s
(44.18%)
de.stuebingerb.kgraphql.RequestCachingBenchmark.smallRequest📈 view plot
🚷 view threshold
21,726.71 ops/s
(+71.62%)Baseline: 12,659.96 ops/s
6,514.57 ops/s
(29.98%)
de.stuebingerb.kgraphql.SimpleExecutionOverheadBenchmark.benchmark📈 view plot
🚷 view threshold
914,529.10 ops/s
(+81.99%)Baseline: 502,515.35 ops/s
305,893.61 ops/s
(33.45%)
🐰 View full continuous benchmarking report in Bencher

@renovate
renovate Bot force-pushed the renovate/bencherdev-bencher-0.x branch from 65c1e34 to d6f926a Compare October 28, 2026 16:50
@stuebingerb
stuebingerb force-pushed the renovate/bencherdev-bencher-0.x branch from d6f926a to d464a10 Compare October 28, 2026 17:13
@renovate
renovate Bot force-pushed the renovate/bencherdev-bencher-0.x branch from d464a10 to 35b59e4 Compare October 28, 2026 17:13
@stuebingerb
stuebingerb merged commit 6a41cd9 into main Oct 29, 2026
12 of 13 checks passed
@stuebingerb
stuebingerb deleted the renovate/bencherdev-bencher-0.x branch October 29, 2026 08:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant