build: configured docker build pipelines for cargo native addons

- Switched Docker images to build native addons via cargo/napi-rs (`OMP_NATIVE_BUILD_BACKEND=cargo`) instead of Bazel.
- Updated Cargo.toml workspace members explicitly to prevent loading errors from stale directories under crates/.
- Added depth-agnostic patterns to .dockerignore files to exclude nested build outputs from Docker build contexts.
- Added OMP_NATIVE_CARGO_PROFILE environment variable to support configuring cargo profiles for addon builds.
This commit is contained in:
can1357
2026-08-14 07:09:48 +02:00
parent ebcbdd5297
commit ad318c7572
11 changed files with 183 additions and 39 deletions
+19 -9
View File
@@ -2,13 +2,21 @@
# .dockerignore for this file only. Robomp uses Dockerfile.robomp +
# Dockerfile.robomp.dockerignore alongside.
# Heavy build outputs — must never reach the build context. `target/` alone is
# >100 GB on a dev machine; `bazel-*` symlinks point at the bazel output base.
target/
# Heavy build outputs — must never reach the build context. Patterns are
# depth-agnostic (`**/`) to match .gitignore semantics: dockerignore anchors
# bare `target/`/`dist/` at the context root only, which leaked
# packages/*/dist (~600 MB) and go-port/*/target (~1.4 GB) into every build.
# `bazel-*` symlinks point at the bazel output base.
**/target/
bazel-*
**/node_modules
dist/
**/dist/
runs/
.xwin-cache/
packages/coding-agent/binaries/
packages/natives/npm/
**/.cache/
packages/snapcompact/research/results/
# Per-host scratch the pi codebase uses for parallel agents / worktrees.
.fallow/
@@ -40,18 +48,20 @@ runs/
CPU.*
# Build / test side outputs.
*.tsbuildinfo
coverage/
**/*.tsbuildinfo
**/coverage/
.nyc_output/
__pycache__/
**/__pycache__/
compaction-results/
changes/
# Generated files (the in-image build regenerates them).
packages/coding-agent/src/internal-urls/docs-index.generated.ts
packages/natives/native/.build/
packages/natives/native/pi_natives.darwin-*.node
packages/natives/native/pi_natives.dev.node
# Every host-built addon: natives-builder compiles its own, and a stale host
# `pi_natives.linux-*.node` riding in would be copied to /out alongside it.
# (Also drops the ~760 MB of dev addons a working checkout accumulates.)
**/*.node
packages/ai/test/.temp-images/
python/omp-rpc/src/omp_rpc.egg-info/
python/robomp/data/