Commit graph

35 commits

Author SHA1 Message Date
overlookmotel
1baf9c33d2
ci: run benchmarks on branches called bench-* (#2365)
I've recently switched over from hacking on a fork to working directly
on upstream, in order to be able to use Graphite.

One thing I miss now is ability to create branches and run CodSpeed on
them while developing. Compared to running benches locally, CodSpeed has
the advantage of giving you a visual history, showing how each commit
you push moves the dials.

This PR makes the benchmarks run for any branch named `bench-*`, in
order to enable this workflow on upstream, without having to open a
draft PR for every experiment.
2024-02-09 20:57:37 +08:00
Boshen
5d9b0f3312
ci: speed up benchmark build (#2343)
closes #2299

Managed to figure out what `cargo codspeed build` is doing :-)
2024-02-08 19:47:50 +08:00
Boshen
a928eeaff8
ci: skip benchmark for codegen 2024-02-06 22:55:52 +08:00
Boshen
601153fe8f
refactor(benchmark): use more complicated files (#1811)
closes #1806

---------

Co-authored-by: Dunqing <dengqing0821@gmail.com>
2023-12-25 17:27:02 +08:00
Boshen
161d206a81
ci: add debug symbols to benchmark (#1717) 2023-12-18 15:31:13 +08:00
dependabot[bot]
5e4bc65741
chore(deps): bump CodSpeedHQ/action from 1 to 2 (#1624)
Bumps [CodSpeedHQ/action](https://github.com/codspeedhq/action) from 1
to 2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/codspeedhq/action/releases">CodSpeedHQ/action's
releases</a>.</em></p>
<blockquote>
<h2>v2.0.0</h2>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/CodSpeedHQ/action/compare/v1...v2.0.0">https://github.com/CodSpeedHQ/action/compare/v1...v2.0.0</a></p>
<p>This major update greatly simplifies the action and moves all the
core logic to the <a
href="https://github.com/CodSpeedHQ/runner">https://github.com/CodSpeedHQ/runner</a>
repo.</p>
<p>Updating is as easy as changing <code>CodSpeedHQ/action@v1</code> to
<code>CodSpeedHQ/action@v2</code>.</p>
<h2>What's changed</h2>
<ul>
<li>feat: integrate the native runner with a composite action by <a
href="https://github.com/art049"><code>@​art049</code></a> and <a
href="https://github.com/adriencaccia"><code>@​adriencaccia</code></a>
in <a
href="https://redirect.github.com/CodSpeedHQ/action/pull/86">CodSpeedHQ/action#86</a></li>
</ul>
<h3>Breaking changes</h3>
<ul>
<li><code>upload_url</code> input is now <code>upload-url</code></li>
<li><code>pytest-codspeed</code> is no longer installed automatically by
this action</li>
</ul>
<h2>v1.8.1</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: update apt registry before installing valgrind by <a
href="https://github.com/adriencaccia"><code>@​adriencaccia</code></a>
in <a
href="https://redirect.github.com/CodSpeedHQ/action/pull/80">CodSpeedHQ/action#80</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/CodSpeedHQ/action/compare/v1.8.0...v1.8.1">https://github.com/CodSpeedHQ/action/compare/v1.8.0...v1.8.1</a></p>
<h2>v1.8.0</h2>
<h2>What's Changed</h2>
<h3>Added</h3>
<ul>
<li>Add the <code>working-directory</code> input parameter by <a
href="https://github.com/art049"><code>@​art049</code></a> in <a
href="https://redirect.github.com/CodSpeedHQ/action/pull/77">CodSpeedHQ/action#77</a></li>
</ul>
<h3>Internals</h3>
<ul>
<li>Update documentation examples by <a
href="https://github.com/adriencaccia"><code>@​adriencaccia</code></a>
in <a
href="https://redirect.github.com/CodSpeedHQ/action/pull/76">CodSpeedHQ/action#76</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/CodSpeedHQ/action/compare/v1.7.1...v1.8.0">https://github.com/CodSpeedHQ/action/compare/v1.7.1...v1.8.0</a></p>
<h2>v1.7.1</h2>
<h2>🎉 What's Changed</h2>
<ul>
<li>Prepare for release on GitHub Action Marketplace</li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/CodSpeedHQ/action/compare/v1.7.0...v1.7.1">https://github.com/CodSpeedHQ/action/compare/v1.7.0...v1.7.1</a></p>
<h2>v1.7.0</h2>
<h2>🎉 What's Changed</h2>
<ul>
<li>
<p>A <a href="https://github.com/CodSpeedHQ/valgrind-codspeed">fork of
valgrind</a> is now used, allowing us to <a
href="https://docs.codspeed.io/features/trace-generation/">generate
execution traces</a> with Node and Python.</p>
</li>
<li>
<p>V8 flags previously set as an environment variable
<code>CODSPEED_V8_FLAGS</code> are now handled directly by the
integration library and injected to Nodejs through our <a
href="https://github.com/CodSpeedHQ/action/blob/main/dist/bin/node">custom
node executable</a>.</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/CodSpeedHQ/action/blob/main/CHANGELOG.md">CodSpeedHQ/action's
changelog</a>.</em></p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="3cb272459e"><code>3cb2724</code></a>
Release v2.0.1 🚀</li>
<li><a
href="6790ba286f"><code>6790ba2</code></a>
feat: simplify action output</li>
<li><a
href="0c6eabe26d"><code>0c6eabe</code></a>
fix: quiet the codspeed-runner installation</li>
<li><a
href="4f1d7b4ec1"><code>4f1d7b4</code></a>
Release v2.0.0 🚀</li>
<li><a
href="de30d2b7e6"><code>de30d2b</code></a>
chore: use full version in script and stop relying on pnpm</li>
<li><a
href="5a53587953"><code>5a53587</code></a>
chore(ci): add multiline check</li>
<li><a
href="e2bcafd32c"><code>e2bcafd</code></a>
feat: integrate the native runner with a composite action</li>
<li><a
href="e8372ebb5f"><code>e8372eb</code></a>
chore: update readme with vitest</li>
<li>See full diff in <a
href="https://github.com/codspeedhq/action/compare/v1...v2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=CodSpeedHQ/action&package-manager=github_actions&previous-version=1&new-version=2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-04 15:26:27 +08:00
Boshen
3a00382d28
ci: add warmup strategy to benchmark ci cache 2023-11-29 15:45:09 +08:00
Boshen
ca87fcfff3
ci(benchmark): use moonrepo/setup-rust to speed up compilation by caching everything (#1568) 2023-11-28 16:03:18 +08:00
Boshen
a5734db437
ci: add timeout to benchmark 2023-11-16 10:54:38 +08:00
Boshen
540fa03ec0
feat(benchmark): add transformer benchmark (#919) 2023-09-16 17:09:27 +08:00
dependabot[bot]
5de4841a3e
chore(deps): bump actions/checkout from 3 to 4 (#894) 2023-09-11 18:52:08 +08:00
Boshen
1d03ec32ff
ci(benchmark): install toolchain first 2023-09-09 15:46:34 +08:00
Boshen
56aaf31fb1
refactor(benchmark): use codspeed for all benchmarks (#839) 2023-09-02 20:35:48 +08:00
dependabot[bot]
40d5f3b841
chore(deps): bump peter-evans/create-or-update-comment from 2 to 3 (#824)
Bumps
[peter-evans/create-or-update-comment](https://github.com/peter-evans/create-or-update-comment)
from 2 to 3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/peter-evans/create-or-update-comment/releases">peter-evans/create-or-update-comment's
releases</a>.</em></p>
<blockquote>
<h2>Create or Update Comment v3.0.0</h2>
<h2>What's new</h2>
<ul>
<li>Now supports replacing reactions on a comment by setting input
<code>reactions-edit-mode</code> to <code>replace</code>. The default
behaviour has not changed and will <code>append</code> reactions.</li>
<li>Chose how the action should append the comment body with input
<code>append-separator</code>. The default behaviour is to add a
<code>newline</code>. Other options are <code>space</code> and
<code>none</code>.</li>
<li><code>body-file</code> is deprecated in favour of
<code>body-path</code>. The behaviour is unchanged.</li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>v3 by <a
href="https://github.com/peter-evans"><code>@​peter-evans</code></a> in
<a
href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/161">peter-evans/create-or-update-comment#161</a></li>
<li>Update some links in the README by <a
href="https://github.com/Kurt-von-Laven"><code>@​Kurt-von-Laven</code></a>
in <a
href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/152">peter-evans/create-or-update-comment#152</a></li>
<li>9 dependency updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/Kurt-von-Laven"><code>@​Kurt-von-Laven</code></a>
made their first contribution in <a
href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/152">peter-evans/create-or-update-comment#152</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/peter-evans/create-or-update-comment/compare/v2.1.1...v3.0.0">https://github.com/peter-evans/create-or-update-comment/compare/v2.1.1...v3.0.0</a></p>
<h2>Create or Update Comment v2.1.1</h2>
<p>⚙️ Fixes the recent Json5 vulnerability.</p>
<h2>What's Changed</h2>
<ul>
<li>11 dependency updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/peter-evans/create-or-update-comment/compare/v2.1.0...v2.1.1">https://github.com/peter-evans/create-or-update-comment/compare/v2.1.0...v2.1.1</a></p>
<h2>Create or Update Comment v2.1.0</h2>
<p> Adds input <code>body-file</code>, the path to a file containing
the comment body.</p>
<h2>What's Changed</h2>
<ul>
<li>Replace set-output by <a
href="https://github.com/peter-evans"><code>@​peter-evans</code></a> in
<a
href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/130">peter-evans/create-or-update-comment#130</a></li>
<li>Bump chuhlomin/render-template from 1.5 to 1.6 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/132">peter-evans/create-or-update-comment#132</a></li>
<li>Support reading body from a file by <a
href="https://github.com/umanghome"><code>@​umanghome</code></a> in <a
href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/115">peter-evans/create-or-update-comment#115</a></li>
<li>Add input body-file by <a
href="https://github.com/peter-evans"><code>@​peter-evans</code></a> in
<a
href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/133">peter-evans/create-or-update-comment#133</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/umanghome"><code>@​umanghome</code></a>
made their first contribution in <a
href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/115">peter-evans/create-or-update-comment#115</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/peter-evans/create-or-update-comment/compare/v2.0.1...v2.1.0">https://github.com/peter-evans/create-or-update-comment/compare/v2.0.1...v2.1.0</a></p>
<h2>Create or Update Comment v2.0.1</h2>
<p>⚙️ Bumps <code>@actions/core</code> to transition away from <a
href="https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/">deprecated
runner commands</a>.</p>
<h2>What's Changed</h2>
<ul>
<li>Add workflow permissions by <a
href="https://github.com/peter-evans"><code>@​peter-evans</code></a> in
<a
href="https://redirect.github.com/peter-evans/create-or-update-comment/pull/120">peter-evans/create-or-update-comment#120</a></li>
<li>9 dependency updates by <a
href="https://github.com/github-actions"><code>@​github-actions</code></a>
and <a
href="https://github.com/dependabot">https://github.com/dependabot</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/peter-evans/create-or-update-comment/compare/v2.0.0...v2.0.1">https://github.com/peter-evans/create-or-update-comment/compare/v2.0.0...v2.0.1</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="c6c9a1a660"><code>c6c9a1a</code></a>
Update distribution (<a
href="https://redirect.github.com/peter-evans/create-or-update-comment/issues/210">#210</a>)</li>
<li><a
href="ce3fa353c4"><code>ce3fa35</code></a>
fix: truncate long comment bodies during comment update too (<a
href="https://redirect.github.com/peter-evans/create-or-update-comment/issues/205">#205</a>)</li>
<li><a
href="5825e577e3"><code>5825e57</code></a>
Bump eslint from 8.41.0 to 8.42.0 (<a
href="https://redirect.github.com/peter-evans/create-or-update-comment/issues/209">#209</a>)</li>
<li><a
href="507508615a"><code>5075086</code></a>
Bump <code>@​typescript-eslint/parser</code> from 5.59.8 to 5.59.9 (<a
href="https://redirect.github.com/peter-evans/create-or-update-comment/issues/208">#208</a>)</li>
<li><a
href="33041066d9"><code>3304106</code></a>
Bump <code>@​typescript-eslint/eslint-plugin</code> from 5.59.8 to
5.59.9 (<a
href="https://redirect.github.com/peter-evans/create-or-update-comment/issues/207">#207</a>)</li>
<li><a
href="84d3b35097"><code>84d3b35</code></a>
Bump eslint-plugin-github from 4.7.0 to 4.8.0 (<a
href="https://redirect.github.com/peter-evans/create-or-update-comment/issues/206">#206</a>)</li>
<li><a
href="542d5c2467"><code>542d5c2</code></a>
Bump <code>@​typescript-eslint/eslint-plugin</code> from 5.59.7 to
5.59.8 (<a
href="https://redirect.github.com/peter-evans/create-or-update-comment/issues/203">#203</a>)</li>
<li><a
href="580d37cf7c"><code>580d37c</code></a>
Bump <code>@​typescript-eslint/parser</code> from 5.59.7 to 5.59.8 (<a
href="https://redirect.github.com/peter-evans/create-or-update-comment/issues/204">#204</a>)</li>
<li><a
href="f8a0c20f69"><code>f8a0c20</code></a>
Bump <code>@​types/node</code> from 18.16.14 to 18.16.16 (<a
href="https://redirect.github.com/peter-evans/create-or-update-comment/issues/202">#202</a>)</li>
<li><a
href="6534843181"><code>6534843</code></a>
Bump <code>@​typescript-eslint/eslint-plugin</code> from 5.59.6 to
5.59.7 (<a
href="https://redirect.github.com/peter-evans/create-or-update-comment/issues/201">#201</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/peter-evans/create-or-update-comment/compare/v2...v3">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=peter-evans/create-or-update-comment&package-manager=github_actions&previous-version=2&new-version=3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-01 11:39:16 +08:00
Boshen
1a591c7a2d
ci: build benchmark binary separately for reducing total execution time (#789)
benchmark execution time reduced from 15 mins to 12 mins. Time reduction
should be more noticeable for large code changes which require longer
compile time.
2023-08-25 14:40:08 +08:00
Boshen
5baa9b9d45
ci: filter out more files that trigger the CI jobs 2023-08-08 14:13:39 +08:00
Boshen
b338f5f53d
ci: ignore more crates from when running benchmark 2023-07-27 18:11:37 +08:00
Boshen
789626e01c
perf(resolver): add file system cache (#547) 2023-07-14 16:02:13 +08:00
Boshen
21452162bc
ci: add resolver benchmark (#546) 2023-07-14 12:25:22 +08:00
Boshen
bad8bfcf16
ci: run conformance tests and bail if there are outdated snapshots (#444) 2023-06-14 21:44:10 +08:00
Boshen
a6b7c9a7e7
ci: add a separate cache factory for benchmark 2023-05-31 15:39:20 +08:00
Boshen
0de95b8111
ci: optimize cache for benchmark 2023-05-31 15:19:04 +08:00
Boshen
5c5459dc59
ci: only run ci when PR is opened or synchronized 2023-05-24 21:33:42 +08:00
Boshen
1d617e64ff
ci: sleep 15s before running the benchmark (#382) 2023-05-24 21:12:33 +08:00
Boshen
60485669bb
ci: cache release for benchmark, benchmark use fewer files (#345) 2023-05-10 22:13:11 +08:00
Boshen
fb6fdfa3ae
ci: remove unnecessary steps from benchmark 2023-05-08 22:42:32 +08:00
Boshen
6ec5b599b1
ci: remove caching benchmark files for now, need to properly set this up 2023-05-04 19:09:04 +08:00
Boshen
c6d70ba2a8
ci: run benchmark when Cargo.lock changes 2023-04-22 22:10:05 +08:00
Boshen
19d341c0ab
ci: remove CARGO_TERM_QUIET as it interferes with rust cache 2023-04-17 13:12:26 +08:00
Boshen
6c8f0449a3
ci: cache factory 2023-04-17 11:47:47 +08:00
Boshen
9cf24cea7d
ci(benchmark): cache benchmark files with libs.txt 2023-04-15 14:38:02 +08:00
Boshen
c35fb19f4f
ci: install minimal profile (#253)
rustup show always install the profiles set in rust-toolchain.toml,
I added an action to remove this line so we can install components selectively.

This should reduce Rust installation time, which can be significant on Windows.
2023-04-05 11:50:30 +08:00
Boshen
7fd213441c
ci: cache benchmark files (#250) 2023-04-04 17:18:58 +08:00
Boshen
f51c8135a3
ci: add cargo-llvm-lines (#226) 2023-03-30 10:20:36 +08:00
Boshen
f313aab48f
ci: rename yaml to yml 2023-03-29 22:07:22 +08:00
Renamed from .github/workflows/benchmark.yaml (Browse further)