Skip to content

Commit d321545

Browse files
committed
ci: breakdown benchmarks
1 parent d025e53 commit d321545

File tree

7 files changed

+428
-28
lines changed

7 files changed

+428
-28
lines changed

.github/workflows/benchmark.yml renamed to .github/workflows/benchmark_configuration.yml

Lines changed: 1 addition & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Benchmarks
1+
name: Benchmarks Configuration
22

33
on:
44
workflow_dispatch:
@@ -9,27 +9,15 @@ on:
99
- next
1010
paths:
1111
- 'Cargo.lock'
12-
- 'crates/**_analyze/**/*.rs'
13-
- 'crates/**_formatter/**/*.rs'
14-
- 'crates/**_parser/**/*.rs'
1512
- 'crates/biome_configuration/**/*.rs'
16-
- 'crates/biome_grit_patterns/**/*.rs'
17-
- 'crates/biome_module_graph/**/*.rs'
18-
- 'crates/biome_package/**/*.rs'
1913
- 'crates/biome_rowan/**/*.rs'
2014
push:
2115
branches:
2216
- main
2317
- next
2418
paths:
2519
- 'Cargo.lock'
26-
- 'crates/**_analyze/**/*.rs'
27-
- 'crates/**_formatter/**/*.rs'
28-
- 'crates/**_parser/**/*.rs'
2920
- 'crates/biome_configuration/**/*.rs'
30-
- 'crates/biome_grit_patterns/**/*.rs'
31-
- 'crates/biome_module_graph/**/*.rs'
32-
- 'crates/biome_package/**/*.rs'
3321
- 'crates/biome_rowan/**/*.rs'
3422

3523
env:
@@ -44,21 +32,6 @@ jobs:
4432
strategy:
4533
matrix:
4634
package:
47-
- biome_js_parser
48-
- biome_js_formatter
49-
- biome_js_analyze
50-
- biome_css_parser
51-
- biome_css_formatter
52-
- biome_css_analyze
53-
- biome_json_parser
54-
- biome_json_formatter
55-
- biome_json_analyze
56-
- biome_graphql_parser
57-
- biome_graphql_formatter
58-
- biome_html_parser
59-
- biome_html_formatter
60-
- biome_module_graph
61-
- biome_package
6235
- biome_configuration
6336

6437
steps:
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
name: Benchmarks CSS
2+
3+
on:
4+
workflow_dispatch:
5+
pull_request:
6+
types: [ opened, synchronize ]
7+
branches:
8+
- main
9+
- next
10+
paths:
11+
- 'Cargo.lock'
12+
- 'crates/biome_css_analyze/**/*.rs'
13+
- 'crates/biome_css_formatter/**/*.rs'
14+
- 'crates/biome_css_parser/**/*.rs'
15+
- 'crates/biome_css_*/**/*.rs'
16+
- 'crates/biome_rowan/**/*.rs'
17+
- 'crates/biome_parser/**/*.rs'
18+
push:
19+
branches:
20+
- main
21+
- next
22+
paths:
23+
- 'Cargo.lock'
24+
- 'crates/biome_css_analyze/**/*.rs'
25+
- 'crates/biome_css_formatter/**/*.rs'
26+
- 'crates/biome_css_parser/**/*.rs'
27+
- 'crates/biome_css_*/**/*.rs'
28+
- 'crates/biome_rowan/**/*.rs'
29+
- 'crates/biome_parser/**/*.rs'
30+
31+
env:
32+
RUST_LOG: info
33+
34+
jobs:
35+
bench:
36+
permissions:
37+
pull-requests: write
38+
name: Bench
39+
runs-on: depot-ubuntu-24.04-arm-16
40+
strategy:
41+
matrix:
42+
package:
43+
- biome_css_parser
44+
- biome_css_formatter
45+
- biome_css_analyze
46+
47+
steps:
48+
49+
- name: Checkout PR Branch
50+
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
51+
with:
52+
ref: ${{ steps.sha.outputs.result }}
53+
54+
- name: Install toolchain
55+
uses: moonrepo/setup-rust@ede6de059f8046a5e236c94046823e2af11ca670 # v1.2.2
56+
with:
57+
channel: stable
58+
cache-target: release
59+
bins: cargo-codspeed
60+
cache-base: main
61+
env:
62+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
63+
64+
- name: Compile
65+
timeout-minutes: 20
66+
run: cargo codspeed build -p ${{ matrix.package }}
67+
env:
68+
CARGO_BUILD_JOBS: 3 # Default is 4 (equals to the vCPU count of the runner), which leads OOM on cargo build
69+
70+
- name: Run the benchmarks
71+
uses: CodSpeedHQ/action@76578c2a7ddd928664caa737f0e962e3085d4e7c # v3.8.1
72+
timeout-minutes: 50
73+
with:
74+
run: cargo codspeed run
75+
token: ${{ secrets.CODSPEED_TOKEN }}
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
name: Benchmarks GraphQL
2+
3+
on:
4+
workflow_dispatch:
5+
pull_request:
6+
types: [ opened, synchronize ]
7+
branches:
8+
- main
9+
- next
10+
paths:
11+
- 'Cargo.lock'
12+
- 'crates/biome_graphql_formatter/**/*.rs'
13+
- 'crates/biome_graphql_parser/**/*.rs'
14+
- 'crates/biome_graphql_*/**/*.rs'
15+
- 'crates/biome_rowan/**/*.rs'
16+
- 'crates/biome_parser/**/*.rs'
17+
push:
18+
branches:
19+
- main
20+
- next
21+
paths:
22+
- 'Cargo.lock'
23+
- 'crates/biome_graphql_formatter/**/*.rs'
24+
- 'crates/biome_graphql_parser/**/*.rs'
25+
- 'crates/biome_graphql_*/**/*.rs'
26+
- 'crates/biome_rowan/**/*.rs'
27+
- 'crates/biome_parser/**/*.rs'
28+
29+
env:
30+
RUST_LOG: info
31+
32+
jobs:
33+
bench:
34+
permissions:
35+
pull-requests: write
36+
name: Bench
37+
runs-on: depot-ubuntu-24.04-arm-16
38+
strategy:
39+
matrix:
40+
package:
41+
- biome_graphql_parser
42+
- biome_graphql_formatter
43+
44+
steps:
45+
46+
- name: Checkout PR Branch
47+
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
48+
with:
49+
ref: ${{ steps.sha.outputs.result }}
50+
51+
- name: Install toolchain
52+
uses: moonrepo/setup-rust@ede6de059f8046a5e236c94046823e2af11ca670 # v1.2.2
53+
with:
54+
channel: stable
55+
cache-target: release
56+
bins: cargo-codspeed
57+
cache-base: main
58+
env:
59+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
60+
61+
- name: Compile
62+
timeout-minutes: 20
63+
run: cargo codspeed build -p ${{ matrix.package }}
64+
env:
65+
CARGO_BUILD_JOBS: 3 # Default is 4 (equals to the vCPU count of the runner), which leads OOM on cargo build
66+
67+
- name: Run the benchmarks
68+
uses: CodSpeedHQ/action@76578c2a7ddd928664caa737f0e962e3085d4e7c # v3.8.1
69+
timeout-minutes: 50
70+
with:
71+
run: cargo codspeed run
72+
token: ${{ secrets.CODSPEED_TOKEN }}

.github/workflows/benchmark_js.yml

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
name: Benchmarks JS
2+
3+
on:
4+
workflow_dispatch:
5+
pull_request:
6+
types: [ opened, synchronize ]
7+
branches:
8+
- main
9+
- next
10+
paths:
11+
- 'Cargo.lock'
12+
- 'crates/biome_js_analyze/**/*.rs'
13+
- 'crates/biome_js_formatter/**/*.rs'
14+
- 'crates/biome_js_parser/**/*.rs'
15+
- 'crates/biome_js_*/**/*.rs'
16+
- 'crates/biome_rowan/**/*.rs'
17+
- 'crates/biome_parser/**/*.rs'
18+
push:
19+
branches:
20+
- main
21+
- next
22+
paths:
23+
- 'Cargo.lock'
24+
- 'crates/biome_js_analyze/**/*.rs'
25+
- 'crates/biome_js_formatter/**/*.rs'
26+
- 'crates/biome_js_parser/**/*.rs'
27+
- 'crates/biome_js_*/**/*.rs'
28+
- 'crates/biome_rowan/**/*.rs'
29+
- 'crates/biome_parser/**/*.rs'
30+
31+
env:
32+
RUST_LOG: info
33+
34+
jobs:
35+
bench:
36+
permissions:
37+
pull-requests: write
38+
name: Bench
39+
runs-on: depot-ubuntu-24.04-arm-16
40+
strategy:
41+
matrix:
42+
package:
43+
- biome_js_parser
44+
- biome_js_formatter
45+
- biome_js_analyze
46+
47+
steps:
48+
49+
- name: Checkout PR Branch
50+
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
51+
with:
52+
ref: ${{ steps.sha.outputs.result }}
53+
54+
- name: Install toolchain
55+
uses: moonrepo/setup-rust@ede6de059f8046a5e236c94046823e2af11ca670 # v1.2.2
56+
with:
57+
channel: stable
58+
cache-target: release
59+
bins: cargo-codspeed
60+
cache-base: main
61+
env:
62+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
63+
64+
- name: Compile
65+
timeout-minutes: 20
66+
run: cargo codspeed build -p ${{ matrix.package }}
67+
env:
68+
CARGO_BUILD_JOBS: 3 # Default is 4 (equals to the vCPU count of the runner), which leads OOM on cargo build
69+
70+
- name: Run the benchmarks
71+
uses: CodSpeedHQ/action@76578c2a7ddd928664caa737f0e962e3085d4e7c # v3.8.1
72+
timeout-minutes: 50
73+
with:
74+
run: cargo codspeed run
75+
token: ${{ secrets.CODSPEED_TOKEN }}
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
name: Benchmarks JSON
2+
3+
on:
4+
workflow_dispatch:
5+
pull_request:
6+
types: [ opened, synchronize ]
7+
branches:
8+
- main
9+
- next
10+
paths:
11+
- 'Cargo.lock'
12+
- 'crates/biome_json_analyze/**/*.rs'
13+
- 'crates/biome_json_formatter/**/*.rs'
14+
- 'crates/biome_json_parser/**/*.rs'
15+
- 'crates/biome_json_*/**/*.rs'
16+
- 'crates/biome_rowan/**/*.rs'
17+
- 'crates/biome_parser/**/*.rs'
18+
push:
19+
branches:
20+
- main
21+
- next
22+
paths:
23+
- 'Cargo.lock'
24+
- 'crates/biome_json_analyze/**/*.rs'
25+
- 'crates/biome_json_formatter/**/*.rs'
26+
- 'crates/biome_json_parser/**/*.rs'
27+
- 'crates/biome_json_*/**/*.rs'
28+
- 'crates/biome_rowan/**/*.rs'
29+
- 'crates/biome_parser/**/*.rs'
30+
31+
env:
32+
RUST_LOG: info
33+
34+
jobs:
35+
bench:
36+
permissions:
37+
pull-requests: write
38+
name: Bench
39+
runs-on: depot-ubuntu-24.04-arm-16
40+
strategy:
41+
matrix:
42+
package:
43+
- biome_json_parser
44+
- biome_json_formatter
45+
- biome_json_analyze
46+
47+
steps:
48+
49+
- name: Checkout PR Branch
50+
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
51+
with:
52+
ref: ${{ steps.sha.outputs.result }}
53+
54+
- name: Install toolchain
55+
uses: moonrepo/setup-rust@ede6de059f8046a5e236c94046823e2af11ca670 # v1.2.2
56+
with:
57+
channel: stable
58+
cache-target: release
59+
bins: cargo-codspeed
60+
cache-base: main
61+
env:
62+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
63+
64+
- name: Compile
65+
timeout-minutes: 20
66+
run: cargo codspeed build -p ${{ matrix.package }}
67+
env:
68+
CARGO_BUILD_JOBS: 3 # Default is 4 (equals to the vCPU count of the runner), which leads OOM on cargo build
69+
70+
- name: Run the benchmarks
71+
uses: CodSpeedHQ/action@76578c2a7ddd928664caa737f0e962e3085d4e7c # v3.8.1
72+
timeout-minutes: 50
73+
with:
74+
run: cargo codspeed run
75+
token: ${{ secrets.CODSPEED_TOKEN }}

0 commit comments

Comments
 (0)