Skip to content

Self-host M5: docker-exec tar-fallback should persist compiled driver artifacts to avoid Zend fallback #2963

@PurHur

Description

@PurHur

Milestone

M5 (retire Zend from the loop) — parent #1492.

Problem

On harness hosts where ./script/docker-exec.sh must use tar-copy fallback, build/ artifacts produced in one invocation do not persist into the next container. As a result:

This is not a compiler bug per se; it’s the harness wrapper discarding the compiled driver between steps.

Scope

  • script/docker-exec.sh
    • Extend tar-fallback to optionally sync back a small, explicit set of build artifacts (e.g. build/bin-compile-aot, build/selfhost-*), similar to how it syncs inventory docs.
    • Or provide a documented --sync-back preset for self-host ladders (M5) so multi-step scripts can keep native drivers.

Repro

docker info >/dev/null
# Run M5 presenter in an environment where docker-exec prints:
#   docker-exec: bind-mount incomplete; copying repo via tar...
./script/docker-exec.sh -- bash -lc './script/north-star5-verify.sh --strict'

# Observe Zend fallback in step 4b and/or invoker=zend in step 5.

Done when

  • In tar-fallback mode, a full north-star5-verify.sh --strict run does not need gen-0 Zend fallback purely due to missing build/ artifacts.
  • If sync-back is enabled, bootstrapVendorPrelinkResolveCompileInvoker() sees build/bin-compile-aot as executable in later steps.

Labels

Suggested: self-host, bootstrap, IMPORTANT.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions