databuild/examples/basic_graph
soaxelbrooke bfec05e065
Some checks are pending
/ setup (push) Waiting to run
Big change
2025-07-13 21:18:15 -07:00
..
generated_number Big change 2025-07-13 21:18:15 -07:00
test Match proto definitions 2025-06-29 20:47:07 -07:00
.bazelrc Sigh 2025-07-10 23:21:03 -07:00
BUILD.bazel Clean up old paths 2025-06-29 20:14:33 -07:00
DataDep.java graph analyze 2025-04-18 22:35:20 -07:00
job_lookup.py graph analyze 2025-04-18 22:35:20 -07:00
JobConfig.java graph analyze 2025-04-18 22:35:20 -07:00
MODULE.bazel Working app serving 2025-07-10 23:43:47 -07:00
MODULE.bazel.lock Big change 2025-07-13 21:18:15 -07:00
README.md Add e2e test 2025-07-07 19:20:45 -07:00
UnifiedGenerateNumber.java Match proto definitions 2025-06-29 20:47:07 -07:00
UnifiedSum.java Match proto definitions 2025-06-29 20:47:07 -07:00

Basic Graph - Random Number Generator

This example demonstrates a databuild_job that generates a random number seeded based on the partition ref.

Building Output Partitions

CLI Build

Use the DataBuild CLI to build specific partitions:

# Builds bazel-bin/basic_graph.build
bazel build //:basic_graph.service

# Build individual partitions
bazel-bin/basic_graph.build pippin salem sadie

# Build sum partition 
bazel-bin/basic_graph.build pippin_salem_sadie

Service Build

Use the Build Graph Service for HTTP API access:

# Start the service
bazel run //:basic_graph.service
bazel-bin/basic_graph.service

# Submit build request via HTTP
curl -X POST http://localhost:8080/api/v1/builds \
  -H "Content-Type: application/json" \
  -d '{"partitions": ["pippin", "salem", "sadie"]}'

# Check build status
curl http://localhost:8080/api/v1/builds/BUILD_REQUEST_ID

# Get partition status
curl http://localhost:8080/api/v1/partitions/pippin/status