Полная миграция baseline на Debian 13: build-layer, metadata и документация
This commit is contained in:
@@ -4,18 +4,18 @@
|
||||
|
||||
[`build.sh`](build.sh) собирает переносимый установочный пакет HY2XS для production-развёртывания.
|
||||
|
||||
Итоговый архив создаётся в [`dist`](../../dist) и предназначен для установки на чистый Debian 12 amd64 без сборки на целевом сервере.
|
||||
Итоговый архив создаётся в [`dist`](../../dist) и предназначен для установки на чистый Debian 13 amd64 без сборки на целевом сервере.
|
||||
|
||||
## Поддерживаемая среда сборки
|
||||
|
||||
Builder поддерживает только:
|
||||
|
||||
- Debian 12;
|
||||
- Debian 13;
|
||||
- amd64 / x86_64;
|
||||
- bash;
|
||||
- доступ к интернету для установки build-зависимостей и toolchain.
|
||||
|
||||
Windows/macOS не являются production build host. На Windows можно править исходники, но финальную сборку нужно выполнять на Debian 12 amd64.
|
||||
Windows/macOS не являются production build host. На Windows можно править исходники, но финальную сборку нужно выполнять на Debian 13 amd64.
|
||||
|
||||
## Что builder делает сам
|
||||
|
||||
@@ -77,13 +77,13 @@ Builder ставит управляемый toolchain в [`.toolchain`](../../.t
|
||||
dist/hy2xs-install-<version>.tar.gz
|
||||
```
|
||||
|
||||
Его нужно перенести на target Debian 12 amd64, распаковать и запустить [`install.sh`](../../package/install.sh) от root.
|
||||
Его нужно перенести на target Debian 13 amd64, распаковать и запустить [`install.sh`](../../package/install.sh) от root.
|
||||
|
||||
## Диагностика
|
||||
|
||||
Если сборка падает:
|
||||
|
||||
1. Проверьте, что host — Debian 12 amd64.
|
||||
1. Проверьте, что host — Debian 13 amd64.
|
||||
2. Проверьте доступ к `go.dev`, `github.com`, `nodejs.org`, npm registry и apt repositories.
|
||||
3. Удалите [`.toolchain`](../../.toolchain) и повторите запуск, если toolchain скачался повреждённым.
|
||||
4. Проверьте lock-файлы [`bun.lock`](../../orchestrator/bun.lock), [`pnpm-lock.yaml`](../../apps/frontend/pnpm-lock.yaml), [`go.sum`](../../apps/go.sum).
|
||||
|
||||
@@ -16,7 +16,7 @@ BUILD_DIR="$ROOT_DIR/tools/build"
|
||||
main() {
|
||||
cd "$ROOT_DIR"
|
||||
|
||||
require_linux_debian12_amd64
|
||||
require_linux_debian13_amd64
|
||||
require_repo_layout
|
||||
ensure_build_dependencies
|
||||
ensure_toolchain
|
||||
|
||||
@@ -26,8 +26,8 @@ verify_archive_sha256() {
|
||||
[ "$actual" = "$expected" ] || fail "$label sha256 mismatch: expected $expected, got $actual"
|
||||
}
|
||||
|
||||
require_linux_debian12_amd64() {
|
||||
[ "$(uname -s)" = "Linux" ] || fail "production builder supports only Linux Debian 12 amd64"
|
||||
require_linux_debian13_amd64() {
|
||||
[ "$(uname -s)" = "Linux" ] || fail "production builder supports only Linux Debian 13 amd64"
|
||||
|
||||
local arch
|
||||
arch="$(uname -m)"
|
||||
@@ -36,8 +36,8 @@ require_linux_debian12_amd64() {
|
||||
[ -f /etc/os-release ] || fail "missing /etc/os-release"
|
||||
# shellcheck disable=SC1091
|
||||
. /etc/os-release
|
||||
[ "${ID:-}" = "debian" ] || fail "production builder supports only Debian 12, got: ${ID:-unknown}"
|
||||
[ "${VERSION_ID:-}" = "12" ] || fail "production builder supports only Debian 12, got version: ${VERSION_ID:-unknown}"
|
||||
[ "${ID:-}" = "debian" ] || fail "production builder supports only Debian 13, got: ${ID:-unknown}"
|
||||
[ "${VERSION_ID:-}" = "13" ] || fail "production builder supports only Debian 13, got version: ${VERSION_ID:-unknown}"
|
||||
}
|
||||
|
||||
apt_install_missing() {
|
||||
|
||||
@@ -81,10 +81,12 @@ write_metadata() {
|
||||
printf 'name=HY2XS\n'
|
||||
printf 'version=%s\n' "$version"
|
||||
printf 'build_id=%s\n' "$build_id"
|
||||
printf 'build_host_os=debian12\n'
|
||||
printf 'build_host_os=debian13\n'
|
||||
printf 'build_host_arch=amd64\n'
|
||||
printf 'target_os=linux\n'
|
||||
printf 'target_arch=amd64\n'
|
||||
printf 'target_distro=debian\n'
|
||||
printf 'target_version=13\n'
|
||||
printf 'orchestrator_stack=Bun+TypeScript\n'
|
||||
printf 'go_version=%s\n' "$($GO_BIN version)"
|
||||
printf 'bun_version=%s\n' "$($BUN_BIN --version)"
|
||||
|
||||
Reference in New Issue
Block a user