lean-runtime 2.0.8__tar.gz → 2.0.9__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/CHANGELOG.md +5 -0
- {lean_runtime-2.0.8/lean_runtime.egg-info → lean_runtime-2.0.9}/PKG-INFO +1 -1
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/cli.py +11 -1
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/environments.py +14 -2
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/runtime.py +8 -1
- {lean_runtime-2.0.8 → lean_runtime-2.0.9/lean_runtime.egg-info}/PKG-INFO +1 -1
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/pyproject.toml +1 -1
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/tests/test_cli.py +15 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/tests/test_prebuilt_policy.py +16 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/LICENSE +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/MANIFEST.in +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/README.md +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/catalog/environments.toml +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/catalog/locks/core-v4.32.2.lock.json +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/catalog/locks/mathlib-v4.30.0.lock.json +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/catalog/locks/mathlib-v4.31.0.lock.json +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/catalog/locks/mathlib-v4.32.2.lock.json +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/compatibility/README.md +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/compatibility/mathlib-4.32.2.json +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/compatibility/mathlib-4.32.2.toml +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/docs/architecture.md +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/docs/captures.md +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/docs/case-study-v1.md +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/docs/cli.md +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/docs/development.md +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/docs/environments.md +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/docs/getting-started.md +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/docs/index.md +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/docs/local-projects.md +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/docs/portable-copies.md +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/docs/python-api.md +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/docs/ready-programs.md +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/docs/standalone-files.md +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/docs/trust-and-limitations.md +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/docs/v1-precision.md +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/examples/mathlib.toml +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/__init__.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/__main__.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/_git.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/_paths.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/backends.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/bundles.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/comparison.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/decisions.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/diagnostics.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/discovery/__init__.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/discovery/analyzer.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/discovery/api.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/discovery/candidate.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/discovery/catalog.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/discovery/catalog_build.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/discovery/catalog_cli.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/discovery/catalog_manifest.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/discovery/data/catalog.json +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/discovery/defaults.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/discovery/engine.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/discovery/errors.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/discovery/module_inventory.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/discovery/planner.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/discovery/policy.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/discovery/probe.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/discovery/py.typed +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/discovery/result.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/discovery/schema_resources.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/discovery/schemas/catalog-v1.schema.json +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/discovery/schemas/plan-v1.schema.json +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/discovery/schemas/result-v1.schema.json +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/errors.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/events.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/facade.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/frontmatter.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/health.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/lake.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/lockfiles.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/locking.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/matrix.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/models.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/oci.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/policies.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/profiling.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/programs.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/projects.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/publisher_verification.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/py.typed +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/references.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/resolver.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/run_cli.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/schema_resources.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/serialization.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/specs.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/store.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/timings.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/toolchains.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/verification.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/wire.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime.egg-info/SOURCES.txt +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime.egg-info/dependency_links.txt +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime.egg-info/entry_points.txt +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime.egg-info/requires.txt +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime.egg-info/top_level.txt +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/mkdocs.yml +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/schemas/cleanup-v1.schema.json +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/schemas/comparison-v1.schema.json +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/schemas/execution-v1.schema.json +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/schemas/inspect-v1.schema.json +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/schemas/matrix-v1.schema.json +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/schemas/profile-v1.schema.json +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/schemas/verify-v1.schema.json +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/scripts/run_compatibility.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/scripts/run_v1_case_study.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/scripts/smoke_wheel.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/setup.cfg +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/tests/conftest.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/tests/discovery/e2e/test_real_discovery.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/tests/discovery/test_analyzer.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/tests/discovery/test_catalog.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/tests/discovery/test_catalog_build.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/tests/discovery/test_discovery_schema_resources.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/tests/discovery/test_engine.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/tests/discovery/test_planner.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/tests/discovery/test_policy.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/tests/test_backend.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/tests/test_bundles.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/tests/test_diagnostics.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/tests/test_environment_integration.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/tests/test_events_health.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/tests/test_facade.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/tests/test_frontmatter.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/tests/test_git.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/tests/test_interactive.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/tests/test_lockfiles.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/tests/test_multifile.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/tests/test_paths.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/tests/test_programs.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/tests/test_projects.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/tests/test_references.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/tests/test_run_cli.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/tests/test_runtime.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/tests/test_schema_resources.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/tests/test_schemas.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/tests/test_signatures.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/tests/test_specs.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/tests/test_store.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/tests/test_toolchains.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/tests/test_v1_precision.py +0 -0
- {lean_runtime-2.0.8 → lean_runtime-2.0.9}/tests/test_verification_inventory.py +0 -0
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## 2.0.9 - 2026-08-10
|
|
6
|
+
|
|
7
|
+
- Allow callers and `build-and-publish --timeout` to raise the per-step limit
|
|
8
|
+
for artifact hydration and environment builds on slower platforms.
|
|
9
|
+
|
|
5
10
|
## 2.0.8 - 2026-08-10
|
|
6
11
|
|
|
7
12
|
- Add immutable, content-addressed provenance to ready-to-run program
|
|
@@ -142,6 +142,12 @@ def parser() -> argparse.ArgumentParser:
|
|
|
142
142
|
push.add_argument("--publish-to", required=True)
|
|
143
143
|
push.add_argument("--tag", action="append", default=[])
|
|
144
144
|
push.add_argument("--name")
|
|
145
|
+
push.add_argument(
|
|
146
|
+
"--timeout",
|
|
147
|
+
type=float,
|
|
148
|
+
default=1800,
|
|
149
|
+
help="maximum seconds for each artifact hydration and the environment build",
|
|
150
|
+
)
|
|
145
151
|
push.add_argument(
|
|
146
152
|
"--platform-only",
|
|
147
153
|
action="store_true",
|
|
@@ -368,7 +374,11 @@ def main(argv: list[str] | None = None) -> int:
|
|
|
368
374
|
_json(environment.inspect().to_dict())
|
|
369
375
|
return 0
|
|
370
376
|
if args.command == "build-and-publish":
|
|
371
|
-
environment = runtime.open_exact(
|
|
377
|
+
environment = runtime.open_exact(
|
|
378
|
+
EnvironmentLock.load(args.lock),
|
|
379
|
+
name=args.name,
|
|
380
|
+
build_timeout=args.timeout,
|
|
381
|
+
)
|
|
372
382
|
_json(
|
|
373
383
|
runtime.publish_environment(
|
|
374
384
|
environment.id,
|
|
@@ -1005,6 +1005,7 @@ class EnvironmentManager:
|
|
|
1005
1005
|
*,
|
|
1006
1006
|
name: str | None = None,
|
|
1007
1007
|
build_profile: str = "release",
|
|
1008
|
+
build_timeout: float = 1800,
|
|
1008
1009
|
cancel: threading.Event | None = None,
|
|
1009
1010
|
) -> Environment:
|
|
1010
1011
|
self.store.publish_lock(lock)
|
|
@@ -1018,7 +1019,14 @@ class EnvironmentManager:
|
|
|
1018
1019
|
with FileLock(self.store.lock_dir / f"{environment_id}.lock", timeout=1800, cancel=cancel):
|
|
1019
1020
|
if not destination.is_dir():
|
|
1020
1021
|
self._ensure_sources(lock)
|
|
1021
|
-
self._materialize(
|
|
1022
|
+
self._materialize(
|
|
1023
|
+
lock,
|
|
1024
|
+
environment_id,
|
|
1025
|
+
destination,
|
|
1026
|
+
build_profile,
|
|
1027
|
+
build_timeout=build_timeout,
|
|
1028
|
+
cancel=cancel,
|
|
1029
|
+
)
|
|
1022
1030
|
else:
|
|
1023
1031
|
self.events.emit(
|
|
1024
1032
|
"environment.cache_hit",
|
|
@@ -1061,6 +1069,7 @@ class EnvironmentManager:
|
|
|
1061
1069
|
destination: Path,
|
|
1062
1070
|
build_profile: str,
|
|
1063
1071
|
*,
|
|
1072
|
+
build_timeout: float,
|
|
1064
1073
|
cancel: threading.Event | None,
|
|
1065
1074
|
) -> None:
|
|
1066
1075
|
stage = self.store.environments / f".staging-{os.getpid()}-{uuid.uuid4().hex}"
|
|
@@ -1086,7 +1095,10 @@ class EnvironmentManager:
|
|
|
1086
1095
|
phase="acquisition",
|
|
1087
1096
|
)
|
|
1088
1097
|
clone_tree(source, packages_dir / package.name)
|
|
1089
|
-
build_policy = ExecutionPolicy(
|
|
1098
|
+
build_policy = ExecutionPolicy(
|
|
1099
|
+
timeout_seconds=build_timeout,
|
|
1100
|
+
max_output_bytes=10_000_000,
|
|
1101
|
+
)
|
|
1090
1102
|
hydration: list[dict[str, Any]] = []
|
|
1091
1103
|
for package in lock.packages:
|
|
1092
1104
|
if not package.artifact_command:
|
|
@@ -170,6 +170,7 @@ class Runtime:
|
|
|
170
170
|
*,
|
|
171
171
|
name: str | None = None,
|
|
172
172
|
build_profile: str = "release",
|
|
173
|
+
build_timeout: float = 1800,
|
|
173
174
|
cancel: threading.Event | None = None,
|
|
174
175
|
) -> Environment:
|
|
175
176
|
environment_id = environment_identity(lock, build_profile)
|
|
@@ -203,7 +204,13 @@ class Runtime:
|
|
|
203
204
|
"no compatible downloadable environment was found; availability=required "
|
|
204
205
|
"does not permit a source build." + nearest
|
|
205
206
|
)
|
|
206
|
-
return self.environments.ensure(
|
|
207
|
+
return self.environments.ensure(
|
|
208
|
+
lock,
|
|
209
|
+
name=name,
|
|
210
|
+
build_profile=build_profile,
|
|
211
|
+
build_timeout=build_timeout,
|
|
212
|
+
cancel=cancel,
|
|
213
|
+
)
|
|
207
214
|
|
|
208
215
|
def environment(self, identifier: str) -> Environment:
|
|
209
216
|
"""Open a published environment without resolution or network access."""
|
|
@@ -36,6 +36,21 @@ def test_removed_v1_commands_are_absent() -> None:
|
|
|
36
36
|
assert commands.isdisjoint(removed)
|
|
37
37
|
|
|
38
38
|
|
|
39
|
+
def test_build_and_publish_accepts_environment_build_timeout() -> None:
|
|
40
|
+
arguments = parser().parse_args(
|
|
41
|
+
[
|
|
42
|
+
"build-and-publish",
|
|
43
|
+
"environment.lock.json",
|
|
44
|
+
"--publish-to",
|
|
45
|
+
"oci://cache",
|
|
46
|
+
"--timeout",
|
|
47
|
+
"3600",
|
|
48
|
+
]
|
|
49
|
+
)
|
|
50
|
+
|
|
51
|
+
assert arguments.timeout == 3600
|
|
52
|
+
|
|
53
|
+
|
|
39
54
|
def test_verbose_materialization_failure_includes_tool_output(capsys) -> None:
|
|
40
55
|
failure = MaterializationError(
|
|
41
56
|
"environment build failed",
|
|
@@ -62,6 +62,22 @@ def test_auto_falls_back_only_when_prebuilt_is_unavailable(
|
|
|
62
62
|
assert runtime.open_exact(_lock()) is sentinel
|
|
63
63
|
|
|
64
64
|
|
|
65
|
+
def test_open_exact_forwards_environment_build_timeout(
|
|
66
|
+
tmp_path: Path, monkeypatch: pytest.MonkeyPatch
|
|
67
|
+
) -> None:
|
|
68
|
+
runtime = Runtime(home=tmp_path, availability="local", libraries=[])
|
|
69
|
+
captured: dict[str, object] = {}
|
|
70
|
+
|
|
71
|
+
def ensure(*_args: object, **kwargs: object) -> object:
|
|
72
|
+
captured.update(kwargs)
|
|
73
|
+
return object()
|
|
74
|
+
|
|
75
|
+
monkeypatch.setattr(runtime.environments, "ensure", ensure)
|
|
76
|
+
runtime.open_exact(_lock(), build_timeout=3600)
|
|
77
|
+
|
|
78
|
+
assert captured["build_timeout"] == 3600
|
|
79
|
+
|
|
80
|
+
|
|
65
81
|
def test_auto_does_not_hide_prebuilt_integrity_failures(
|
|
66
82
|
tmp_path: Path, monkeypatch: pytest.MonkeyPatch
|
|
67
83
|
) -> None:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/discovery/schemas/catalog-v1.schema.json
RENAMED
|
File without changes
|
{lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/discovery/schemas/plan-v1.schema.json
RENAMED
|
File without changes
|
{lean_runtime-2.0.8 → lean_runtime-2.0.9}/lean_runtime/discovery/schemas/result-v1.schema.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lean_runtime-2.0.8 → lean_runtime-2.0.9}/tests/discovery/test_discovery_schema_resources.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|