Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
5412a31
build(nix): shell.nix and devenv support
mvachhar Feb 23, 2026
248ef29
build(nix): phase out rust-toolchain.toml
mvachhar Feb 23, 2026
e5c590e
build(nix): frr build
mvachhar Feb 23, 2026
787f154
build(nix): clean up dpdk build
mvachhar Feb 23, 2026
5b03a0b
fix(build): wrong bluefield2 platform
mvachhar Feb 23, 2026
ae8122d
build(nix): add minimal gdb build
mvachhar Feb 23, 2026
8537021
build(nix): update nix profiles
mvachhar Feb 23, 2026
8b294ed
build(nix): rework default.nix
mvachhar Feb 23, 2026
4755d68
build: rework build.rs scripts
mvachhar Feb 23, 2026
6d448c1
build: simplify build environment
mvachhar Feb 24, 2026
cbf1d14
ci: rewrite GitHub workflows for nix-based builds
mvachhar Feb 23, 2026
88dfcbe
fix(build): incorrect tokio features in dev-depends
mvachhar Feb 23, 2026
47431f0
test: update tests for nix build system
mvachhar Feb 23, 2026
d56f4e1
chore: bump dependencies
mvachhar Feb 24, 2026
1b1c52a
chore(docs): bump KaTeX and clean up doc includes
mvachhar Feb 23, 2026
419f7a5
chore(scripts): Remove rust.env
mvachhar Feb 23, 2026
d487846
chore(build): rewrite justfile for nix build system
mvachhar Feb 23, 2026
23936bf
chore(docs): update documentation for nix build system
mvachhar Feb 24, 2026
4144d8c
chore(build): add setup-roots target to justfile
mvachhar Feb 24, 2026
5020394
chore(ci): make sanitizer builds optional
mvachhar Feb 24, 2026
9b0f245
fix: Fix generated file oversight
mvachhar Feb 24, 2026
d2cbc95
fix: Comment out failing new workflows
mvachhar Feb 24, 2026
29f59f0
chore(scripts): Remove unneeded scripts
mvachhar Feb 24, 2026
efb185c
chore(deps): add FRR component pins
daniel-noland Mar 18, 2026
b0f7d4a
chore(deps): update pinned dependencies
daniel-noland Mar 18, 2026
c5ab49f
chore(nix): trim unnecessary outputs and inputs from overlays
daniel-noland Mar 18, 2026
49b1bcb
chore(nix): add FRR component nix packages
daniel-noland Mar 18, 2026
90420e1
chore(nix): rework FRR overlay and build for containerized deployment
daniel-noland Mar 18, 2026
fc8846d
chore(nix): rework default.nix build definitions and container images
daniel-noland Mar 18, 2026
cfb8cd5
chore(build): use VERSION env var for gateway version in k8s-intf
daniel-noland Mar 18, 2026
d958348
chore(ci): update dev.yml for nix build system
daniel-noland Mar 18, 2026
a169f5f
chore(scripts): add vlab development scripts
daniel-noland Mar 18, 2026
cd18b19
chore(build): rework justfile for multi-target builds
daniel-noland Mar 18, 2026
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
17 changes: 7 additions & 10 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
[env]
COMPILE_ENV = { value = "compile-env", relative = true, force = false }
PATH = { value = "compile-env/bin", relative = true, force = true }
LIBCLANG_PATH = { value = "compile-env/lib", relative = true, force = true }
PKG_CONFIG_PATH = { value = "compile-env/sysroot/x86_64-unknown-linux-gnu/release/lib/pkgconfig", relative = true, force = true }
DATAPLANE_SYSROOT = { value = "sysroot", relative = true, force = false }
C_INCLUDE_PATH = { value = "sysroot/include", relative = true, force = false }
LIBRARY_PATH = { value = "sysroot/lib", relative = true, force = false }
GW_CRD_PATH = { value = "devroot/src/gateway/config/crd/bases", relative = true, force = false }
PKG_CONFIG_PATH = { value = "sysroot/lib/pkgconfig", relative = true, force = false }
LIBCLANG_PATH = { value = "devroot/lib", relative = true, force = false }

[build]
target = "x86_64-unknown-linux-gnu"
rustc = "compile-env/bin/rustc"
rustflags = ["--cfg", "tokio_unstable"]

[target.x86_64-unknown-linux-gnu]
runner = ["scripts/test-runner.sh"]
rustflags = ["--cfg=tokio_unstable"]
48 changes: 2 additions & 46 deletions .envrc
Original file line number Diff line number Diff line change
@@ -1,46 +1,2 @@
export PROJECT_DIR="$(pwd)"

if [ -h "${PROJECT_DIR}/compile-env" ] || [ -d "${PROJECT_DIR}/compile-env" ]; then
export PATH="${PROJECT_DIR}/compile-env/bin:$PATH"
export LIBCLANG_PATH="${PROJECT_DIR}/compile-env/bin"
export COMPILE_ENV="${PROJECT_DIR}/compile-env"
else
>&2 echo "no compile environment found"
exit 0
fi

export NEXTEST_EXPERIMENTAL_LIBTEST_JSON=1

CRT="-C target-feature=-crt-static"
DEBUG="-C debuginfo=full -C split-debuginfo=off -C dwarf-version=5"
LINKER="-C linker=${COMPILE_ENV}/bin/clang -C link-arg=--ld-path=${COMPILE_ENV}/bin/ld.lld"
RELRO="-C relro-level=full"
TARGET_CPU="-C target-cpu=x86-64-v3"

RUSTFLAGS="${CRT} ${DEBUG} ${LINKER} ${RELRO} ${TARGET_CPU}"

OPTIMIZE="-C opt-level=3 -C linker-plugin-lto -C lto=thin -C embed-bitcode=yes -C codegen-units=1"

case ${PROFILE:-DEBUG} in
fuzz|FUZZ)
COVERAGE="-C instrument-coverage"
DEBUG_ASSERTIONS="-C debug-assertions=on"
OVERFLOW_CHECK="-C overflow-checks=on"
RUSTFLAGS="${RUSTFLAGS} ${COVERAGE} ${DEBUG_ASSERTIONS} ${OVERFLOW_CHECK}"
;;
release|RELEASE)
RUSTFLAGS="${RUSTFLAGS} ${OPTIMIZE}"
;;
debug|DEBUG)
DEBUG_ASSERTIONS="-C debug-assertions=on"
OPTIMIZE="-C opt-level=0"
OVERFLOW_CHECK="-C overflow-checks=on"
RUSTFLAGS="${RUSTFLAGS} ${OPTIMIZE} ${DEBUG_ASSERTIONS} ${OVERFLOW_CHECK}"
;;
*)
>&2 echo "unknown profile"
exit 1
;;
esac

export RUSTFLAGS
export RUSTC_BOOTSTRAP=1
export PATH=$(pwd)/devroot/bin:$PATH
Loading
Loading