Skip to content

test(config): Fix flaky notify watcher tests - #1112

Merged
gtema merged 1 commit into
mainfrom
flaky
Jul 28, 2026
Merged

test(config): Fix flaky notify watcher tests#1112
gtema merged 1 commit into
mainfrom
flaky

Conversation

@gtema

@gtema gtema commented Jul 28, 2026

Copy link
Copy Markdown
Collaborator

ConfigManager.spawn_watch_loop() uses a biased select! with
sync_rx.recv() before shutdown.cancelled(). When parallel config tests
create temp files in sibling parent directories, inotify fires
cross-directory modification events that queue into sync_rx. Each event
triggers a 500ms debounce sleep, and the biased select! delays shutdown
or renewal indefinitely.

Change both tests to #[serial] to isolate their notify watchers from
other config tests. Add sleep(100ms) after ConfigManager.watched() so
the spawned task has multiple scheduling chances to enter its select!
and arm the vault_tick deadline. Wrap shutdown() in a timeout to fail
fast if the task still hangs.

Signed-off-by: Artem Goncharov artem.goncharov@gmail.com

ConfigManager.spawn_watch_loop() uses a biased select! with
sync_rx.recv() before shutdown.cancelled(). When parallel config tests
create temp files in sibling parent directories, inotify fires
cross-directory modification events that queue into sync_rx. Each event
triggers a 500ms debounce sleep, and the biased select! delays shutdown
or renewal indefinitely.

Change both tests to #[serial] to isolate their notify watchers from
other config tests. Add sleep(100ms) after ConfigManager.watched() so
the spawned task has multiple scheduling chances to enter its select!
and arm the vault_tick deadline. Wrap shutdown() in a timeout to fail
fast if the task still hangs.

Signed-off-by: Artem Goncharov <artem.goncharov@gmail.com>
@gtema
gtema enabled auto-merge July 28, 2026 13:23
@github-actions

Copy link
Copy Markdown

🦢 Load Test Results

Goose Attack Report

Plan Overview

Action Started Stopped Elapsed Users
Increasing 26-07-28 13:32:22 26-07-28 13:32:38 00:00:16 0 → 30
Maintaining 26-07-28 13:32:38 26-07-28 13:33:09 00:00:31 30
Decreasing 26-07-28 13:33:09 26-07-28 13:33:09 00:00:00 0 ← 30

Request Metrics

Method Name # Requests # Fails Average (ms) Min (ms) Max (ms) RPS Failures/s
DELETE DELETE /v3/auth/tokens 480 0 113.85 9 163 16.00 0.00
DELETE DELETE /v3/projects/:id (teardown) 2 0 43.50 41 46 0.07 0.00
DELETE DELETE /v3/users/:id (teardown) 3 0 50.33 41 65 0.10 0.00
GET 4339 0 107.83 75 214 144.63 0.00
GET GET /v3/auth/tokens (validate new) 477 0 113.50 40 150 15.90 0.00
GET GET /v3/projects/:id 645 0 93.07 83 138 21.50 0.00
GET GET /v3/projects/:id (catalog) 643 0 93.23 86 132 21.43 0.00
GET GET /v3/users/:id 965 0 93.34 84 127 32.17 0.00
GET GET /v3/users/:id (catalog) 780 0 93.09 85 120 26.00 0.00
POST POST /v3/auth/tokens 476 0 87.25 76 118 15.87 0.00
Aggregated 8810 0 102.28 9 214 293.67 0.00

Response Time Metrics

Method Name 50%ile (ms) 60%ile (ms) 70%ile (ms) 80%ile (ms) 90%ile (ms) 95%ile (ms) 99%ile (ms) 100%ile (ms)
DELETE DELETE /v3/auth/tokens 110 110 120 120 120 120 140 160
DELETE DELETE /v3/projects/:id (teardown) 41 41 41 46 46 46 46 46
DELETE DELETE /v3/users/:id (teardown) 45 45 45 45 65 65 65 65
GET 97 98 100 100 170 170 180 210
GET GET /v3/auth/tokens (validate new) 110 110 120 120 120 120 130 150
GET GET /v3/projects/:id 92 93 94 95 97 99 110 138
GET GET /v3/projects/:id (catalog) 93 93 94 95 97 99 110 130
GET GET /v3/users/:id 93 93 94 96 97 100 110 127
GET GET /v3/users/:id (catalog) 92 93 94 95 97 100 110 120
POST POST /v3/auth/tokens 87 87 88 89 91 93 97 118
Aggregated 95 97 99 110 120 170 180 210

Status Code Metrics

Method Name Status Codes
DELETE DELETE /v3/auth/tokens 480 [204]
DELETE DELETE /v3/projects/:id (teardown) 2 [204]
DELETE DELETE /v3/users/:id (teardown) 3 [204]
GET 4,339 [200]
GET GET /v3/auth/tokens (validate new) 477 [200]
GET GET /v3/projects/:id 645 [200]
GET GET /v3/projects/:id (catalog) 643 [200]
GET GET /v3/users/:id 965 [200]
GET GET /v3/users/:id (catalog) 780 [200]
POST POST /v3/auth/tokens 476 [201]
Aggregated 7,849 [200], 485 [204], 476 [201]

Transaction Metrics

Transaction # Times Run # Fails Average (ms) Min (ms) Max (ms) RPS Failures/s
ReadHeavy
0.0 1 0 25.00 25 25 0.03 0.00
0.1 735 0 99.33 93 129 24.50 0.00
0.2 735 0 93.19 84 120 24.50 0.00
0.3 734 0 93.11 79 125 24.47 0.00
TokenLifecycle
1.0 0 0 0.00 0 0 0.00 0.00
1.1 480 0 315.71 126 363 16.00 0.00
ValidateToken
2.0 0 0 0.00 0 0 0.00 0.00
2.1 711 0 169.66 132 214 23.70 0.00
UserCRUD
3.0 0 0 0.00 0 0 0.00 0.00
3.1 0 0 0.00 0 0 0.00 0.00
3.2 965 0 93.37 85 127 32.17 0.00
3.3 3 0 50.33 41 65 0.10 0.00
ProjectCRUD
4.0 0 0 0.00 0 0 0.00 0.00
4.1 0 0 0.00 0 0 0.00 0.00
4.2 645 0 93.11 83 138 21.50 0.00
4.3 2 0 43.50 41 46 0.07 0.00
UserRead
5.0 0 0 0.00 0 0 0.00 0.00
5.1 780 0 99.43 81 146 26.00 0.00
5.2 780 0 93.13 85 121 26.00 0.00
ProjectRead
6.0 0 0 0.00 0 0 0.00 0.00
6.1 644 0 93.19 75 128 21.47 0.00
6.2 643 0 93.29 86 132 21.43 0.00
Aggregated 7858 0 114.67 25 363 261.93 0.00

Scenario Metrics

Transaction # Users # Times Run Average (ms) Min (ms) Max (ms) Scenarios/s Iterations
ReadHeavy 7 732 286.66 273 341 24.40 104.57
TokenLifecycle 5 475 316.40 301 363 15.83 95.00
ValidateToken 4 707 169.82 158 214 23.57 176.75
UserCRUD 3 962 93.39 85 127 32.07 320.67
ProjectCRUD 2 643 93.14 86 138 21.43 321.50
UserRead 5 777 193.10 181 240 25.90 155.40
ProjectRead 4 642 187.09 175 233 21.40 160.50
Aggregated 30 4938 182.27 85 363 164.60 1334.39

View full report

@gtema
gtema added this pull request to the merge queue Jul 28, 2026
@github-actions

Copy link
Copy Markdown

🧪 Tempest Identity Compatibility Results (advisory, non-blocking)

rust

Totals
======
Ran: 133 tests in 33.2728 sec.
 - Passed: 63
 - Skipped: 4
 - Expected Fail: 0
 - Unexpected Success: 0
 - Failed: 66
Sum of execute time for each test: 23.0612 sec.
Failed test IDs
===== FAILED TESTS (target=rust) =====
tempest.api.identity.admin.v3.test_application_credentials.ApplicationCredentialsV3AdminTest.test_create_application_credential_with_roles[id-3b3dd48f-3388-406a-a9e6-4d078a552d0e]
tempest.api.identity.admin.v3.test_credentials.CredentialsTestJSON.test_credentials_create_get_update_delete[id-7cd59bf9-bda4-4c72-9467-d21cab278355,smoke]
tempest.api.identity.admin.v3.test_default_project_id.TestDefaultProjectId.test_default_project_id[id-d6110661-6a71-49a7-a453-b5e26640ff6d]
setUpClass (tempest.api.identity.admin.v3.test_endpoint_groups.EndPointGroupsTest)
tempest.api.identity.admin.v3.test_domain_configuration.DomainConfigurationTestJSON.test_create_domain_config_and_show_config_groups_and_options[id-9e3ff13c-f597-4f01-9377-d6c06c2a1477]
tempest.api.identity.admin.v3.test_domain_configuration.DomainConfigurationTestJSON.test_create_update_and_delete_domain_config[id-7161023e-5dd0-4612-9da0-1bac6ac30b63]
tempest.api.identity.admin.v3.test_domain_configuration.DomainConfigurationTestJSON.test_create_update_and_delete_domain_config_groups_and_opts[id-c7510fa2-6661-4170-9c6b-4783a80651e9]
tempest.api.identity.admin.v3.test_domain_configuration.DomainConfigurationTestJSON.test_show_default_group_config_and_options[id-11a02bf0-6f94-4380-b3b0-c8dc18fc0d22]
tempest.api.identity.admin.v3.test_oauth_consumers.OAUTHConsumersV3Test.test_create_and_show_consumer[id-c8307ea6-a86c-47fd-ae7b-5b3b2caca76d]
tempest.api.identity.admin.v3.test_oauth_consumers.OAUTHConsumersV3Test.test_delete_consumer[id-fdfa1b7f-2a31-4354-b2c7-f6ae20554f93]
tempest.api.identity.admin.v3.test_oauth_consumers.OAUTHConsumersV3Test.test_list_consumers[id-09ca50de-78f2-4ffb-ac71-f2254036b2b8]
tempest.api.identity.admin.v3.test_oauth_consumers.OAUTHConsumersV3Test.test_update_consumer[id-080a9b1a-c009-47c0-9979-5305bf72e3dc]
tempest.api.identity.admin.v3.test_domains.DomainsTestJSON.test_create_domain_without_description[id-2abf8764-309a-4fa9-bc58-201b799817ad]
tempest.api.identity.admin.v3.test_domains.DomainsTestJSON.test_create_update_delete_domain[id-f2f5b44a-82e8-4dad-8084-0661ea3b18cf,smoke]
tempest.api.identity.admin.v3.test_domains.DomainsTestJSON.test_domain_delete_cascades_content[id-d8d318b7-d1b3-4c37-94c5-3c5ba0b121ea]
tempest.api.identity.admin.v3.test_domains.DomainsTestJSON.test_list_domains_filter_by_enabled[id-3fd19840-65c1-43f8-b48c-51bdd066dff9]
tempest.api.identity.admin.v3.test_domains_negative.DomainsNegativeTestJSON.test_create_domain_with_name_length_over_64[id-37b1bbf2-d664-4785-9a11-333438586eae,negative]
tempest.api.identity.admin.v3.test_inherits.InheritsV3TestJSON.test_inherit_assign_check_revoke_roles_on_projects_group[id-26021436-d5a4-4256-943c-ded01e0d4b45]
tempest.api.identity.admin.v3.test_domains_negative.DomainsNegativeTestJSON.test_delete_active_domain[gate,id-1f3fbff5-4e44-400d-9ca1-d953f05f609b,negative]
tempest.api.identity.admin.v3.test_inherits.InheritsV3TestJSON.test_inherit_assign_check_revoke_roles_on_projects_user[id-18b70e45-7687-4b72-8277-b8f1a47d7591]
tempest.api.identity.admin.v3.test_inherits.InheritsV3TestJSON.test_inherit_assign_list_check_revoke_roles_on_domains_group[id-c7a8dda2-be50-4fb4-9a9c-e830771078b1]
tempest.api.identity.admin.v3.test_inherits.InheritsV3TestJSON.test_inherit_assign_list_check_revoke_roles_on_domains_user[id-4e6f0366-97c8-423c-b2be-41eae6ac91c8]
tempest.api.identity.admin.v3.test_inherits.InheritsV3TestJSON.test_inherit_assign_list_revoke_user_roles_on_domain[id-3acf666e-5354-42ac-8e17-8b68893bcd36]
tempest.api.identity.admin.v3.test_inherits.InheritsV3TestJSON.test_inherit_assign_list_revoke_user_roles_on_project_tree[id-9f02ccd9-9b57-46b4-8f77-dd5a736f3a06]
tempest.api.identity.admin.v3.test_project_tags.IdentityV3ProjectTagsTest.test_list_update_delete_project_tags[id-7c123aac-999d-416a-a0fb-84b915ab10de]
tempest.api.identity.admin.v3.test_groups.GroupsV3TestJSON.test_group_users_add_list_delete[id-1598521a-2f36-4606-8df9-30772bd51339,smoke]
tempest.api.identity.admin.v3.test_list_projects.ListProjectsTestJSON.test_list_projects_with_enabled[id-0fe7a334-675a-4509-b00e-1c4b95d5dae8]
tempest.api.identity.admin.v3.test_list_projects.ListProjectsTestJSON.test_list_projects_with_parent[id-6edc66f5-2941-4a17-9526-4073311c1fac]
tempest.api.identity.admin.v3.test_groups.GroupsV3TestJSON.test_list_user_groups[id-64573281-d26a-4a52-b899-503cb0f4e4ec]
tempest.api.identity.admin.v3.test_projects.ProjectsTestJSON.test_create_is_domain_project[id-a7eb9416-6f9b-4dbb-b71b-7f73aaef59d5]
tempest.api.identity.admin.v3.test_projects.ProjectsTestJSON.test_project_create_with_parent[id-1854f9c0-70bc-4d11-a08a-1c789d339e3d]
tempest.api.identity.admin.v3.test_projects.ProjectsTestJSON.test_project_get_equals_list[id-d1db68b6-aebe-4fa0-b79d-d724d2e21162]
tempest.api.identity.admin.v3.test_list_projects.ListProjectsStaticTestJSON.test_list_projects[id-1d830662-22ad-427c-8c3e-4ec854b0af44]
tempest.api.identity.admin.v3.test_projects_negative.ProjectsNegativeStaticTestJSON.test_create_projects_name_length_over_64[id-502b6ceb-b0c8-4422-bf53-f08fdb21e2f0,negative]
tempest.api.identity.admin.v3.test_list_users.UsersV3TestJSON.test_list_users_with_not_enabled[id-bff8bf2f-9408-4ef5-b63a-753c8c2124eb]
tempest.api.identity.admin.v3.test_roles.RolesV3TestJSON.test_assignments_for_domain_roles[id-3859df7e-5b78-4e4d-b10e-214c8953842a]
tempest.api.identity.admin.v3.test_roles.RolesV3TestJSON.test_assignments_for_implied_roles_create_delete[id-c8828027-df48-4021-95df-b65b92c7429e]
tempest.api.identity.admin.v3.test_roles.RolesV3TestJSON.test_grant_list_revoke_role_to_group_on_domain[id-4bf8a70b-e785-413a-ad53-9f91ce02faa7]
tempest.api.identity.admin.v3.test_roles.RolesV3TestJSON.test_grant_list_revoke_role_to_group_on_project[id-cbf11737-1904-4690-9613-97bcbb3df1c4]
tempest.api.identity.admin.v3.test_roles.RolesV3TestJSON.test_grant_list_revoke_role_to_group_on_system[id-c888fe4f-8018-48db-b959-542225c1b4b6]
tempest.api.identity.admin.v3.test_roles.RolesV3TestJSON.test_grant_list_revoke_role_to_user_on_domain[id-6c9a2940-3625-43a3-ac02-5dcec62ef3bd]
tempest.api.identity.admin.v3.test_roles.RolesV3TestJSON.test_implied_domain_roles[id-eb1e1c24-1bc4-4d47-9748-e127a1852c82]
tempest.api.identity.admin.v3.test_policies.PoliciesTestJSON.test_create_update_delete_policy[id-e544703a-2f03-4cf2-9b0f-350782fdb0d3,smoke]
tempest.api.identity.admin.v3.test_policies.PoliciesTestJSON.test_list_policies[id-1a0ad286-2d06-4123-ab0d-728893a76201]
tempest.api.identity.admin.v3.test_roles.RolesV3TestJSON.test_implied_roles_create_check_show_delete[id-c90c316c-d706-4728-bcba-eb1912081b69]
tempest.api.identity.admin.v3.test_roles.RolesV3TestJSON.test_role_create_update_show_list[id-18afc6c0-46cf-4911-824e-9989cc056c3a,smoke]
tempest.api.identity.admin.v3.test_tokens.TokensV3TestJSON.test_get_available_domain_scopes[id-ec5ecb05-af64-4c04-ac86-4d9f6f12f185]
tempest.api.identity.admin.v3.test_users_negative.UsersNegativeTest.test_create_user_for_non_existent_domain[id-e75f006c-89cc-477b-874d-588e4eab4b17,negative]
tempest.api.identity.admin.v3.test_tokens.TokensV3TestJSON.test_rescope_token[id-565fa210-1da1-4563-999b-f7b5b67cf112]
tempest.api.identity.admin.v3.test_trusts.TrustsV3TestJSON.test_get_trusts_all[id-4773ebd5-ecbf-4255-b8d8-b63e6f72b65d,smoke]
tempest.api.identity.v3.test_application_credentials.ApplicationCredentialsV3Test.test_create_application_credential[id-8080c75c-eddc-4786-941a-c2da7039ae61]
tempest.api.identity.v3.test_application_credentials.ApplicationCredentialsV3Test.test_create_application_credential_expires[id-852daf0c-42b5-4239-8466-d193d0543ed3]
tempest.api.identity.v3.test_application_credentials.ApplicationCredentialsV3Test.test_list_application_credentials[id-ff0cd457-6224-46e7-b79e-0ada4964a8a6]
tempest.api.identity.v3.test_application_credentials.ApplicationCredentialsV3Test.test_query_application_credentials[id-9bb5e5cc-5250-493a-8869-8b665f6aa5f6]
tempest.api.identity.v3.test_api_discovery.TestApiDiscovery.test_api_media_types[id-657c1970-4722-4189-8831-7325f3bc4265,smoke]
tempest.api.identity.v3.test_api_discovery.TestApiDiscovery.test_api_version_resources[id-b9232f5e-d9e5-4d97-b96c-28d3db4de1bd,smoke]
tempest.api.identity.v3.test_api_discovery.TestApiDiscovery.test_identity_v3_existence[id-79aec9ae-710f-4c54-a4fc-3aa25b4feac3]
tempest.api.identity.v3.test_api_discovery.TestApiDiscovery.test_list_api_versions[id-721f480f-35b6-46c7-846e-047e6acea0dc,smoke]
tempest.api.identity.admin.v3.test_trusts.TrustsV3TestJSON.test_get_trusts_query[id-6268b345-87ca-47c0-9ce3-37792b43403a]
tempest.api.identity.v3.test_catalog.IdentityCatalogTest.test_catalog_standardization[id-56b57ced-22b8-4127-9b8a-565dfb0207e2]
tempest.api.identity.admin.v3.test_trusts.TrustsV3TestJSON.test_trust_expire[id-0ed14b66-cefd-4b5c-a964-65759453e292]
tempest.api.identity.v3.test_projects.IdentityV3ProjectsTest.test_list_projects_returns_only_authorized_projects[id-86128d46-e170-4644-866a-cc487f699e1d]
tempest.api.identity.admin.v3.test_trusts.TrustsV3TestJSON.test_trust_impersonate[id-5a0a91a4-baef-4a14-baba-59bf4d7fcace]
tempest.api.identity.v3.test_tokens.TokensV3Test.test_validate_token[id-a9512ac3-3909-48a4-b395-11f438e16260]
tempest.api.identity.admin.v3.test_trusts.TrustsV3TestJSON.test_trust_noimpersonate[id-ed2a8779-a7ac-49dc-afd7-30f32f936ed2]
tempest.api.identity.admin.v3.test_users.UsersV3TestJSON.test_list_user_projects[id-a831e70c-e35b-430b-92ed-81ebbc5437b8]
===== END FAILED TESTS (target=rust) =====

View full run

Merged via the queue into main with commit 393c23e Jul 28, 2026
36 checks passed
@github-actions

Copy link
Copy Markdown

🐰 Bencher Report

Projectkeystone
Branchflaky
Testbedubuntu-latest
Click to view all benchmark results
BenchmarkLatencyBenchmark Result
nanoseconds (ns)
(Result Δ%)
Upper Boundary
nanoseconds (ns)
(Limit %)
Command_Serde/apply/remove📈 view plot
🚷 view threshold
97,115.00 ns
(-68.50%)Baseline: 308,263.34 ns
1,597,799.48 ns
(6.08%)
Command_Serde/apply/set📈 view plot
🚷 view threshold
97,184.00 ns
(-70.46%)Baseline: 328,976.91 ns
1,575,959.92 ns
(6.17%)
Command_Serde/pack/delete📈 view plot
🚷 view threshold
126.75 ns
(+6.92%)Baseline: 118.54 ns
155.79 ns
(81.36%)
Command_Serde/pack/delete_index📈 view plot
🚷 view threshold
114.34 ns
(+9.07%)Baseline: 104.83 ns
136.39 ns
(83.83%)
Command_Serde/pack/set📈 view plot
🚷 view threshold
193.75 ns
(+2.04%)Baseline: 189.88 ns
247.71 ns
(78.22%)
Command_Serde/pack/set_index📈 view plot
🚷 view threshold
114.72 ns
(+9.46%)Baseline: 104.80 ns
136.52 ns
(84.03%)
Command_Serde/unpack/delete📈 view plot
🚷 view threshold
221.21 ns
(+19.55%)Baseline: 185.03 ns
264.20 ns
(83.73%)
Command_Serde/unpack/delete_index📈 view plot
🚷 view threshold
179.73 ns
(+15.92%)Baseline: 155.04 ns
215.66 ns
(83.34%)
Command_Serde/unpack/set📈 view plot
🚷 view threshold
288.66 ns
(+11.37%)Baseline: 259.18 ns
352.25 ns
(81.95%)
Command_Serde/unpack/set_index📈 view plot
🚷 view threshold
174.71 ns
(+14.69%)Baseline: 152.33 ns
211.09 ns
(82.77%)
Payload_encryption/pack/remove_cmd📈 view plot
🚷 view threshold
117.54 ns
(+5.00%)Baseline: 111.94 ns
147.98 ns
(79.43%)
Payload_encryption/pack/set_cmd📈 view plot
🚷 view threshold
189.99 ns
(-2.86%)Baseline: 195.58 ns
265.38 ns
(71.59%)
Payload_encryption/unpack/remove_cmd📈 view plot
🚷 view threshold
234.46 ns
(+20.43%)Baseline: 194.69 ns
279.60 ns
(83.86%)
Payload_encryption/unpack/set_cmd📈 view plot
🚷 view threshold
277.91 ns
(+2.28%)Baseline: 271.72 ns
375.59 ns
(73.99%)
Raft_1Node_Latency/prefix/1node📈 view plot
🚷 view threshold
4,289,900.00 ns
(+57.62%)Baseline: 2,721,646.09 ns
6,564,437.07 ns
(65.35%)
Raft_1Node_Latency/read/1node📈 view plot
🚷 view threshold
35,140.00 ns
(-8.07%)Baseline: 38,222.69 ns
54,116.03 ns
(64.93%)
Raft_1Node_Latency/remove/1node📈 view plot
🚷 view threshold
274,020.00 ns
(-65.53%)Baseline: 794,955.62 ns
3,891,058.86 ns
(7.04%)
Raft_1Node_Latency/write/1node📈 view plot
🚷 view threshold
286,600.00 ns
(-69.77%)Baseline: 947,995.31 ns
5,439,675.79 ns
(5.27%)
build_snapshot/default📈 view plot
🚷 view threshold
108,020.00 ns
(-12.46%)Baseline: 123,400.02 ns
208,899.32 ns
(51.71%)
fernet token/project📈 view plot
🚷 view threshold
1,572.70 ns
(+11.72%)Baseline: 1,407.74 ns
1,791.01 ns
(87.81%)
get_data_keyspace📈 view plot
🚷 view threshold
0.35 ns
(+12.17%)Baseline: 0.31 ns
0.39 ns
(91.05%)
get_db📈 view plot
🚷 view threshold
0.35 ns
(+12.18%)Baseline: 0.31 ns
0.39 ns
(91.14%)
get_fernet_token_timestamp/project📈 view plot
🚷 view threshold
150.35 ns
(+7.92%)Baseline: 139.31 ns
179.94 ns
(83.55%)
get_keyspace📈 view plot
🚷 view threshold
4.77 ns
(-16.33%)Baseline: 5.70 ns
12.89 ns
(36.97%)
🐰 View full continuous benchmarking report in Bencher

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