myxce/src
Rongsong Shen 68bc86bc59
build: make Go and Python builds fully offline (hermetic Nix build)
The Nix build previously fetched Go modules from goproxy.cn and Python
build deps from PyPI during the build phase, relying on network leaking
into the sandbox. This is non-reproducible and breaks whenever the
sandbox resolver is unreachable (e.g. pc13v's loopback dnsmasq).

Go:
- Vendor all three modules (frontend/apiserver, frontend/xcecli,
  autoscaler/providers/baidu/src/bcctool) and commit vendor/ trees.
- tools/go_build now builds with GOFLAGS=-mod=vendor and GOPROXY=off
  instead of GOPROXY=https://goproxy.cn.

Python (xceadmin):
- Add setuptools + wheel to xce.nix nativeBuildInputs.
- meson-build.sh installs with pip --no-build-isolation --no-index
  --no-deps so no PyPI access happens at build time.

xceadmin install script:
- Invoke meson-install.sh via find_program('bash') instead of relying
  on its #!/usr/bin/env bash shebang, which fails in the Nix install
  sandbox (no /usr/bin/env -> 'could not be run').

Cleanup:
- Drop now-unneeded cacert and impureEnvVars=[HOME] from xce.nix and
  xcecli.nix (they only existed to enable the impure network fetch).

Docs:
- README build guide: drop '--option sandbox false' from nix build /
  nix bundle commands, note the build is now hermetic, and document the
  go mod vendor + git add vendor/ maintenance workflow.

Verified: nix build .#xcecore, .#xcecore_debug, .#xcecli, and .#xce all
succeed with the sandbox enabled.
2026-09-03 12:38:49 +08:00
..
autoscaler build: make Go and Python builds fully offline (hermetic Nix build) 2026-09-03 12:38:49 +08:00
configs feat(worker-rejoin-resync): wire config fields into xceadmin build (task 1.5) 2026-09-01 09:47:02 +00:00
controller fix(worker-rejoin-resync): task 7.5 - bound the outbound reconciliation query 2026-09-02 01:23:14 +00:00
docs update documents 2026-08-10 17:51:51 +08:00
frontend build: make Go and Python builds fully offline (hermetic Nix build) 2026-09-03 12:38:49 +08:00
include feat(worker-rejoin-resync): task 6.2 - route job-state report to reconciliation 2026-09-01 21:06:42 +00:00
lib feat(worker-rejoin-resync): add reconciliation wire codec helpers (task 1.4) 2026-09-01 09:34:25 +00:00
nixSupport build: make Go and Python builds fully offline (hermetic Nix build) 2026-09-03 12:38:49 +08:00
scheduler feat(scheduler-sim-repl-verbosity): task 9.2 - discoverable help and break event types 2026-09-02 20:30:45 +00:00
schema feat(worker-rejoin-resync): task 6.1 - trigger reconciliation on rejoin 2026-09-01 19:43:18 +00:00
tools build: make Go and Python builds fully offline (hermetic Nix build) 2026-09-03 12:38:49 +08:00
worker fix(worker-rejoin-resync): task 4.4 - gate periodic load-indices send on resync_pending 2026-09-02 03:01:56 +00:00
xceadmin build: make Go and Python builds fully offline (hermetic Nix build) 2026-09-03 12:38:49 +08:00
flake.lock fix librtti package leak issue 2026-07-27 15:31:50 +08:00
flake.nix feat(dirty-content-fingerprint): Nix flake computes fingerprint via self.narHash 2026-08-21 04:57:56 +00:00
meson.build feat(dirty-content-fingerprint): add dirty_fingerprint meson option and C define 2026-08-21 03:54:37 +00:00
meson.options feat(dirty-content-fingerprint): add dirty_fingerprint meson option and C define 2026-08-21 03:54:37 +00:00