8000 SpongeBob client changes by brandonweeks · Pull Request #11 · gominimal/minimal · GitHub
[go: up one dir, main page]

Skip to content
8000
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
7914fcc
Use BSR generate SpongeBob client
brandonweeks Oct 7, 2025
5fecb95
build event vibes
brandonweeks Oct 8, 2025
3383782
more vibes
brandonweeks Oct 9, 2025
fe8b2d5
use canonical proto
brandonweeks Oct 9, 2025
c8f91b1
update
brandonweeks Oct 9, 2025
431574a
downgrade spongbob warning to debug
brandonweeks Oct 10, 2025
e986f8b
Merge remote-tracking branch 'origin/main' into spongebob2
brandonweeks Oct 10, 2025
05f5eb9
fix linux build
brandonweeks Oct 10, 2025
511c416
stop using UUIDs again
brandonweeks Oct 10, 2025
f4c221a
build metadata event
brandonweeks Oct 14, 2025
37e251a
rm log_build_results_to_spongebob
brandonweeks Oct 14, 2025
3c7e35a
can I commit the token??
brandonweeks Oct 14, 2025
3f983dc
Merge branch 'main' into spongebob2
brandonweeks Oct 14, 2025
0969c6c
fix tests
brandonweeks Oct 14, 2025
e7f490a
remove example
brandonweeks Oct 14, 2025
2da0eb2
Reuse canonical proto types
brandonweeks Oct 14, 2025
e33c708
refactor
brandonweeks Oct 14, 2025
77a395a
refactor
brandonweeks Oct 14, 2025
8a12d90
refactor
brandonweeks Oct 14, 2025
2eb5a64
new protocol
brandonweeks Oct 14, 2025
e2223f0
merge crates
brandonweeks Oct 15, 2025
f3b58ae
crates/cache: fix CI flake caused by wall clock
twitchyliquid64 Oct 14, 2025
90b36f3
crates/cache: fix clippy
twitchyliquid64 Oct 14, 2025
4c1b2f6
addded btop 1.4.5 package def + build script
jtnkminimal Oct 14, 2025
828cdb9
crates/cache: shard metadata based on the first byte
twitchyliquid64 Oct 14, 2025
b06f9eb
minimal: surface better error when sources fail to fetch
twitchyliquid64 Oct 14, 2025
beae0b0
crates/cache: start wiring metadata for storing subsets in the cache
twitchyliquid64 Oct 14, 2025
8f38d93
packages: fix runtime_deps of pciutils
twitchyliquid64 Oct 14, 2025
f3126b0
minimal: wiring for storing subsets in the cache
twitchyliquid64 Oct 15, 2025
822958d
crates/graph: make transitive enumeration subset-aware
twitchyliquid64 Oct 15, 2025
9570849
minimal run: add --env, carry TERM,COLORTERM,LS_COLORS vars
twitchyliquid64 Oct 15, 2025
6f0f5f3
crates/common: improve error types
twitchyliquid64 Oct 15, 2025
4d6b945
crate/graph: make planner yield exact wiring information
twitchyliquid64 Oct 15, 2025
41237d6
rm special cased events
brandonweeks Oct 15, 2025
77be858
more refactor
brandonweeks Oct 15, 2025
d6d0bbe
more refactor
brandonweeks Oct 15, 2025
4369f55
simplify
brandonweeks Oct 15, 2025
72925c4
get working again
brandonweeks Oct 15, 2025
d67fd24
fix shutdown
brandonweeks Oct 15, 2025
28b235f
Fix cargo-deny
brandonweeks Oct 16, 2025
7136d1d
replace json with protobuf text format
brandonweeks Oct 16, 2025
0c5ed20
Merge remote-tracking branch 'origin/main' into spongebob2
brandonweeks Oct 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[registries.buf]
index = "sparse+https://buf.build/gen/cargo/"
credential-provider = "cargo:token"
token = "Bearer a54105a33eb0bc75fd05666e96f6a63ec8bb54fa7b964665e230d24824268687"
17 changes: 16 additions & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,11 +93,18 @@ Package Spec (build.ncl) → SpecReader → DepGraph → ExecPlan → Build Reso

**Sandbox Isolation Strategy**:
- **Linux**: User namespaces + mount namespaces for filesystem isolation
- **macOS**: `sandbox-exec` with dynamically generated policies
- **macOS**: `sandbox-exec` with dynamically generated policies
- **Dependency mounting**: Build dependencies mounted read-only at specific paths
- **Input copying**: Source files and local inputs copied to TMPDIR
- **Output staging**: Builds write to `OUTPUT_DIR`, enumerated outputs copied to cache

**SpongeBob Integration**:
- **Build events**: Executor emits TargetStarted and TargetCompleted events for observability
- **Target identifiers**: Package names (e.g., "tar", "glibc") used as target IDs
- **File uploads**: stdout/stderr uploaded to SpongeBob after build execution
- **Event flow**: TargetStarted → Build executes → Files uploaded → TargetCompleted
- **Error handling**: Events published even on build failure for complete observability

### Package Ecosystem

**Current Package Count**: 41 packages including:
Expand Down Expand Up @@ -175,6 +182,14 @@ gcc,
- Linux uses direct syscalls via `nix` crate (no external dependencies)
- Error handling includes platform-specific sandbox violations

**Build Observability (SpongeBob Integration)**:
- **build-sandbox executor** emits build events automatically when a SpongeBobInvocation is provided
- **TargetStarted event**: Published before build execution begins, creates target in database
- **TargetCompleted event**: Published after build finishes (success or failure)
- **File uploads**: stdout/stderr automatically uploaded to SpongeBob for each target
- **Target naming**: Uses package name as semantic target identifier (e.g., "tar" not a random UUID)
- **Requirement**: Targets must exist (via TargetStarted) before file uploads succeed

## Working with Package Specs

Package specifications are written in Nickel in `packages/<name>/build.ncl`:
Expand Down
Loading
0