feat(big-bin): big binary for all services
This PR adds a new binary that executes both the email and the core service. A lot of code here is copied from the other binaries.
Codecov Report
:white_check_mark: All modified and coverable lines are covered by tests.
:white_check_mark: Project coverage is 61.79%. Comparing base (f91f96b) to head (7f6c024).
:warning: Report is 127 commits behind head on main.
Additional details and impacted files
@@ Coverage Diff @@
## main #597 +/- ##
==========================================
- Coverage 61.99% 61.79% -0.20%
==========================================
Files 381 381
Lines 30871 30970 +99
==========================================
Hits 19138 19138
- Misses 11733 11832 +99
see 4 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 | 84.16% <ø> (ø) |
|
| scuffle-bytes-util | 96.70% <ø> (ø) |
|
| scuffle-context | 100.00% <ø> (ø) |
|
| scuffle-expgolomb | 100.00% <ø> (ø) |
|
| scuffle-ffmpeg | 90.00% <ø> (ø) |
|
| scuffle-flv | 95.59% <ø> (ø) |
|
| scuffle-future-ext | 50.00% <ø> (ø) |
|
| nutype-enum | ∅ <ø> (∅) |
|
| scuffle-h264 | 99.68% <ø> (ø) |
|
| scuffle-http | 86.21% <ø> (ø) |
|
| scuffle-metrics | 95.02% <ø> (ø) |
|
| postcompile | 44.24% <ø> (ø) |
|
| scuffle-pprof | 100.00% <ø> (ø) |
|
| scuffle-rtmp | 91.16% <ø> (ø) |
|
| scuffle-settings | 99.11% <ø> (ø) |
|
| scuffle-signal | 95.41% <ø> (ø) |
:rocket: New features to boost your workflow:
- :package: JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.
🚀 Preview Deployments
| Deployment | Status | Preview URL |
|---|---|---|
| dashboard | ✅ | https://app-scuffle-cloud-ljno3c6q7-scufflecloud.vercel.app |
| docs | ⏭️ | - |
| rustdoc | ✅ | https://docs-scuffle-24lxjk2lr-scufflecloud.vercel.app |
| cloud emails render | ✅ | https://scufflecloud-email-preview-i7mlsiy9y-scufflecloud.vercel.app |
Why combine the email and core services into a single binary? What are the advantages of this approach over using them as separate microservices?
Why combine the email and core services into a single binary? What are the advantages of this approach over using them as separate microservices?
Primarily for development right now, it's much simpler to just run one binary instead of having to start a few binaries in a specific order. Especially when we add even more services later.
Primarily for development right now, it's much simpler to just run one binary instead of having to start a few binaries in a specific order. Especially when we add even more services later.
That makes sense. It's simpler to run and build one binary, especially as we add more services.
Stale because of the comment above https://github.com/ScuffleCloud/scuffle/pull/597#discussion_r2373261227