Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add public build metadata [WPB-11001] #767

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

coriolinus
Copy link
Contributor

What's new in this PR

Adds publicly-visible build metadata to core-crypto and exposes it via FFI.


PR Submission Checklist for internal contributors
  • The PR Title
    • conforms to the style of semantic commits messages¹ supported in Wire's Github Workflow²
    • contains a reference JIRA issue number like SQPIT-764
    • answers the question: If merged, this PR will: ... ³
  1. https://sparkbox.com/foundry/semantic_commit_messages
  2. https://github.com/wireapp/.github#usage
  3. E.g. feat(conversation-list): Sort conversations by most emojis in the title #SQPIT-764.

This causes false positives when working with Rust modules with
whole-module attributes such as `#![allow(deprecated)]`.
@codecov-commenter
Copy link

codecov-commenter commented Nov 15, 2024

Codecov Report

Attention: Patch coverage is 0% with 14 lines in your changes missing coverage. Please review.

Project coverage is 72.00%. Comparing base (6d9b073) to head (c2cb8e0).

Files with missing lines Patch % Lines
crypto-ffi/src/generic/mod.rs 0.00% 14 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #767      +/-   ##
==========================================
- Coverage   72.05%   72.00%   -0.06%     
==========================================
  Files         106      106              
  Lines       19737    19751      +14     
==========================================
  Hits        14222    14222              
- Misses       5515     5529      +14     
Files with missing lines Coverage Δ
crypto/src/lib.rs 37.50% <ø> (ø)
crypto-ffi/src/generic/mod.rs 0.00% <0.00%> (ø)

Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 6d9b073...c2cb8e0. Read the comment docs.

Copy link

github-actions bot commented Nov 15, 2024

🐰 Bencher Report

Branchprgn/feat/full-version-api
Testbedubuntu-latest
Click to view all benchmark results
BenchmarkLatencynanoseconds (ns)
Commit add f(group size)/cs1/mem/1002📈 view plot
🚷 view threshold
18,447,000.00
Commit add f(group size)/cs1/mem/2📈 view plot
🚷 view threshold
6,626,400.00
Commit add f(group size)/cs1/mem/202📈 view plot
🚷 view threshold
9,063,100.00
Commit add f(group size)/cs1/mem/402📈 view plot
🚷 view threshold
11,420,000.00
Commit add f(group size)/cs1/mem/602📈 view plot
🚷 view threshold
14,457,000.00
Commit add f(group size)/cs1/mem/802📈 view plot
🚷 view threshold
16,450,000.00
Commit add f(number clients)/cs1/mem/1002📈 view plot
🚷 view threshold
981,760,000.00
Commit add f(number clients)/cs1/mem/2📈 view plot
🚷 view threshold
6,604,600.00
Commit add f(number clients)/cs1/mem/202📈 view plot
🚷 view threshold
83,697,000.00
Commit add f(number clients)/cs1/mem/402📈 view plot
🚷 view threshold
218,760,000.00
Commit add f(number clients)/cs1/mem/602📈 view plot
🚷 view threshold
517,400,000.00
Commit add f(number clients)/cs1/mem/802📈 view plot
🚷 view threshold
668,980,000.00
Commit pending proposals f(group size)/cs1/mem/1002📈 view plot
🚷 view threshold
116,200,000.00
Commit pending proposals f(group size)/cs1/mem/2📈 view plot
🚷 view threshold
27,954,000.00
Commit pending proposals f(group size)/cs1/mem/202📈 view plot
🚷 view threshold
45,611,000.00
Commit pending proposals f(group size)/cs1/mem/402📈 view plot
🚷 view threshold
60,406,000.00
Commit pending proposals f(group size)/cs1/mem/602📈 view plot
🚷 view threshold
78,984,000.00
Commit pending proposals f(group size)/cs1/mem/802📈 view plot
🚷 view threshold
93,706,000.00
Commit pending proposals f(pending size)/cs1/mem/1📈 view plot
🚷 view threshold
18,209,000.00
Commit pending proposals f(pending size)/cs1/mem/101📈 view plot
🚷 view threshold
114,610,000.00
Commit pending proposals f(pending size)/cs1/mem/21📈 view plot
🚷 view threshold
35,234,000.00
Commit pending proposals f(pending size)/cs1/mem/41📈 view plot
🚷 view threshold
56,200,000.00
Commit pending proposals f(pending size)/cs1/mem/61📈 view plot
🚷 view threshold
75,340,000.00
Commit pending proposals f(pending size)/cs1/mem/81📈 view plot
🚷 view threshold
96,271,000.00
Commit remove f(group size)/cs1/mem/1002📈 view plot
🚷 view threshold
27,119,000.00
Commit remove f(group size)/cs1/mem/2📈 view plot
🚷 view threshold
6,497,500.00
Commit remove f(group size)/cs1/mem/202📈 view plot
🚷 view threshold
8,653,500.00
Commit remove f(group size)/cs1/mem/402📈 view plot
🚷 view threshold
12,014,000.00
Commit remove f(group size)/cs1/mem/602📈 view plot
🚷 view threshold
17,376,000.00
Commit remove f(group size)/cs1/mem/802📈 view plot
🚷 view threshold
21,806,000.00
Commit remove f(number clients)/cs1/mem/1002📈 view plot
🚷 view threshold
29,596,000.00
Commit remove f(number clients)/cs1/mem/2📈 view plot
🚷 view threshold
135,770,000.00
Commit remove f(number clients)/cs1/mem/202📈 view plot
🚷 view threshold
114,140,000.00
Commit remove f(number clients)/cs1/mem/402📈 view plot
🚷 view threshold
94,027,000.00
Commit remove f(number clients)/cs1/mem/602📈 view plot
🚷 view threshold
71,718,000.00
Commit remove f(number clients)/cs1/mem/802📈 view plot
🚷 view threshold
50,432,000.00
Commit update f(group size)/cs1/mem/1002📈 view plot
🚷 view threshold
135,670,000.00
Commit update f(group size)/cs1/mem/2📈 view plot
🚷 view threshold
6,599,500.00
Commit update f(group size)/cs1/mem/202📈 view plot
🚷 view threshold
33,455,000.00
Commit update f(group size)/cs1/mem/402📈 view plot
🚷 view threshold
58,643,000.00
Commit update f(group size)/cs1/mem/602📈 view plot
🚷 view threshold
85,775,000.00
Commit update f(group size)/cs1/mem/802📈 view plot
🚷 view threshold
111,560,000.00
Count KeyPackage/cs1/mem/1002📈 view plot
🚷 view threshold
10,335,000.00
Count KeyPackage/cs1/mem/2📈 view plot
🚷 view threshold
6,356,700.00
Count KeyPackage/cs1/mem/202📈 view plot
🚷 view threshold
7,070,800.00
Count KeyPackage/cs1/mem/402📈 view plot
🚷 view threshold
7,608,500.00
Count KeyPackage/cs1/mem/602📈 view plot
🚷 view threshold
8,777,900.00
Count KeyPackage/cs1/mem/802📈 view plot
🚷 view threshold
9,486,300.00
Create group/cs1/mem📈 view plot
🚷 view threshold
6,510,400.00
Decrypt f(msg size)/cs1/mem/10📈 view plot
🚷 view threshold
6,255,400.00
Decrypt f(msg size)/cs1/mem/10010📈 view plot
🚷 view threshold
6,310,300.00
Decrypt f(msg size)/cs1/mem/2010📈 view plot
🚷 view threshold
6,159,400.00
Decrypt f(msg size)/cs1/mem/4010📈 view plot
🚷 view threshold
6,333,300.00
Decrypt f(msg size)/cs1/mem/6010📈 view plot
🚷 view threshold
6,275,000.00
Decrypt f(msg size)/cs1/mem/8010📈 view plot
🚷 view threshold
6,263,500.00
Encrypt f(group size)/cs1/mem/1002📈 view plot
🚷 view threshold
8,871,600.00
Encrypt f(group size)/cs1/mem/2📈 view plot
🚷 view threshold
6,450,400.00
Encrypt f(group size)/cs1/mem/202📈 view plot
🚷 view threshold
6,961,400.00
Encrypt f(group size)/cs1/mem/402📈 view plot
🚷 view threshold
7,438,400.00
Encrypt f(group size)/cs1/mem/602📈 view plot
🚷 view threshold
7,617,900.00
Encrypt f(group size)/cs1/mem/802📈 view plot
🚷 view threshold
8,519,500.00
Encrypt f(msg size)/cs1/mem/10📈 view plot
🚷 view threshold
8,810,900.00
Encrypt f(msg size)/cs1/mem/10010📈 view plot
🚷 view threshold
8,725,400.00
Encrypt f(msg size)/cs1/mem/2010📈 view plot
🚷 view threshold
8,604,500.00
Encrypt f(msg size)/cs1/mem/4010📈 view plot
🚷 view threshold
8,495,700.00
Encrypt f(msg size)/cs1/mem/6010📈 view plot
🚷 view threshold
8,722,300.00
Encrypt f(msg size)/cs1/mem/8010📈 view plot
🚷 view threshold
8,535,800.00
Generate KeyPackage f(group size)/cs1/mem/1002📈 view plot
🚷 view threshold
244,970,000.00
Generate KeyPackage f(group size)/cs1/mem/2📈 view plot
🚷 view threshold
6,319,100.00
Generate KeyPackage f(group size)/cs1/mem/202📈 view plot
🚷 view threshold
33,084,000.00
Generate KeyPackage f(group size)/cs1/mem/402📈 view plot
🚷 view threshold
85,930,000.00
Generate KeyPackage f(group size)/cs1/mem/602📈 view plot
🚷 view threshold
138,750,000.00
Generate KeyPackage f(group size)/cs1/mem/802📈 view plot
🚷 view threshold
191,300,000.00
Join from external commit f(group size)/cs1/mem/1002📈 view plot
🚷 view threshold
237,790,000.00
Join from external commit f(group size)/cs1/mem/2📈 view plot
🚷 view threshold
7,553,500.00
Join from external commit f(group size)/cs1/mem/202📈 view plot
🚷 view threshold
54,129,000.00
Join from external commit f(group size)/cs1/mem/402📈 view plot
🚷 view threshold
99,932,000.00
Join from external commit f(group size)/cs1/mem/602📈 view plot
🚷 view threshold
147,240,000.00
Join from external commit f(group size)/cs1/mem/802📈 view plot
🚷 view threshold
193,130,000.00
Join from welcome f(group size)/cs1/mem/1002📈 view plot
🚷 view threshold
114,770,000.00
Join from welcome f(group size)/cs1/mem/2📈 view plot
🚷 view threshold
6,875,800.00
Join from welcome f(group size)/cs1/mem/202📈 view plot
🚷 view threshold
28,493,000.00
Join from welcome f(group size)/cs1/mem/402📈 view plot
🚷 view threshold
50,070,000.00
Join from welcome f(group size)/cs1/mem/602📈 view plot
🚷 view threshold
71,886,000.00
Join from welcome f(group size)/cs1/mem/802📈 view plot
🚷 view threshold
93,411,000.00
Mls vs Proteus: add/MLS/mem/1📈 view plot
🚷 view threshold
6,724,700.00
Mls vs Proteus: add/MLS/mem/101📈 view plot
🚷 view threshold
8,131,100.00
Mls vs Proteus: add/MLS/mem/21📈 view plot
🚷 view threshold
6,964,000.00
Mls vs Proteus: add/MLS/mem/41📈 view plot
🚷 view threshold
7,346,400.00
Mls vs Proteus: add/MLS/mem/61📈 view plot
🚷 view threshold
7,464,300.00
Mls vs Proteus: add/MLS/mem/81📈 view plot
🚷 view threshold
7,757,600.00
Mls vs Proteus: add/Proteus/mem/1📈 view plot
🚷 view threshold
6,408,300.00
Mls vs Proteus: add/Proteus/mem/101📈 view plot
🚷 view threshold
44,801,000.00
Mls vs Proteus: add/Proteus/mem/21📈 view plot
🚷 view threshold
14,131,000.00
Mls vs Proteus: add/Proteus/mem/41📈 view plot
🚷 view threshold
22,136,000.00
Mls vs Proteus: add/Proteus/mem/61📈 view plot
🚷 view threshold
29,467,000.00
Mls vs Proteus: add/Proteus/mem/81📈 view plot
🚷 view threshold
37,284,000.00
Mls vs Proteus: encrypt/MLS/mem/1📈 view plot
🚷 view threshold
6,209,100.00
Mls vs Proteus: encrypt/MLS/mem/101📈 view plot
🚷 view threshold
6,521,800.00
Mls vs Proteus: encrypt/MLS/mem/21📈 view plot
🚷 view threshold
6,381,700.00
Mls vs Proteus: encrypt/MLS/mem/41📈 view plot
🚷 view threshold
6,336,300.00
Mls vs Proteus: encrypt/MLS/mem/61📈 view plot
🚷 view threshold
6,674,600.00
Mls vs Proteus: encrypt/MLS/mem/81📈 view plot
🚷 view threshold
6,639,700.00
Mls vs Proteus: encrypt/Proteus/mem/1📈 view plot
🚷 view threshold
5,974,300.00
Mls vs Proteus: encrypt/Proteus/mem/101📈 view plot
🚷 view threshold
16,202,000.00
Mls vs Proteus: encrypt/Proteus/mem/21📈 view plot
🚷 view threshold
8,107,600.00
Mls vs Proteus: encrypt/Proteus/mem/41📈 view plot
🚷 view threshold
10,067,000.00
Mls vs Proteus: encrypt/Proteus/mem/61📈 view plot
🚷 view threshold
12,344,000.00
Mls vs Proteus: encrypt/Proteus/mem/81📈 view plot
🚷 view threshold
14,081,000.00
Mls vs Proteus: remove/MLS/mem/1📈 view plot
🚷 view threshold
19,987,000.00
Mls vs Proteus: remove/MLS/mem/101📈 view plot
🚷 view threshold
7,939,100.00
Mls vs Proteus: remove/MLS/mem/21📈 view plot
🚷 view threshold
17,710,000.00
Mls vs Proteus: remove/MLS/mem/41📈 view plot
🚷 view threshold
15,164,000.00
Mls vs Proteus: remove/MLS/mem/61📈 view plot
🚷 view threshold
12,836,000.00
Mls vs Proteus: remove/MLS/mem/81📈 view plot
🚷 view threshold
10,153,000.00
Mls vs Proteus: remove/Proteus/mem/1📈 view plot
🚷 view threshold
6,067,800.00
Mls vs Proteus: remove/Proteus/mem/101📈 view plot
🚷 view threshold
7,178,100.00
Mls vs Proteus: remove/Proteus/mem/21📈 view plot
🚷 view threshold
6,268,500.00
Mls vs Proteus: remove/Proteus/mem/41📈 view plot
🚷 view threshold
6,591,600.00
Mls vs Proteus: remove/Proteus/mem/61📈 view plot
🚷 view threshold
6,599,800.00
Mls vs Proteus: remove/Proteus/mem/81📈 view plot
🚷 view threshold
6,951,700.00
Mls vs Proteus: update/MLS/mem/1📈 view plot
🚷 view threshold
6,752,100.00
Mls vs Proteus: update/MLS/mem/101📈 view plot
🚷 view threshold
19,921,000.00
Mls vs Proteus: update/MLS/mem/21📈 view plot
🚷 view threshold
9,667,300.00
Mls vs Proteus: update/MLS/mem/41📈 view plot
🚷 view threshold
12,131,000.00
Mls vs Proteus: update/MLS/mem/61📈 view plot
🚷 view threshold
14,883,000.00
Mls vs Proteus: update/MLS/mem/81📈 view plot
🚷 view threshold
17,275,000.00
Mls vs Proteus: update/Proteus/mem/1📈 view plot
🚷 view threshold
6,411,700.00
Mls vs Proteus: update/Proteus/mem/101📈 view plot
🚷 view threshold
46,302,000.00
Mls vs Proteus: update/Proteus/mem/21📈 view plot
🚷 view threshold
14,593,000.00
Mls vs Proteus: update/Proteus/mem/41📈 view plot
🚷 view threshold
22,377,000.00
Mls vs Proteus: update/Proteus/mem/61📈 view plot
🚷 view threshold
30,380,000.00
Mls vs Proteus: update/Proteus/mem/81📈 view plot
🚷 view threshold
38,393,000.00
🐰 View full continuous benchmarking report in Bencher

This data is stringly typed due to passing through the environment
between being generated and being incorporated into the program.
No attempt is made to parse it in order to keep things simple;
the expected use case for this data is just log information anyway.

This adds more information that was strictly requested by the PR,
in the assumption that this information is negligibly cheap to store and
can only help with reducing parsing demand.
@coriolinus coriolinus marked this pull request as ready for review November 15, 2024 15:24
@coriolinus coriolinus requested a review from a team as a code owner November 15, 2024 15:24
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.

2 participants