import os
from pathlib import Path
import shutil
import subprocess
import time

os.umask(0o077)
root='/workspace/contextra-analytics-runtime-lifecycle-refactor'
assert subprocess.check_output(['git','-C',root,'rev-parse','HEAD'],text=True).strip() == '372679ef9038158baaf0f5e04c4c6274d7dc44e6'
assert not subprocess.check_output(['git','-C',root,'status','--porcelain'],text=True).strip()
log=Path('/tmp/codex/ltb1021/20260909-identity-image/build.log')
with log.open('w') as output:
    process=subprocess.Popen(['docker','build','--pull=false','--network=none','--progress=plain',
        '-f','docker/Dockerfile','--target','app','-t','contextra-analytics:smoke-372679e','.'],
        cwd=root,stdout=output,stderr=subprocess.STDOUT,env={**os.environ,'DOCKER_BUILDKIT':'1'})
    while process.poll() is None:
        if shutil.disk_usage('/var/lib/docker').free < 15*1024**3:
            process.terminate()
            process.wait(timeout=30)
            raise SystemExit('BUILD STOPPED: disk floor')
        time.sleep(.5)
print('BUILD exit:',process.returncode)
print('\n'.join(log.read_text().splitlines()[-10:]))
raise SystemExit(process.returncode)
