Проект переехал в Gitea StackWorks: обновления, установка одной командой и ISO берут код с git.stackworks.ru, запасной ZIP скачивается оттуда же, ноды со старым адресом GitHub переключаются сами
Этот коммит содержится в:
@@ -41,7 +41,7 @@
|
||||
</article>
|
||||
|
||||
<div class="alert info" data-update-running hidden>{{ icon('refresh-cw') }}<div><strong>Идёт обновление</strong><span data-update-state></span></div></div>
|
||||
{% if not info.fetch_ok %}{{ alert('warning', 'Не удалось связаться с GitHub: ' ~ (info.fetch_error or 'нет ответа') ~ '. Проверьте доступ сервера в интернет.', 'Проверка не удалась') }}{% endif %}
|
||||
{% if not info.fetch_ok %}{{ alert('warning', 'Не удалось связаться с сервером обновлений: ' ~ (info.fetch_error or 'нет ответа') ~ '. Проверьте доступ сервера в интернет.', 'Проверка не удалась') }}{% endif %}
|
||||
|
||||
<article class="card">
|
||||
<div class="card-header"><div><h2>Что нового</h2><p>{{ 'Изменения, которые вы получите' if info.missing_versions else 'Последние изменения' }}</p></div></div>
|
||||
|
||||
@@ -14,6 +14,9 @@ DEFAULT_BRANCH = os.environ.get('VIRTUALITY_UPDATE_BRANCH', 'main')
|
||||
REMOTE = os.environ.get('VIRTUALITY_UPDATE_REMOTE', 'origin')
|
||||
NODE_ENV = Path(os.environ.get('VIRTUALITY_NODE_ENV', '/var/lib/virtuality/config/web.env'))
|
||||
CHANNELS = {'stable': 'Стабильный — выпущенные версии', 'main': 'Ранний доступ — все изменения'}
|
||||
# Проект переехал с GitHub в Gitea StackWorks; ноды со старым адресом переключаются сами (как и scripts/update_target.sh).
|
||||
DEFAULT_REPO_URL = 'https://git.stackworks.ru/viktor/virtuality.git'
|
||||
LEGACY_REPO_URLS = ('https://github.com/viktor138irk/virtuality.git', 'https://github.com/viktor138irk/virtuality')
|
||||
|
||||
|
||||
class UpdateError(Exception):
|
||||
@@ -193,6 +196,13 @@ def git_log_between(base: str, head: str, limit: int = 50) -> list[dict[str, str
|
||||
return rows
|
||||
|
||||
|
||||
def migrate_remote() -> bool:
|
||||
result = run_cmd(['git', 'remote', 'get-url', REMOTE], cwd=SOURCE_DIR)
|
||||
if not result['ok'] or result['stdout'] not in LEGACY_REPO_URLS:
|
||||
return False
|
||||
return run_cmd(['git', 'remote', 'set-url', REMOTE, DEFAULT_REPO_URL], cwd=SOURCE_DIR)['ok']
|
||||
|
||||
|
||||
def check_updates(fetch: bool = True) -> dict[str, Any]:
|
||||
ensure_state_dir()
|
||||
if not source_ready():
|
||||
@@ -200,6 +210,7 @@ def check_updates(fetch: bool = True) -> dict[str, Any]:
|
||||
|
||||
fetch_result = {'ok': True, 'stdout': '', 'stderr': '', 'cmd': 'skip'}
|
||||
if fetch:
|
||||
migrate_remote()
|
||||
fetch_result = run_cmd(['git', 'fetch', '--quiet', '--tags', '--force', REMOTE, DEFAULT_BRANCH], cwd=SOURCE_DIR, timeout=60)
|
||||
|
||||
channel = update_channel()
|
||||
|
||||
Ссылка в новой задаче
Block a user