tribuchet: building on jamie Sourcing python-remove-tests-dir-hook Sourcing python-catch-conflicts-hook.sh Sourcing python-remove-bin-bytecode-hook.sh Sourcing pypa-build-hook Using pypaBuildPhase Sourcing python-runtime-deps-check-hook Using pythonRuntimeDepsCheckHook Sourcing pypa-install-hook Using pypaInstallPhase Sourcing python-imports-check-hook.sh Using pythonImportsCheckPhase Sourcing python-namespaces-hook Sourcing python-catch-conflicts-hook.sh Sourcing pytest-check-hook Using pytestCheckPhase Running phase: unpackPhase unpacking source archive /nix/store/z0k5i2qscw8lsdl7528sb1k01a0asxdq-nixbot source root is nixbot setting SOURCE_DATE_EPOCH to timestamp 315619200 of file "nixbot/pyproject.toml" Running phase: patchPhase Running phase: updateAutotoolsGnuConfigScriptsPhase Running phase: configurePhase no configure script, doing nothing Running phase: buildPhase Executing pypaBuildPhase Creating a wheel... pypa build flags: --no-isolation --outdir dist/ --wheel * Getting build dependencies for wheel... * Building wheel... Successfully built nixbot-0.0.1-py3-none-any.whl Finished creating a wheel... Finished executing pypaBuildPhase Running phase: pythonRuntimeDepsCheckHook Executing pythonRuntimeDepsCheck Checking runtime dependencies for nixbot-0.0.1-py3-none-any.whl Finished executing pythonRuntimeDepsCheck Running phase: installPhase Executing pypaInstallPhase Successfully installed nixbot-0.0.1-py3-none-any.whl Finished executing pypaInstallPhase Running phase: pythonOutputDistPhase Executing pythonOutputDistPhase Finished executing pythonOutputDistPhase Running phase: fixupPhase shrinking RPATHs of ELF executables and libraries in /nix/store/vq1da4x3rzvj9rzw2vprzc4wqh2xy2sp-python3.14-nixbot-tests checking for references to /build/ in /nix/store/vq1da4x3rzvj9rzw2vprzc4wqh2xy2sp-python3.14-nixbot-tests... patching script interpreter paths in /nix/store/vq1da4x3rzvj9rzw2vprzc4wqh2xy2sp-python3.14-nixbot-tests stripping (with command strip and flags -S -p) in /nix/store/vq1da4x3rzvj9rzw2vprzc4wqh2xy2sp-python3.14-nixbot-tests/lib /nix/store/vq1da4x3rzvj9rzw2vprzc4wqh2xy2sp-python3.14-nixbot-tests/bin shrinking RPATHs of ELF executables and libraries in /nix/store/0fvqq631gddm7v8qwr2nbcqqzpvl3hc9-python3.14-nixbot-tests-dist checking for references to /build/ in /nix/store/0fvqq631gddm7v8qwr2nbcqqzpvl3hc9-python3.14-nixbot-tests-dist... patching script interpreter paths in /nix/store/0fvqq631gddm7v8qwr2nbcqqzpvl3hc9-python3.14-nixbot-tests-dist Rewriting #!/nix/store/gxzhl7aaiid7zp3y47jqqiq7zg5mqpwp-python3-3.14.6/bin/python3.14 to #!/nix/store/gxzhl7aaiid7zp3y47jqqiq7zg5mqpwp-python3-3.14.6 wrapping `/nix/store/vq1da4x3rzvj9rzw2vprzc4wqh2xy2sp-python3.14-nixbot-tests/bin/nixbot'... Executing pythonRemoveTestsDir Finished executing pythonRemoveTestsDir Running phase: installCheckPhase no Makefile or custom installCheckPhase, doing nothing Running phase: pythonCatchConflictsPhase Running phase: pythonRemoveBinBytecodePhase Running phase: pythonImportsCheckPhase Executing pythonImportsCheckPhase Running phase: pytestCheckPhase Executing pytestCheckPhase pytest flags: -m pytest --numprocesses=24 /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment. warner(PytestBenchmarkWarning(text)) /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment. warner(PytestBenchmarkWarning(text)) /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment. warner(PytestBenchmarkWarning(text)) /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment. warner(PytestBenchmarkWarning(text)) /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment. warner(PytestBenchmarkWarning(text)) /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment. warner(PytestBenchmarkWarning(text)) /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment. warner(PytestBenchmarkWarning(text)) /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment. warner(PytestBenchmarkWarning(text)) /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment. warner(PytestBenchmarkWarning(text)) /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment. warner(PytestBenchmarkWarning(text)) /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment. warner(PytestBenchmarkWarning(text)) /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment. warner(PytestBenchmarkWarning(text)) /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment. warner(PytestBenchmarkWarning(text)) /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment. warner(PytestBenchmarkWarning(text)) /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment. warner(PytestBenchmarkWarning(text)) /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment. warner(PytestBenchmarkWarning(text)) /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment. warner(PytestBenchmarkWarning(text)) /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment. warner(PytestBenchmarkWarning(text)) /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment. warner(PytestBenchmarkWarning(text)) /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment. warner(PytestBenchmarkWarning(text)) /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment. warner(PytestBenchmarkWarning(text)) /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment. warner(PytestBenchmarkWarning(text)) /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment. warner(PytestBenchmarkWarning(text)) /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment. warner(PytestBenchmarkWarning(text)) /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment. warner(PytestBenchmarkWarning(text)) ============================= test session starts ============================== platform linux -- Python 3.14.6, pytest-9.1.1, pluggy-1.6.0 benchmark: 5.2.3 (defaults: timer=time.perf_counter disable_gc=False min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=False warmup_iterations=100000) rootdir: /build/nixbot configfile: pyproject.toml plugins: asyncio-1.4.0, timeout-2.4.0, xdist-3.8.0, benchmark-5.2.3, anyio-4.14.2 asyncio: mode=Mode.AUTO, debug=False, asyncio_default_fixture_loop_scope=None, asyncio_default_test_loop_scope=function timeout: 60.0s timeout method: signal timeout func_only: False created: 24/24 workers 24 workers [845 items] ........................................................................ [ 8%] ........................................sssssssss....................... [ 17%] ........................................................................ [ 25%] ........................................................................ [ 34%] ..........................................................s............. [ 42%] ........................................................................ [ 51%] ...................................s.................................... [ 59%] ..................................s..................................... [ 68%] ........................................................................ [ 76%] ........................................................................ [ 85%] ...................................................F.................... [ 93%] ..................F............................F..... [100%] =================================== FAILURES =================================== __________________ test_inflight_share_fans_out_final_status ___________________ [gw1] linux -- Python 3.14.6 /nix/store/gxzhl7aaiid7zp3y47jqqiq7zg5mqpwp-python3-3.14.6/bin/python3.14 make_env = .make at 0x7fffee038b40> upstream = PosixPath('/build/pytest-of-nixbld/pytest-0/popen-gw1/test_inflight_share_fans_out_f0/upstream') async def test_inflight_share_fans_out_final_status( make_env: EnvFactory, upstream: Path ) -> None: sha = add_commit(upstream, "share") git(upstream, "branch", "copy", "main") executor = FakeExecutor(gate=asyncio.Event()) orchestrator, reporter, project = await make_env( FakeEvalRunner([mk_job("a")]), executor, "share", ) task = asyncio.create_task( orchestrator.handle_change_event( ChangeEvent(repo=project, branch="main", commit_sha=sha) ) ) await asyncio.wait_for(executor.started.wait(), timeout=10) build2 = await orchestrator.handle_change_event( ChangeEvent(repo=project, branch="copy", commit_sha=sha) ) assert executor.gate is not None executor.gate.set() build1 = await task assert build1 is not None assert build2 is not None assert build1.id_ == build2.id_ finished = [e for e in reporter.events if e[0] == "finished"] > assert len(finished) == 2 # one final status per context ^^^^^^^^^^^^^^^^^^^^^^^^^ E AssertionError: assert 1 == 2 E + where 1 = len([('finished', 27, 'succeeded', 1)]) nixbot/tests/test_orchestrator.py:1047: AssertionError _________________ test_linked_context_reported_on_eval_failure _________________ [gw1] linux -- Python 3.14.6 /nix/store/gxzhl7aaiid7zp3y47jqqiq7zg5mqpwp-python3-3.14.6/bin/python3.14 make_env = .make at 0x7fffed2f6f00> upstream = PosixPath('/build/pytest-of-nixbld/pytest-0/popen-gw1/test_linked_context_reported_o0/upstream') async def test_linked_context_reported_on_eval_failure( make_env: EnvFactory, upstream: Path ) -> None: sha = add_commit(upstream, "lef") git(upstream, "branch", "lef-copy", "main") eval_runner = FakeEvalRunner([], block=asyncio.Event(), error=EvalError("boom")) orchestrator, reporter, project = await make_env(eval_runner, FakeExecutor(), "lef") task = asyncio.create_task( orchestrator.handle_change_event( ChangeEvent(repo=project, branch="main", commit_sha=sha) ) ) await asyncio.wait_for(eval_runner.started.wait(), timeout=10) build2 = await orchestrator.handle_change_event( ChangeEvent(repo=project, branch="lef-copy", commit_sha=sha) ) assert eval_runner.block is not None eval_runner.block.set() build1 = await task assert build1 is not None assert build2 is not None assert build1.id_ == build2.id_ finished = [e for e in reporter.events if e[0] == "finished"] > assert len(finished) == 2 E AssertionError: assert 1 == 2 E + where 1 = len([('finished', 43, 'failed', 0)]) nixbot/tests/test_orchestrator.py:1505: AssertionError ------------------------------ Captured log call ------------------------------- WARNING nixbot.build_run:build_run.py:162 evaluation failed ____________ test_cancel_during_eval_resolves_linked_eval_contexts _____________ [gw1] linux -- Python 3.14.6 /nix/store/gxzhl7aaiid7zp3y47jqqiq7zg5mqpwp-python3-3.14.6/bin/python3.14 make_env = .make at 0x7fffed2f7950> upstream = PosixPath('/build/pytest-of-nixbld/pytest-0/popen-gw1/test_cancel_during_eval_resolv0/upstream') async def test_cancel_during_eval_resolves_linked_eval_contexts( make_env: EnvFactory, upstream: Path ) -> None: """Cancelling a build mid-eval must resolve the nix-eval context of every linked event, not only the primary one.""" add_commit(upstream, "linked-cancel") sha = git(upstream, "rev-parse", "HEAD") eval_runner = FakeEvalRunner([mk_job("a")], block=asyncio.Event()) orchestrator, reporter, project = await make_env( eval_runner, FakeExecutor(), name="linked-cancel", ) task1 = asyncio.create_task( orchestrator.handle_change_event( ChangeEvent(repo=project, branch="main", commit_sha=sha) ) ) await eval_runner.started.wait() build2 = await orchestrator.handle_change_event( ChangeEvent(repo=project, branch="main", commit_sha=sha, pr_number=4) ) assert build2 is not None orchestrator.cancel_events[build2.id_].set() await task1 cancelled_evals = [e for e in reporter.events if e[0] == "eval-cancelled"] assert len(cancelled_evals) == 2 finished = [e for e in reporter.events if e[0] == "finished"] > assert len(finished) == 2 E AssertionError: assert 1 == 2 E + where 1 = len([('finished', 69, 'cancelled', 0)]) nixbot/tests/test_orchestrator.py:2403: AssertionError =========================== short test summary info ============================ FAILED nixbot/tests/test_orchestrator.py::test_inflight_share_fans_out_final_status FAILED nixbot/tests/test_orchestrator.py::test_linked_context_reported_on_eval_failure FAILED nixbot/tests/test_orchestrator.py::test_cancel_during_eval_resolves_linked_eval_contexts ================== 3 failed, 830 passed, 12 skipped in 25.22s ==================