@@ -16,16 +16,22 @@ def _fake_runner(responses):
1616 """Return a run_cmd-style fn that maps git subcommand -> canned output."""
1717 def runner (args , timeout = 120 , cwd = None ):
1818 if args and args [0 ] == "git" :
19- sub = args [1 ]
20- out , code = responses .get (sub , ("" , 0 ))
19+ # responses may map the full ref spec (e.g. "tags/v0.85.1") or just
20+ # the subcommand; try both so callers can pin an exact tag.
21+ key = None
22+ for cand in (" " .join (args [1 :]), args [1 ]):
23+ if cand in responses :
24+ key = cand
25+ break
26+ out , code = responses .get (key , ("" , 0 ))
2127 return out , "" , code
2228 return "" , "unexpected cmd" , 1
2329 return runner
2430
2531
2632def test_build_load_env_success (tmpdir ):
2733 (tmpdir / "lpb.stack.env" ).write_text (
28- "LPB_PI_VERSION=0.84.4 \n "
34+ "LPB_PI_VERSION=0.85.1 \n "
2935 "LPB_CONFIG_FORK=https://github.com/lpb-stack/config.git\n "
3036 "LPB_CONFIG_REF=main\n "
3137 "LPB_IMAGE_CLI=ghcr.io/lpb-stack/devstack:cli\n "
@@ -70,21 +76,23 @@ def test_build_load_env_expands_home(tmpdir):
7076
7177
7278def test_build_build_args_with_fake_git (tmpdir ):
79+ pi_ver = "0.85.1"
7380 env = {
74- "LPB_PI_VERSION" : "0.84.4" ,
81+ "LPB_PI_VERSION" : pi_ver ,
7582 "LPB_CONFIG_FORK" : "cfg" , "LPB_CONFIG_REF" : "main" ,
7683 "LPB_NODE_VERSION" : "24" , "LPB_VSCODIUM_VERSION" : "v" ,
7784 "LPB_IMAGE_CLI" : "cli" , "LPB_IMAGE_WEB" : "web" ,
7885 }
7986 (tmpdir / "VERSION" ).write_text ("0.9.9-test\n " )
8087 runner = _fake_runner ({
81- "ls-remote" : ("abc123HEAD...\t refs/tags/v0.84.4\n " , 0 ),
88+ f"ls-remote https://github.com/earendil-works/pi.git refs/tags/v{ pi_ver } " : (
89+ "abc123HEAD...\t refs/tags/v" + pi_ver + "\n " , 0 ),
8290 "rev-parse" : ("beef123\n " , 0 ),
8391 })
8492 now = datetime .datetime (2026 , 8 , 10 , 12 , 0 , 0 , tzinfo = datetime .timezone .utc )
8593 args = build .build_args (env , root = tmpdir .path , now = now , runner = runner )
8694 flat = " " .join (args )
87- assert "PI_VERSION=0.84.4 " in flat
95+ assert f "PI_VERSION={ pi_ver } " in flat
8896 assert "PI_HEAD_SHA=abc123HEAD..." in flat
8997 assert "IMAGE_REVISION=beef123" in flat
9098 assert "IMAGE_BUILT=2026-08-10T12:00:00Z" in flat
@@ -94,7 +102,7 @@ def test_build_build_args_with_fake_git(tmpdir):
94102
95103def test_build_build_args_git_fail (tmpdir ):
96104 env = {
97- "LPB_PI_VERSION" : "0.84.4 " ,
105+ "LPB_PI_VERSION" : "0.85.1 " ,
98106 "LPB_CONFIG_FORK" : "cfg" , "LPB_CONFIG_REF" : "main" ,
99107 "LPB_NODE_VERSION" : "24" , "LPB_VSCODIUM_VERSION" : "v" ,
100108 "LPB_IMAGE_CLI" : "cli" , "LPB_IMAGE_WEB" : "web" ,
0 commit comments