Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion src/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -129,15 +129,21 @@ def run_setup(
cwd: Path | None = None,
trusted: bool = True,
last_seen_version: str | None = None,
current_version: str | None = None,
) -> SetupReport:
root = cwd or Path(__file__).resolve().parent.parent
prefetches = [
start_mdm_raw_read(),
start_keychain_prefetch(),
start_project_scan(root),
]
# When the package is not installed via pip (dev / source checkout),
# `_read_package_version()` returns '0.0.0' — which makes any non-trivial
# `last_seen_version` compare as "newer than current" and suppresses
# release notes. Allow callers (tests, dev runs) to override.
effective_version = current_version if current_version is not None else _read_package_version()
release_notes_payload = check_for_release_notes(
current_version=_read_package_version(),
current_version=effective_version,
last_seen_version=last_seen_version,
cwd=root,
)
Expand Down
11 changes: 10 additions & 1 deletion tests/test_setup_runtime_checks.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,16 @@ def test_run_setup_reports_runtime_and_release_notes(self) -> None:
(Path(tmp) / 'CHANGELOG.md').write_text(
'# Changelog\n\n## 9.9.9\n- big release\n', encoding='utf-8',
)
report = run_setup(cwd=Path(tmp), trusted=True, last_seen_version='0.0.1')
# Override current_version because in a source checkout the
# installed package metadata reports 0.0.0, which would make
# last_seen_version='0.0.1' compare as already-current and
# suppress all release notes.
report = run_setup(
cwd=Path(tmp),
trusted=True,
last_seen_version='0.0.1',
current_version='9.9.9',
)
self.assertIsInstance(report, SetupReport)
self.assertGreaterEqual(len(report.runtime_checks), 3)
self.assertIn('big release', report.release_notes)
Expand Down