Skip to content

ci(release): measure every release and commit its benchmark figures - #9

Merged
maxgfr merged 1 commit into
mainfrom
ci-publish-bench
Sep 11, 2026
Merged

maxgfr merged 1 commit into
mainfrom
ci-publish-bench

Conversation

@maxgfr

@maxgfr maxgfr commented Sep 11, 2026

Copy link
Copy Markdown
Owner

Summary

The README speed table must only ever describe the version that ships. Until now bench/publish.py had to be run by hand after a release, so the table lagged one version behind (it currently says 0.5.1 on a 0.5.2 release).

  • The aarch64-apple-darwin build job runs bench/publish.py against the versioned release binary and uploads README.md, bench/results/content.json and bench/results/performance.json as a benchmarks artifact.
  • The publish job downloads that artifact into the working tree before npm run release; the two reports are added to the semantic-release git assets, so the release commit carries this version's figures and table.
  • The binaries download step is restricted to the target artifacts so the benchmark files do not land in dist/.

Docs updated accordingly. npm test 10/10, workflow YAML parses; the release run for this change is the end-to-end test.

The macOS arm64 build job runs bench/publish.py against the versioned
release binary and uploads the two reports and the rewritten README speed
table; the publish job takes them into the release commit. Every published
version ships with figures measured on the same class of machine, stamped
with its own version, and no older version's numbers survive a release.
@maxgfr
maxgfr merged commit f6f7af8 into main Sep 11, 2026
6 checks passed
@maxgfr
maxgfr deleted the ci-publish-bench branch September 11, 2026 12:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant