Skip to content

Commit b4e6bfe

Browse files
committed
test(ci): preserve provenance and tighten guards
Keep no-lockfile dependency rechecks, cover both pip invocation forms, and remove an exact duplicate resolver test module with a tightened quality baseline. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: a939c5d6-bbbd-4fbb-8ec4-19feadc4479b
1 parent e6d77a1 commit b4e6bfe

9 files changed

Lines changed: 25 additions & 1958 deletions

CHANGELOG.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
3131
### Fixed
3232

3333
- Release binaries no longer crash with missing Rich Unicode modules when
34-
`apm deps list` renders non-ASCII package names. First-party CI and release
35-
environments install exactly from `uv.lock`, repeated `apm runtime setup llm`
36-
avoids double-injecting TLS trust into pip, and dependency resolution reuses
37-
an existing package when no lockfile context requests a refresh. (#2264)
34+
`apm deps list` renders non-ASCII package names. Repeated
35+
`apm runtime setup llm` completes without TLS recursion, and first-party CI
36+
and release environments resolve exactly from `uv.lock`. (#2264)
3837
- `apm uninstall` and `apm prune` no longer wipe still-installed dependencies'
3938
merged hook entries out of a harness (e.g. `.cursor/hooks.json`) that was
4039
dropped from a project's `targets:` list -- the hook wipe is now scoped to

src/apm_cli/core/_child_tls/_apm_tls_bootstrap.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,12 @@ def _truthy(val):
2323

2424
def _is_pip_process():
2525
"""Let pip use its vendored truststore without a second SSL injection."""
26-
return _os.path.basename(_sys.argv[0]).lower().startswith("pip")
26+
if _os.path.basename(_sys.argv[0]).lower().startswith("pip"):
27+
return True
28+
original_args = getattr(_sys, "orig_argv", ())
29+
return any(
30+
original_args[index : index + 2] == ["-m", "pip"] for index in range(len(original_args) - 1)
31+
)
2732

2833

2934
def _bootstrap():

src/apm_cli/deps/apm_resolver.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -969,9 +969,6 @@ def _should_force_recheck(self, dep_ref: DependencyReference) -> bool:
969969
if self._existing_lockfile is not None
970970
else None
971971
)
972-
# `locked_dep is None` means "new dependency" only when a lockfile exists.
973-
if self._existing_lockfile is None and not self._update_refs:
974-
return False
975972
return should_force_ref_recheck(
976973
dep_ref,
977974
locked_dep,

0 commit comments

Comments
 (0)