corio 2.3.2a2__tar.gz → 2.3.4__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.
- {corio-2.3.2a2 → corio-2.3.4}/PKG-INFO +1 -1
- {corio-2.3.2a2 → corio-2.3.4}/corio/entrypoint.py +1 -1
- {corio-2.3.2a2 → corio-2.3.4}/corio/infra/incrementor_pyproject.py +1 -6
- {corio-2.3.2a2 → corio-2.3.4}/corio/infra/project.py +0 -2
- {corio-2.3.2a2 → corio-2.3.4}/corio/infra/releaser.py +54 -29
- {corio-2.3.2a2 → corio-2.3.4}/corio/pyproject.package.toml +2 -2
- {corio-2.3.2a2 → corio-2.3.4}/corio/tests/test_infra.py +27 -8
- {corio-2.3.2a2 → corio-2.3.4}/corio.egg-info/PKG-INFO +1 -1
- {corio-2.3.2a2 → corio-2.3.4}/pyproject.toml +2 -2
- {corio-2.3.2a2 → corio-2.3.4}/LICENSE +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/README.md +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/__init__.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/ai/__init__.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/ai/agentic.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/ai/infer.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/aio.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/api.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/augmentation.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/av.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/caching.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/constants.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/context.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/dataclass.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/datatype.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/db/__init__.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/db/document.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/debug.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/dm.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/dns/__init__.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/dns/client.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/dns/dm.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/dns/proxy.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/dns/server.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/docker/__init__.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/dt.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/encrypt.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/env.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/function.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/google_api.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/ha/__init__.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/ha/constants.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/ha/core.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/ha/supervisor.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/ha/utils.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/hash.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/hfh.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/hook.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/https.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/infra/__init__.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/infra/api.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/infra/repository.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/infra/stack.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/inherit.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/inspection.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/interface/__init__.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/interface/context.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/interface/controls.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/interface/interface.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/iterator.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/jsn.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/json_fix.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/logs.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/markup.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/merging.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/metric.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/mqtt.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/name.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/net.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/netrc.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/openai.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/parallel.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/path/__init__.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/path/app.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/path/path.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/path/type.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/paths.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/patterns.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/pdf.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/plat.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/process.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/profiling.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/rand.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/sec.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/semantic.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/sets.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/setup/__init__.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/spaces.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/strings.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/tabular.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/tests/__init__.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/tests/conftest.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/tests/helpers.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/tests/test_caching.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/tests/test_datatype.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/tests/test_dns.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/tests/test_dt.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/tests/test_encrypt.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/tests/test_env.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/tests/test_hash.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/tests/test_hook.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/tests/test_iterator.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/tests/test_jsn.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/tests/test_name.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/tests/test_path.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/tests/test_patterns.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/tests/test_rand.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/tests/test_strings.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/tests/test_toml.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/tests/test_tools.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/tests/test_yml.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/tokenization.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/toml.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/tools.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/unicode.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/version/__init__.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/version/version.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/webhook.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/yml.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio/youtube.py +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio.egg-info/SOURCES.txt +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio.egg-info/dependency_links.txt +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio.egg-info/entry_points.txt +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio.egg-info/requires.txt +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/corio.egg-info/top_level.txt +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/scripts/add-service +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/scripts/add-user-path +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/scripts/add-ve-shell +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/scripts/apt-essentials +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/scripts/apt-headless +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/scripts/auth-token +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/scripts/compose-update +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/scripts/compress-dir +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/scripts/cru +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/scripts/docker-build-bases +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/scripts/docker-build-bases-dev +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/scripts/docker-install-deps +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/scripts/docker-install-prod +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/scripts/docker-prune +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/scripts/docker-sandbox +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/scripts/docker-sandbox-init +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/scripts/docs-deploy +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/scripts/download +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/scripts/encrypt-secrets +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/scripts/fmtr-test-script +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/scripts/git-clone +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/scripts/ha-addon-launch +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/scripts/infra +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/scripts/install-browser +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/scripts/install-docker +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/scripts/install-ts +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/scripts/install-ys +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/scripts/mirror-dir +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/scripts/opt-dev-init +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/scripts/parse-args +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/scripts/pypi-check +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/scripts/pypi-reserve +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/scripts/run-script +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/scripts/run-tests +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/scripts/set-password +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/scripts/set-secure-path +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/scripts/set-user-sudo +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/scripts/snips-install +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/scripts/ssh-auth +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/scripts/ssh-serve +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/scripts/tasmota-config +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/scripts/tasmota-flash +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/scripts/tasmota-terminal +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/scripts/vlc-tn +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/scripts/vm-launch +0 -0
- {corio-2.3.2a2 → corio-2.3.4}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: corio
|
|
3
|
-
Version: 2.3.
|
|
3
|
+
Version: 2.3.4
|
|
4
4
|
Summary: Collection of high-level tools to simplify everyday development tasks, with a focus on AI/ML
|
|
5
5
|
Author-email: Frontmatter AI <innovative.fowler@mask.pro.fmtr.dev>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -34,7 +34,7 @@ class Pyproject(dm.Base):
|
|
|
34
34
|
from corio.paths import paths
|
|
35
35
|
|
|
36
36
|
project = Project(paths.name_ns)
|
|
37
|
-
project.versions.pinned = project.versions.
|
|
37
|
+
project.versions.pinned = project.versions.new
|
|
38
38
|
return IncrementorPyproject(project.releaser).apply()
|
|
39
39
|
|
|
40
40
|
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
from copy import deepcopy
|
|
2
1
|
from functools import cached_property
|
|
3
2
|
from itertools import chain
|
|
4
3
|
from packaging.requirements import Requirement, InvalidRequirement
|
|
@@ -115,15 +114,11 @@ class IncrementorPyproject(Incrementor):
|
|
|
115
114
|
return None
|
|
116
115
|
|
|
117
116
|
data = self.path.read_toml()
|
|
118
|
-
original_data = deepcopy(data)
|
|
119
117
|
|
|
120
118
|
data = self._enrich_toml(data)
|
|
121
119
|
if data is None:
|
|
122
120
|
return None
|
|
123
121
|
|
|
124
|
-
if data == original_data:
|
|
125
|
-
return None
|
|
126
|
-
|
|
127
122
|
self.path.write_toml(data)
|
|
128
123
|
return self.path
|
|
129
124
|
|
|
@@ -357,4 +352,4 @@ class GeneratorTestEnvs:
|
|
|
357
352
|
for module in self._tests_modules:
|
|
358
353
|
path_test = self.get_path_test(module)
|
|
359
354
|
envs |= self.get_env(module, self.get_deps(module), path_test)
|
|
360
|
-
return envs
|
|
355
|
+
return envs
|
|
@@ -103,8 +103,6 @@ class Versions(Inherit[Project]):
|
|
|
103
103
|
|
|
104
104
|
def __init__(self, project: Project, pinned: str | None = None):
|
|
105
105
|
super().__init__(project)
|
|
106
|
-
self.old = self.get()
|
|
107
|
-
|
|
108
106
|
self.pinned = None
|
|
109
107
|
if pinned:
|
|
110
108
|
self.pinned = version.Version.parse(pinned)
|
|
@@ -224,40 +224,65 @@ class Incrementor(Inherit[Releaser]):
|
|
|
224
224
|
|
|
225
225
|
|
|
226
226
|
class IncrementorVersion(Incrementor):
|
|
227
|
-
@
|
|
228
|
-
def
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
227
|
+
@cached_property
|
|
228
|
+
def old(self):
|
|
229
|
+
return self.paths.metadata.version_obj
|
|
230
|
+
|
|
231
|
+
@cached_property
|
|
232
|
+
def old_tag(self):
|
|
233
|
+
return self.old.tag
|
|
234
|
+
|
|
235
|
+
@cached_property
|
|
236
|
+
def has_old_tag(self):
|
|
237
|
+
return self.old_tag in self.repo.tags.all
|
|
238
|
+
|
|
239
|
+
@cached_property
|
|
240
|
+
def pinned_tag(self):
|
|
241
|
+
if not self.versions.pinned:
|
|
242
|
+
return None
|
|
243
|
+
return self.versions.pinned.tag
|
|
244
|
+
|
|
245
|
+
@cached_property
|
|
246
|
+
def pinned(self):
|
|
247
|
+
new = self.versions.pinned
|
|
248
|
+
if not new:
|
|
249
|
+
return None
|
|
250
|
+
|
|
251
|
+
if not self.has_old_tag:
|
|
252
|
+
raise RuntimeError(
|
|
253
|
+
f'Current version tag "{self.old_tag}" was not found. '
|
|
254
|
+
f'Refusing pinned release "{new}" until the previous release state is resolved.'
|
|
255
|
+
)
|
|
256
|
+
|
|
257
|
+
if self.pinned_tag in self.repo.tags.all:
|
|
258
|
+
raise RuntimeError(f'Pinned version tag already exists: "{self.pinned_tag}".')
|
|
259
|
+
|
|
260
|
+
return new
|
|
261
|
+
|
|
262
|
+
@cached_property
|
|
263
|
+
def new(self):
|
|
264
|
+
new = self.pinned
|
|
265
|
+
if new:
|
|
266
|
+
return new
|
|
267
|
+
|
|
268
|
+
if not self.has_old_tag:
|
|
247
269
|
logger.warning(
|
|
248
|
-
f'Current version tag "{old_tag}" was not found. '
|
|
249
|
-
f'Assuming previous release failed and reusing version "{old}".'
|
|
270
|
+
f'Current version tag "{self.old_tag}" was not found. '
|
|
271
|
+
f'Assuming previous release failed and reusing version "{self.old}".'
|
|
250
272
|
)
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
273
|
+
return self.old
|
|
274
|
+
|
|
275
|
+
if self.old.prerelease:
|
|
276
|
+
return self.old.bump_prerelease()
|
|
254
277
|
else:
|
|
255
|
-
|
|
278
|
+
return self.old.bump_patch()
|
|
256
279
|
|
|
257
|
-
|
|
258
|
-
|
|
280
|
+
@logger.instrument('Incrementing release version in-memory for "{self.paths.name_ns}"...')
|
|
281
|
+
def apply(self) -> Path | list[Path] | None:
|
|
282
|
+
if self.old != self.new:
|
|
283
|
+
logger.info(f'Incrementing runtime version {self.old} {Constants.ARROW_RIGHT} {self.new}...')
|
|
259
284
|
|
|
260
|
-
self.paths.metadata.version = str(new)
|
|
285
|
+
self.paths.metadata.version = str(self.new)
|
|
261
286
|
return None
|
|
262
287
|
|
|
263
288
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "corio"
|
|
3
|
-
version = "2.3.
|
|
3
|
+
version = "2.3.4"
|
|
4
4
|
description = "Collection of high-level tools to simplify everyday development tasks, with a focus on AI/ML"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
dependencies = []
|
|
@@ -83,7 +83,7 @@ Homepage = "https://github.com/fmtr/corio"
|
|
|
83
83
|
corio = "corio.entrypoint:main"
|
|
84
84
|
|
|
85
85
|
[tool.corio.metadata]
|
|
86
|
-
version = "2.3.
|
|
86
|
+
version = "2.3.4"
|
|
87
87
|
port = 0
|
|
88
88
|
base = "python"
|
|
89
89
|
description = "Collection of high-level tools to simplify everyday development tasks, with a focus on AI/ML"
|
|
@@ -349,10 +349,10 @@ def test_repository_get_most_recent_release_tag_filters_and_orders():
|
|
|
349
349
|
|
|
350
350
|
|
|
351
351
|
def _make_version_incrementor(*, old: str, pinned: str | None, tags: set[str]):
|
|
352
|
-
metadata = SimpleNamespace(version=old)
|
|
352
|
+
metadata = SimpleNamespace(version=old, version_obj=version.parse(old))
|
|
353
353
|
parent = SimpleNamespace(
|
|
354
354
|
paths=SimpleNamespace(name_ns="corio", metadata=metadata),
|
|
355
|
-
versions=SimpleNamespace(
|
|
355
|
+
versions=SimpleNamespace(pinned=version.parse(pinned) if pinned else None),
|
|
356
356
|
repo=SimpleNamespace(tags=SimpleNamespace(all=tags)),
|
|
357
357
|
)
|
|
358
358
|
return IncrementorVersion(parent), metadata
|
|
@@ -370,16 +370,35 @@ def test_incrementor_version_does_not_increment_when_old_tag_missing():
|
|
|
370
370
|
assert metadata.version == "1.2.3"
|
|
371
371
|
|
|
372
372
|
|
|
373
|
-
def
|
|
374
|
-
incrementor,
|
|
373
|
+
def test_incrementor_version_raises_when_pinned_and_old_tag_missing():
|
|
374
|
+
incrementor, _ = _make_version_incrementor(
|
|
375
375
|
old="1.2.3",
|
|
376
376
|
pinned="2.0.0",
|
|
377
377
|
tags={"v1.2.2"},
|
|
378
378
|
)
|
|
379
379
|
|
|
380
|
-
|
|
380
|
+
try:
|
|
381
|
+
incrementor.apply()
|
|
382
|
+
except RuntimeError as exception:
|
|
383
|
+
assert 'Current version tag "v1.2.3" was not found.' in str(exception)
|
|
384
|
+
assert 'Refusing pinned release "2.0.0"' in str(exception)
|
|
385
|
+
else:
|
|
386
|
+
raise AssertionError("Expected RuntimeError when old tag is missing for pinned release.")
|
|
387
|
+
|
|
381
388
|
|
|
382
|
-
|
|
389
|
+
def test_incrementor_version_raises_when_pinned_tag_exists():
|
|
390
|
+
incrementor, _ = _make_version_incrementor(
|
|
391
|
+
old="1.2.3",
|
|
392
|
+
pinned="2.0.0",
|
|
393
|
+
tags={"v1.2.3", "v2.0.0"},
|
|
394
|
+
)
|
|
395
|
+
|
|
396
|
+
try:
|
|
397
|
+
incrementor.apply()
|
|
398
|
+
except RuntimeError as exception:
|
|
399
|
+
assert 'Pinned version tag already exists: "v2.0.0".' in str(exception)
|
|
400
|
+
else:
|
|
401
|
+
raise AssertionError("Expected RuntimeError when pinned tag already exists.")
|
|
383
402
|
|
|
384
403
|
|
|
385
404
|
def test_releaser_run_commits_only_after_tests_pass(monkeypatch):
|
|
@@ -434,5 +453,5 @@ def test_releaser_run_continues_when_pre_tests_fail(monkeypatch):
|
|
|
434
453
|
assert events == ["fetch", "increment", "tests", "commit", "push", "fetch"]
|
|
435
454
|
|
|
436
455
|
|
|
437
|
-
def test_intentional_failure_for_testing():
|
|
438
|
-
|
|
456
|
+
# def test_intentional_failure_for_testing():
|
|
457
|
+
# assert False, "Intentional failing test for test-pipeline verification."
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: corio
|
|
3
|
-
Version: 2.3.
|
|
3
|
+
Version: 2.3.4
|
|
4
4
|
Summary: Collection of high-level tools to simplify everyday development tasks, with a focus on AI/ML
|
|
5
5
|
Author-email: Frontmatter AI <innovative.fowler@mask.pro.fmtr.dev>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "corio"
|
|
3
|
-
version = "2.3.
|
|
3
|
+
version = "2.3.4"
|
|
4
4
|
description = "Collection of high-level tools to simplify everyday development tasks, with a focus on AI/ML"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
dependencies = []
|
|
@@ -83,7 +83,7 @@ Homepage = "https://github.com/fmtr/corio"
|
|
|
83
83
|
corio = "corio.entrypoint:main"
|
|
84
84
|
|
|
85
85
|
[tool.corio.metadata]
|
|
86
|
-
version = "2.3.
|
|
86
|
+
version = "2.3.4"
|
|
87
87
|
port = 0
|
|
88
88
|
base = "python"
|
|
89
89
|
description = "Collection of high-level tools to simplify everyday development tasks, with a focus on AI/ML"
|
|
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
|
|
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
|
|
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
|