All checks were successful
Android CI / build (push) Successful in 33m40s
Встроенная Hysteria поднята до app/v2.13.0 — версии, выбранной для Windows 0.8.16; заморозка ядер записана для пары Windows 0.8.16 / Android v0.4.11. - scripts/update_hysteria_core.py выполняет docs/CORE_UPDATE.md сам: во временной копии исходников собирает серию цепочкой коммитов, поднимает модули Hysteria, разрешает ожидаемый конфликт go.mod версиями обновлённых модулей и формирует новые патчи. В репозиторий пишет, только если прежние патчи воспроизводятся байт в байт, go mod tidy -diff не требует изменений go.mod и затронутые пакеты компилируются с боевыми тегами; иначе отказывает без записи. - scripts/prepare-stable-core.sh готовит ядра к стабильному релизу одной командой: берёт последний стабильный тег Windows и запускает общую подготовку, которая при отставании Android вызывает перегенерацию сама. - Патчи 0003–0005, series.sha256, пины и уведомления о сторонних компонентах получены этим скриптом; результат совпал с ручным прогоном процедуры. libbox.aar пересобран, тесты ядра (включая protocol/hysteria2) и verify-project.sh проходят. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
38 lines
1.7 KiB
Shell
Executable file
38 lines
1.7 KiB
Shell
Executable file
#!/usr/bin/env bash
|
||
set -euo pipefail
|
||
|
||
# Подготовка ядер к стабильному релизу Android одной командой.
|
||
#
|
||
# Версии ядер у Windows и Android замораживаются парой. Скрипт сам находит
|
||
# последний стабильный релиз Windows и запускает общую подготовку: она сверяет
|
||
# upstream, при отставании Android перегенерирует серию патчей Hysteria
|
||
# (scripts/update_hysteria_core.py) и записывает core-release-freeze.json в оба
|
||
# репозитория. Ничего не коммитит и не публикует: изменения нужно проверить
|
||
# сборкой и закоммитить до тега.
|
||
#
|
||
# scripts/prepare-stable-core.sh v0.4.11
|
||
|
||
PROJECT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||
TAG="${1:-}"
|
||
WINDOWS_ROOT="${ZAPRET_WINDOWS_ROOT:-$PROJECT_ROOT/../windows}"
|
||
|
||
if [[ ! "$TAG" =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
|
||
echo "Usage: $0 vMAJOR.MINOR.PATCH" >&2
|
||
exit 2
|
||
fi
|
||
[[ -f "$WINDOWS_ROOT/scripts/prepare_core_release.py" ]] || {
|
||
echo "Windows repository not found: $WINDOWS_ROOT (set ZAPRET_WINDOWS_ROOT)" >&2
|
||
exit 1
|
||
}
|
||
|
||
git -C "$WINDOWS_ROOT" fetch --quiet --tags origin
|
||
WINDOWS_TAG="$(git -C "$WINDOWS_ROOT" tag --list 'v[0-9]*.[0-9]*.[0-9]*' --sort=-v:refname | head -n 1)"
|
||
[[ "$WINDOWS_TAG" =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]] || {
|
||
echo "No stable Windows tag found in $WINDOWS_ROOT" >&2
|
||
exit 1
|
||
}
|
||
|
||
exec python3 "$WINDOWS_ROOT/scripts/prepare_core_release.py" \
|
||
--windows-version "${WINDOWS_TAG#v}" \
|
||
--android-tag "$TAG" \
|
||
--android-root "$PROJECT_ROOT"
|