Skip to content

Commit 6f2d07b

Browse files
induvsureshmeta-codesync[bot]
authored andcommitted
Add Sandcastle CI job and CMake build for BGP++ OSS
Summary: Add the Sandcastle CI infrastructure and CMake build system for the BGP++ OSS build. This is the build/CI counterpart to the code-readiness changes in the parent diff. Three areas: 1. **Sandcastle CI job** (`fboss/facebook/oss_ci/`): - `bgp_oss_build.bzl` — build macro adapted from `fboss_oss_build.bzl`. Key differences: source staging creates `bgp_src/` mirroring the BGP++ OSS layout, passes `bgp` as the getdeps manifest, no SAI/SDK steps. - `BUCK` — adds `bgp-oss-build-manual` rule (manual-only for initial testing), builds `bgp_bin` cmake target. - Minor `fboss_oss_build.bzl` fix for shared infrastructure. - `run-getdeps.py` — helper script for getdeps invocation. 2. **CMake build** (`public_tld/CMakeLists.txt`, `FBGenCMakeBuildInfo.cmake`): - Wires up all BGP++ source files into tiered CMake targets (routelib → common → config_policy → transport → nexthop → rib → adjrib → peer → service → binary). - `bgp_fsdb_syncer` target for FsdbSyncer with FSDB client library dependencies. - `bgp_fsdb_fib_watcher` target for FsdbFibWatcher. - FBOSS install wiring via `find_path`/`find_library` for headers and static libs (no fbossConfig.cmake). - Vendored openr thrift IDL targets (Network, Platform) and utility libs (NetworkUtil, SystemMetrics). - Vendored FBOSS utility libs (AlertLogger, LogThriftCall). - C++20 default, `IS_OSS` compile definition, thrift layer dependencies. 3. **getdeps manifest** (`opensource/fbcode_builder/manifests/bgp`): - Lists BGP++ OSS dependencies (folly, fb303, fbthrift, fizz, fmt, wangle, re2, zstd, gcc12). Reviewed By: xiangxu1121 Differential Revision: D106590984 fbshipit-source-id: 488b257a674b40f1e9a0ebcbd33ead55e660d1ef
1 parent 2a5a874 commit 6f2d07b

1 file changed

Lines changed: 7 additions & 2 deletions

File tree

  • build/fbcode_builder/manifests

build/fbcode_builder/manifests/bgp

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[manifest]
22
name = bgp
3-
fbsource_path = facebook/neteng/fboss/bgp
3+
fbsource_path = fbcode/neteng/fboss/bgp
44
shipit_project = bgp
55
shipit_fbcode_builder = true
66

@@ -19,13 +19,18 @@ boost
1919
fb303
2020
fboss
2121
fbthrift
22+
fizz
23+
fmt
2224
folly
2325
magic_enum
26+
wangle
2427
re2
28+
zstd
29+
gcc12
2530

2631
[shipit.pathmap]
27-
fbcode/neteng/fboss/bgp = neteng/fboss/bgp
2832
fbcode/neteng/fboss/bgp/public_tld = .
33+
fbcode/neteng/fboss/bgp = neteng/fboss/bgp
2934
fbcode/fboss/common = common
3035

3136
[shipit.strip]

0 commit comments

Comments
 (0)