scuffle
scuffle copied to clipboard
new crate tinc
tinc is a new crate I am working on which fills the gap of grpc-rest transcoding in rust without the use of an external service such as grpc-gateway
Deploying scuffle-docusaurus-docs with
Cloudflare Pages
| Latest commit: |
1d888b4
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://188405de.scuffle-docusaurus-docs.pages.dev |
| Branch Preview URL: | https://pr-405.scuffle-docusaurus-docs.pages.dev |
Deploying scuffle-docrs with
Cloudflare Pages
| Latest commit: |
1d888b4
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://5ff06327.scuffle-docrs.pages.dev |
| Branch Preview URL: | https://pr-405.scuffle-docrs.pages.dev |
Codecov Report
Attention: Patch coverage is 73.40514% with 963 lines in your changes missing coverage. Please review.
Project coverage is 79.02%. Comparing base (
52c71a0) to head (1d888b4). Report is 55 commits behind head on main.
:white_check_mark: All tests successful. No failed tests found.
Additional details and impacted files
@@ Coverage Diff @@
## main #405 +/- ##
==========================================
- Coverage 82.77% 79.02% -3.75%
==========================================
Files 236 323 +87
Lines 15659 24200 +8541
==========================================
+ Hits 12961 19125 +6164
- Misses 2698 5075 +2377
| Files with missing lines | Coverage Δ | |
|---|---|---|
| crates/openapiv3_1/src/server.rs | 100.00% <100.00%> (ø) |
|
| crates/openapiv3_1/src/xml.rs | 100.00% <100.00%> (ø) |
|
| crates/postcompile/src/lib.rs | 89.08% <100.00%> (+8.55%) |
:arrow_up: |
| ...rates/tinc/build/src/codegen/cel/functions/bool.rs | 100.00% <100.00%> (ø) |
|
| ...ates/tinc/build/src/codegen/cel/functions/bytes.rs | 100.00% <100.00%> (ø) |
|
| ...tes/tinc/build/src/codegen/cel/functions/double.rs | 100.00% <100.00%> (ø) |
|
| .../tinc/build/src/codegen/cel/functions/ends_with.rs | 100.00% <100.00%> (ø) |
|
| crates/tinc/build/src/codegen/cel/functions/has.rs | 100.00% <100.00%> (ø) |
|
| crates/tinc/build/src/codegen/cel/functions/int.rs | 100.00% <100.00%> (ø) |
|
| ...s/tinc/build/src/codegen/cel/functions/is_email.rs | 100.00% <100.00%> (ø) |
|
| ... and 76 more |
... and 5 files with indirect coverage changes
| Components | Coverage Δ | |
|---|---|---|
| scuffle-aac | 89.47% <ø> (ø) |
|
| scuffle-amf0 | 90.31% <ø> (ø) |
|
| scuffle-av1 | 98.40% <ø> (ø) |
|
| scuffle-batching | 100.00% <ø> (ø) |
|
| scuffle-bootstrap | 82.79% <ø> (ø) |
|
| scuffle-bytes-util | 96.70% <ø> (ø) |
|
| scuffle-context | 100.00% <ø> (ø) |
|
| scuffle-expgolomb | 100.00% <ø> (ø) |
|
| scuffle-ffmpeg | 90.01% <ø> (-0.13%) |
:arrow_down: |
| scuffle-flv | 95.59% <ø> (ø) |
|
| scuffle-future-ext | 50.00% <ø> (ø) |
|
| nutype-enum | 71.87% <ø> (ø) |
|
| scuffle-h264 | 99.68% <ø> (ø) |
|
| scuffle-http | 85.36% <ø> (ø) |
|
| scuffle-metrics | 87.95% <ø> (ø) |
|
| postcompile | 89.13% <100.00%> (+8.59%) |
:arrow_up: |
| scuffle-pprof | 100.00% <ø> (ø) |
|
| scuffle-rtmp | 90.88% <ø> (-0.28%) |
:arrow_down: |
| scuffle-settings | 93.44% <ø> (ø) |
|
| scuffle-signal | 95.41% <ø> (+9.60%) |
:arrow_up: |
🛫 Startup details 🛫
Revision main not found locally. Fetching from origin...Checking out commit 52c71a05ee1d8df39a67836feb048ca34e5bc212 into "target/semver-baseline"
HEAD is now at 52c71a0 Auto merge of https://github.com/ScuffleCloud/scuffle/pull/452 - lennart/CLOUD-118, r=TroyKomodo
📦 Processing crates 📦
nutype-enumpostcompilescuffle-aacscuffle-amf0scuffle-av1scuffle-batchingscuffle-bootstrapscuffle-bootstrap-telemetryscuffle-bytes-utilscuffle-contextscuffle-expgolombscuffle-ffmpegscuffle-flvscuffle-future-extscuffle-h264scuffle-h265scuffle-httpscuffle-metricsscuffle-mp4scuffle-pprofscuffle-rtmpscuffle-settingsscuffle-signalscuffle-transmuxerscuffle-workspace-hack
Original semver output:
Building nutype-enum v0.1.3 (current)
Built [ 0.658s] (current)
Parsing nutype-enum v0.1.3 (current)
Parsed [ 0.002s] (current)
Building nutype-enum v0.1.3 (baseline)
Built [ 0.583s] (baseline)
Parsing nutype-enum v0.1.3 (baseline)
Parsed [ 0.002s] (baseline)
Checking nutype-enum v0.1.3 -> v0.1.3 (no change)
Checked [ 0.117s] 153 checks: 153 pass, 11 skip
Summary no semver update required
Finished [ 1.750s] nutype-enum
Building postcompile v0.2.0 (current)
Built [ 5.872s] (current)
Parsing postcompile v0.2.0 (current)
Parsed [ 0.010s] (current)
Building postcompile v0.2.0 (baseline)
Built [ 6.129s] (baseline)
Parsing postcompile v0.2.0 (baseline)
Parsed [ 0.005s] (baseline)
Checking postcompile v0.2.0 -> v0.2.0 (no change)
Checked [ 0.136s] 153 checks: 153 pass, 11 skip
Summary no semver update required
Finished [ 12.676s] postcompile
Building scuffle-aac v0.1.2 (current)
Built [ 2.759s] (current)
Parsing scuffle-aac v0.1.2 (current)
Parsed [ 0.002s] (current)
Building scuffle-aac v0.1.2 (baseline)
Built [ 2.443s] (baseline)
Parsing scuffle-aac v0.1.2 (baseline)
Parsed [ 0.006s] (baseline)
Checking scuffle-aac v0.1.2 -> v0.1.2 (no change)
Checked [ 0.153s] 153 checks: 153 pass, 11 skip
Summary no semver update required
Finished [ 5.829s] scuffle-aac
Building scuffle-amf0 v0.2.0 (current)
Built [ 2.758s] (current)
Parsing scuffle-amf0 v0.2.0 (current)
Parsed [ 0.008s] (current)
Building scuffle-amf0 v0.2.0 (baseline)
Built [ 2.803s] (baseline)
Parsing scuffle-amf0 v0.2.0 (baseline)
Parsed [ 0.013s] (baseline)
Checking scuffle-amf0 v0.2.0 -> v0.2.0 (no change)
Checked [ 0.252s] 153 checks: 153 pass, 11 skip
Summary no semver update required
Finished [ 6.331s] scuffle-amf0
Building scuffle-av1 v0.1.2 (current)
Built [ 0.753s] (current)
Parsing scuffle-av1 v0.1.2 (current)
Parsed [ 0.006s] (current)
Building scuffle-av1 v0.1.2 (baseline)
Built [ 0.871s] (baseline)
Parsing scuffle-av1 v0.1.2 (baseline)
Parsed [ 0.010s] (baseline)
Checking scuffle-av1 v0.1.2 -> v0.1.2 (no change)
Checked [ 0.181s] 153 checks: 153 pass, 11 skip
Summary no semver update required
Finished [ 2.239s] scuffle-av1
Building scuffle-batching v0.1.2 (current)
Built [ 1.261s] (current)
Parsing scuffle-batching v0.1.2 (current)
Parsed [ 0.003s] (current)
Building scuffle-batching v0.1.2 (baseline)
Built [ 1.434s] (baseline)
Parsing scuffle-batching v0.1.2 (baseline)
Parsed [ 0.007s] (baseline)
Checking scuffle-batching v0.1.2 -> v0.1.2 (no change)
Checked [ 0.156s] 153 checks: 153 pass, 11 skip
Summary no semver update required
Finished [ 3.335s] scuffle-batching
Building scuffle-bootstrap v0.1.2 (current)
Built [ 5.157s] (current)
Parsing scuffle-bootstrap v0.1.2 (current)
Parsed [ 0.009s] (current)
Building scuffle-bootstrap v0.1.2 (baseline)
Built [ 5.198s] (baseline)
Parsing scuffle-bootstrap v0.1.2 (baseline)
Parsed [ 0.009s] (baseline)
Checking scuffle-bootstrap v0.1.2 -> v0.1.2 (no change)
Checked [ 0.141s] 153 checks: 153 pass, 11 skip
Summary no semver update required
Finished [ 11.136s] scuffle-bootstrap
Building scuffle-bootstrap-telemetry v0.2.1 (current)
Built [ 8.483s] (current)
Parsing scuffle-bootstrap-telemetry v0.2.1 (current)
Parsed [ 0.015s] (current)
Building scuffle-bootstrap-telemetry v0.2.1 (baseline)
Built [ 8.734s] (baseline)
Parsing scuffle-bootstrap-telemetry v0.2.1 (baseline)
Parsed [ 0.011s] (baseline)
Checking scuffle-bootstrap-telemetry v0.2.1 -> v0.2.1 (no change)
Checked [ 0.137s] 153 checks: 153 pass, 11 skip
Summary no semver update required
Finished [ 20.209s] scuffle-bootstrap-telemetry
Building scuffle-bytes-util v0.1.2 (current)
Built [ 1.790s] (current)
Parsing scuffle-bytes-util v0.1.2 (current)
Parsed [ 0.009s] (current)
Building scuffle-bytes-util v0.1.2 (baseline)
Built [ 1.758s] (baseline)
Parsing scuffle-bytes-util v0.1.2 (baseline)
Parsed [ 0.004s] (baseline)
Checking scuffle-bytes-util v0.1.2 -> v0.1.2 (no change)
Checked [ 0.185s] 153 checks: 153 pass, 11 skip
Summary no semver update required
Finished [ 4.216s] scuffle-bytes-util
Building scuffle-context v0.1.2 (current)
Built [ 1.001s] (current)
Parsing scuffle-context v0.1.2 (current)
Parsed [ 0.008s] (current)
Building scuffle-context v0.1.2 (baseline)
Built [ 1.023s] (baseline)
Parsing scuffle-context v0.1.2 (baseline)
Parsed [ 0.008s] (baseline)
Checking scuffle-context v0.1.2 -> v0.1.2 (no change)
Checked [ 0.142s] 153 checks: 153 pass, 11 skip
Summary no semver update required
Finished [ 2.736s] scuffle-context
Building scuffle-expgolomb v0.1.2 (current)
Built [ 0.751s] (current)
Parsing scuffle-expgolomb v0.1.2 (current)
Parsed [ 0.004s] (current)
Building scuffle-expgolomb v0.1.2 (baseline)
Built [ 0.876s] (baseline)
Parsing scuffle-expgolomb v0.1.2 (baseline)
Parsed [ 0.005s] (baseline)
Checking scuffle-expgolomb v0.1.2 -> v0.1.2 (no change)
Checked [ 0.100s] 153 checks: 153 pass, 11 skip
Summary no semver update required
Finished [ 2.090s] scuffle-expgolomb
Building scuffle-ffmpeg v0.3.0 (current)
Built [ 9.812s] (current)
Parsing scuffle-ffmpeg v0.3.0 (current)
Parsed [ 0.025s] (current)
Building scuffle-ffmpeg v0.3.0 (baseline)
Built [ 9.464s] (baseline)
Parsing scuffle-ffmpeg v0.3.0 (baseline)
Parsed [ 0.056s] (baseline)
Checking scuffle-ffmpeg v0.3.0 -> v0.3.0 (no change)
Checked [ 1.993s] 153 checks: 153 pass, 11 skip
Summary no semver update required
Finished [ 22.706s] scuffle-ffmpeg
Building scuffle-flv v0.2.0 (current)
Built [ 3.799s] (current)
Parsing scuffle-flv v0.2.0 (current)
Parsed [ 0.028s] (current)
Building scuffle-flv v0.2.0 (baseline)
Built [ 4.122s] (baseline)
Parsing scuffle-flv v0.2.0 (baseline)
Parsed [ 0.028s] (baseline)
Checking scuffle-flv v0.2.0 -> v0.2.0 (no change)
Checked [ 0.751s] 153 checks: 153 pass, 11 skip
Summary no semver update required
Finished [ 10.064s] scuffle-flv
Building scuffle-future-ext v0.1.2 (current)
Built [ 0.664s] (current)
Parsing scuffle-future-ext v0.1.2 (current)
Parsed [ 0.004s] (current)
Building scuffle-future-ext v0.1.2 (baseline)
Built [ 0.690s] (baseline)
Parsing scuffle-future-ext v0.1.2 (baseline)
Parsed [ 0.005s] (baseline)
Checking scuffle-future-ext v0.1.2 -> v0.1.2 (no change)
Checked [ 0.107s] 153 checks: 153 pass, 11 skip
Summary no semver update required
Finished [ 2.007s] scuffle-future-ext
Building scuffle-h264 v0.2.0 (current)
Built [ 0.851s] (current)
Parsing scuffle-h264 v0.2.0 (current)
Parsed [ 0.004s] (current)
Building scuffle-h264 v0.2.0 (baseline)
Built [ 0.973s] (baseline)
Parsing scuffle-h264 v0.2.0 (baseline)
Parsed [ 0.010s] (baseline)
Checking scuffle-h264 v0.2.0 -> v0.2.0 (no change)
Checked [ 0.244s] 153 checks: 153 pass, 11 skip
Summary no semver update required
Finished [ 2.395s] scuffle-h264
Building scuffle-h265 v0.2.0 (current)
Built [ 0.985s] (current)
Parsing scuffle-h265 v0.2.0 (current)
Parsed [ 0.018s] (current)
Building scuffle-h265 v0.2.0 (baseline)
Built [ 1.014s] (baseline)
Parsing scuffle-h265 v0.2.0 (baseline)
Parsed [ 0.020s] (baseline)
Checking scuffle-h265 v0.2.0 -> v0.2.0 (no change)
Checked [ 0.409s] 153 checks: 153 pass, 11 skip
Summary no semver update required
Finished [ 2.852s] scuffle-h265
Building scuffle-http v0.2.1 (current)
Built [ 15.171s] (current)
Parsing scuffle-http v0.2.1 (current)
Parsed [ 0.037s] (current)
Building scuffle-http v0.2.1 (baseline)
Built [ 14.765s] (baseline)
Parsing scuffle-http v0.2.1 (baseline)
Parsed [ 0.031s] (baseline)
Checking scuffle-http v0.2.1 -> v0.2.1 (no change)
Checked [ 0.353s] 153 checks: 153 pass, 11 skip
Summary no semver update required
Finished [ 32.038s] scuffle-http
Building scuffle-metrics v0.2.0 (current)
Built [ 4.899s] (current)
Parsing scuffle-metrics v0.2.0 (current)
Parsed [ 0.012s] (current)
Building scuffle-metrics v0.2.0 (baseline)
Built [ 4.695s] (baseline)
Parsing scuffle-metrics v0.2.0 (baseline)
Parsed [ 0.005s] (baseline)
Checking scuffle-metrics v0.2.0 -> v0.2.0 (no change)
Checked [ 0.147s] 153 checks: 153 pass, 11 skip
Summary no semver update required
Finished [ 10.418s] scuffle-metrics
Building scuffle-mp4 v0.1.2 (current)
Built [ 5.347s] (current)
Parsing scuffle-mp4 v0.1.2 (current)
Parsed [ 0.040s] (current)
Building scuffle-mp4 v0.1.2 (baseline)
Built [ 5.240s] (baseline)
Parsing scuffle-mp4 v0.1.2 (baseline)
Parsed [ 0.041s] (baseline)
Checking scuffle-mp4 v0.1.2 -> v0.1.2 (no change)
Checked [ 1.432s] 153 checks: 153 pass, 11 skip
Summary no semver update required
Finished [ 12.778s] scuffle-mp4
Building scuffle-pprof v0.1.2 (current)
Built [ 6.212s] (current)
Parsing scuffle-pprof v0.1.2 (current)
Parsed [ 0.004s] (current)
Building scuffle-pprof v0.1.2 (baseline)
Built [ 6.295s] (baseline)
Parsing scuffle-pprof v0.1.2 (baseline)
Parsed [ 0.009s] (baseline)
Checking scuffle-pprof v0.1.2 -> v0.1.2 (no change)
Checked [ 0.111s] 153 checks: 153 pass, 11 skip
Summary no semver update required
Finished [ 13.516s] scuffle-pprof
Building scuffle-rtmp v0.2.0 (current)
Built [ 4.488s] (current)
Parsing scuffle-rtmp v0.2.0 (current)
Parsed [ 0.036s] (current)
Building scuffle-rtmp v0.2.0 (baseline)
Built [ 4.596s] (baseline)
Parsing scuffle-rtmp v0.2.0 (baseline)
Parsed [ 0.022s] (baseline)
Checking scuffle-rtmp v0.2.0 -> v0.2.0 (no change)
Checked [ 0.696s] 153 checks: 153 pass, 11 skip
Summary no semver update required
Finished [ 11.135s] scuffle-rtmp
Building scuffle-settings v0.1.2 (current)
Built [ 6.751s] (current)
Parsing scuffle-settings v0.1.2 (current)
Parsed [ 0.012s] (current)
Building scuffle-settings v0.1.2 (baseline)
Built [ 7.011s] (baseline)
Parsing scuffle-settings v0.1.2 (baseline)
Parsed [ 0.005s] (baseline)
Checking scuffle-settings v0.1.2 -> v0.1.2 (no change)
Checked [ 0.118s] 153 checks: 153 pass, 11 skip
Summary no semver update required
Finished [ 16.054s] scuffle-settings
Building scuffle-signal v0.3.0 (current)
Built [ 5.400s] (current)
Parsing scuffle-signal v0.3.0 (current)
Parsed [ 0.004s] (current)
Building scuffle-signal v0.3.0 (baseline)
Built [ 5.522s] (baseline)
Parsing scuffle-signal v0.3.0 (baseline)
Parsed [ 0.010s] (baseline)
Checking scuffle-signal v0.3.0 -> v0.3.0 (no change)
Checked [ 0.125s] 153 checks: 153 pass, 11 skip
Summary no semver update required
Finished [ 11.769s] scuffle-signal
Building scuffle-transmuxer v0.2.0 (current)
Built [ 5.772s] (current)
Parsing scuffle-transmuxer v0.2.0 (current)
Parsed [ 0.015s] (current)
Building scuffle-transmuxer v0.2.0 (baseline)
Built [ 5.656s] (baseline)
Parsing scuffle-transmuxer v0.2.0 (baseline)
Parsed [ 0.006s] (baseline)
Checking scuffle-transmuxer v0.2.0 -> v0.2.0 (no change)
Checked [ 0.222s] 153 checks: 153 pass, 11 skip
Summary no semver update required
Finished [ 12.251s] scuffle-transmuxer
Building scuffle-workspace-hack v0.1.0 (current)
Built [ 0.542s] (current)
Parsing scuffle-workspace-hack v0.1.0 (current)
Parsed [ 0.002s] (current)
Building scuffle-workspace-hack v0.1.0 (baseline)
Built [ 28.136s] (baseline)
Parsing scuffle-workspace-hack v0.1.0 (baseline)
Parsed [ 0.006s] (baseline)
Checking scuffle-workspace-hack v0.1.0 -> v0.1.0 (no change)
Checked [ 0.101s] 153 checks: 153 pass, 11 skip
Summary no semver update required
Finished [ 29.833s] scuffle-workspace-hack
Semver-checks summary
✅ No semver violations found! ✅
🛬 Cleanup details 🛬
Cleaning up git worktree at "target/semver-baseline"
Successfully removed git worktree
for the review work I think it would be nice to know from a design perspective about the interface for interacting with tinc.
As for the design side of things, I think it's a little hard to fully comprehend it since there are so many things to try out, but the examples in the integration tests seem to be pretty intuitive and straightforward. I'm curious to hear what Lennart and Lucas think!
?brawl try
⌛ Trying commit https://github.com/ScuffleCloud/scuffle/commit/688b5088bd274d6b7f3a57ba27cfa1c79de143d8 with merge https://github.com/ScuffleCloud/scuffle/commit/fa64266deea3a3f4b41b9039f9c95f4e83030bb5...
💔 Test failed - brawl-done
?brawl try
⌛ Trying commit https://github.com/ScuffleCloud/scuffle/commit/4d6b7d76f9a22cf59b46f8410a11436e461cc63c with merge https://github.com/ScuffleCloud/scuffle/commit/07b295b9e52f004b2135fce07364f48a2fe5c913...
💔 Test failed - brawl-done
💔 Test failed - brawl-done
?brawl retry
⌛ Trying commit https://github.com/ScuffleCloud/scuffle/commit/4d6b7d76f9a22cf59b46f8410a11436e461cc63c with merge https://github.com/ScuffleCloud/scuffle/commit/7ade1023ff403507e6a4a4e628b681b6f5c93db4...
💔 Test failed - brawl-done
?brawl try
⌛ Trying commit https://github.com/ScuffleCloud/scuffle/commit/af99789cdb6ff78a0b9ad4256901eceec577aecc with merge https://github.com/ScuffleCloud/scuffle/commit/dd5118daf6328495fae2cc603fd7ba82e5e6ecbe...
💔 Test failed - brawl-done
?brawl retry
⌛ Trying commit https://github.com/ScuffleCloud/scuffle/commit/af99789cdb6ff78a0b9ad4256901eceec577aecc with merge https://github.com/ScuffleCloud/scuffle/commit/073e124eff388041ecd869d47c4e6c192bf05f8a...
💔 Test failed - brawl-done
?brawl try
⌛ Trying commit https://github.com/ScuffleCloud/scuffle/commit/070f43a7bbe010ab412c8670edc0579768a8de35 with merge https://github.com/ScuffleCloud/scuffle/commit/d68d2f5c9f43967e3ddc02f67e84a2ddd3e2fe27...
💔 Test failed - brawl-done
?brawl try
⌛ Trying commit https://github.com/ScuffleCloud/scuffle/commit/272825403680dd3f169db13e4aa3cc77af49f613 with merge https://github.com/ScuffleCloud/scuffle/commit/1dbf7054f310717f8456fa5e1aa2d62c4788d0b0...
💔 Test failed - brawl-done
?brawl try
⌛ Trying commit https://github.com/ScuffleCloud/scuffle/commit/e57ba91b244ca2f807ab2c186413a6c0a6bfbfc9 with merge https://github.com/ScuffleCloud/scuffle/commit/0ba6c3ca2f7c13afaeb80a0d8aacea9d271797fa...