cyclo-manager 0.2.0.dev3__tar.gz → 0.2.0.dev4__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.
- {cyclo_manager-0.2.0.dev3 → cyclo_manager-0.2.0.dev4}/PKG-INFO +1 -1
- {cyclo_manager-0.2.0.dev3 → cyclo_manager-0.2.0.dev4}/cyclo_host_agent/routers/repos.py +18 -25
- {cyclo_manager-0.2.0.dev3 → cyclo_manager-0.2.0.dev4}/cyclo_manager.egg-info/PKG-INFO +1 -1
- {cyclo_manager-0.2.0.dev3 → cyclo_manager-0.2.0.dev4}/pyproject.toml +1 -1
- {cyclo_manager-0.2.0.dev3 → cyclo_manager-0.2.0.dev4}/README.md +0 -0
- {cyclo_manager-0.2.0.dev3 → cyclo_manager-0.2.0.dev4}/cyclo_host_agent/__init__.py +0 -0
- {cyclo_manager-0.2.0.dev3 → cyclo_manager-0.2.0.dev4}/cyclo_host_agent/main.py +0 -0
- {cyclo_manager-0.2.0.dev3 → cyclo_manager-0.2.0.dev4}/cyclo_host_agent/models.py +0 -0
- {cyclo_manager-0.2.0.dev3 → cyclo_manager-0.2.0.dev4}/cyclo_host_agent/routers/__init__.py +0 -0
- {cyclo_manager-0.2.0.dev3 → cyclo_manager-0.2.0.dev4}/cyclo_host_agent/routers/update.py +0 -0
- {cyclo_manager-0.2.0.dev3 → cyclo_manager-0.2.0.dev4}/cyclo_manager.egg-info/SOURCES.txt +0 -0
- {cyclo_manager-0.2.0.dev3 → cyclo_manager-0.2.0.dev4}/cyclo_manager.egg-info/dependency_links.txt +0 -0
- {cyclo_manager-0.2.0.dev3 → cyclo_manager-0.2.0.dev4}/cyclo_manager.egg-info/entry_points.txt +0 -0
- {cyclo_manager-0.2.0.dev3 → cyclo_manager-0.2.0.dev4}/cyclo_manager.egg-info/requires.txt +0 -0
- {cyclo_manager-0.2.0.dev3 → cyclo_manager-0.2.0.dev4}/cyclo_manager.egg-info/top_level.txt +0 -0
- {cyclo_manager-0.2.0.dev3 → cyclo_manager-0.2.0.dev4}/cyclo_manager_cli/__init__.py +0 -0
- {cyclo_manager-0.2.0.dev3 → cyclo_manager-0.2.0.dev4}/cyclo_manager_cli/cli.py +0 -0
- {cyclo_manager-0.2.0.dev3 → cyclo_manager-0.2.0.dev4}/cyclo_manager_cli/config/config.yml +0 -0
- {cyclo_manager-0.2.0.dev3 → cyclo_manager-0.2.0.dev4}/cyclo_manager_cli/docker/docker-compose.yml +0 -0
- {cyclo_manager-0.2.0.dev3 → cyclo_manager-0.2.0.dev4}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cyclo-manager
|
|
3
|
-
Version: 0.2.0.
|
|
3
|
+
Version: 0.2.0.dev4
|
|
4
4
|
Summary: cyclo_manager CLI: pip-installable launcher for cyclo_manager server and UI containers. Run 'cyclo_manager up' to start Docker stack.
|
|
5
5
|
License-Expression: Apache-2.0
|
|
6
6
|
Requires-Python: >=3.10
|
|
@@ -19,10 +19,8 @@
|
|
|
19
19
|
"""Repository management endpoints."""
|
|
20
20
|
|
|
21
21
|
import asyncio
|
|
22
|
-
import json
|
|
23
22
|
import os
|
|
24
23
|
import re
|
|
25
|
-
import urllib.request
|
|
26
24
|
from pathlib import Path
|
|
27
25
|
from typing import Optional
|
|
28
26
|
|
|
@@ -133,21 +131,14 @@ def _is_newer(latest: str, current: str) -> bool:
|
|
|
133
131
|
return _parse_version(latest) > _parse_version(current)
|
|
134
132
|
|
|
135
133
|
|
|
136
|
-
def
|
|
137
|
-
https_match = re.match(r'https?://github\.com/([^/]
|
|
134
|
+
def _is_managed_remote(remote_url: str) -> bool:
|
|
135
|
+
https_match = re.match(r'https?://github\.com/([^/]+)/', remote_url)
|
|
138
136
|
if https_match:
|
|
139
|
-
return https_match.group(1)
|
|
140
|
-
ssh_match = re.match(r'git@github\.com:([^/]
|
|
137
|
+
return https_match.group(1).lower() == MANAGED_GITHUB_ORG.lower()
|
|
138
|
+
ssh_match = re.match(r'git@github\.com:([^/]+)/', remote_url)
|
|
141
139
|
if ssh_match:
|
|
142
|
-
return ssh_match.group(1)
|
|
143
|
-
return
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
def _is_managed_remote(remote_url: str) -> bool:
|
|
147
|
-
slug = _parse_github_slug(remote_url)
|
|
148
|
-
if not slug:
|
|
149
|
-
return False
|
|
150
|
-
return slug.split('/')[0].lower() == MANAGED_GITHUB_ORG.lower()
|
|
140
|
+
return ssh_match.group(1).lower() == MANAGED_GITHUB_ORG.lower()
|
|
141
|
+
return False
|
|
151
142
|
|
|
152
143
|
|
|
153
144
|
def _read_package_xml_version(repo_path: Path) -> Optional[str]:
|
|
@@ -164,15 +155,18 @@ def _read_package_xml_version(repo_path: Path) -> Optional[str]:
|
|
|
164
155
|
return None
|
|
165
156
|
|
|
166
157
|
|
|
167
|
-
def
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
158
|
+
async def _fetch_latest_tag(remote_url: str) -> Optional[str]:
|
|
159
|
+
rc, out, _ = await _git(['ls-remote', '--tags', remote_url])
|
|
160
|
+
if rc != 0:
|
|
161
|
+
return None
|
|
162
|
+
tags = []
|
|
163
|
+
for line in out.splitlines():
|
|
164
|
+
if 'refs/tags/' not in line or '^{}' in line:
|
|
165
|
+
continue
|
|
166
|
+
tags.append(line.split('refs/tags/')[-1].strip())
|
|
167
|
+
if not tags:
|
|
175
168
|
return None
|
|
169
|
+
return max(tags, key=_parse_version)
|
|
176
170
|
|
|
177
171
|
|
|
178
172
|
async def _repo_update_status(repo_path: Path) -> Optional[RepoUpdateStatus]:
|
|
@@ -182,12 +176,11 @@ async def _repo_update_status(repo_path: Path) -> Optional[RepoUpdateStatus]:
|
|
|
182
176
|
if not remote_url or not _is_managed_remote(remote_url):
|
|
183
177
|
return None
|
|
184
178
|
|
|
185
|
-
slug = _parse_github_slug(remote_url)
|
|
186
179
|
current = _read_package_xml_version(repo_path)
|
|
187
180
|
if not current:
|
|
188
181
|
return RepoUpdateStatus(name=repo_path.name, has_update=False)
|
|
189
182
|
|
|
190
|
-
latest = await
|
|
183
|
+
latest = await _fetch_latest_tag(remote_url)
|
|
191
184
|
if not latest:
|
|
192
185
|
return RepoUpdateStatus(name=repo_path.name, current_version=current, has_update=False)
|
|
193
186
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cyclo-manager
|
|
3
|
-
Version: 0.2.0.
|
|
3
|
+
Version: 0.2.0.dev4
|
|
4
4
|
Summary: cyclo_manager CLI: pip-installable launcher for cyclo_manager server and UI containers. Run 'cyclo_manager up' to start Docker stack.
|
|
5
5
|
License-Expression: Apache-2.0
|
|
6
6
|
Requires-Python: >=3.10
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "cyclo-manager"
|
|
7
|
-
version = "0.2.0.
|
|
7
|
+
version = "0.2.0.dev4"
|
|
8
8
|
description = "cyclo_manager CLI: pip-installable launcher for cyclo_manager server and UI containers. Run 'cyclo_manager up' to start Docker stack."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = "Apache-2.0"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cyclo_manager-0.2.0.dev3 → cyclo_manager-0.2.0.dev4}/cyclo_manager.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{cyclo_manager-0.2.0.dev3 → cyclo_manager-0.2.0.dev4}/cyclo_manager.egg-info/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cyclo_manager-0.2.0.dev3 → cyclo_manager-0.2.0.dev4}/cyclo_manager_cli/docker/docker-compose.yml
RENAMED
|
File without changes
|
|
File without changes
|