release: prepare 0.6.2 Linux and Windows packages
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# Desktop builds and releases
|
||||
|
||||
For this fork’s Linux and Windows 0.6.0 release on Gitea, see [Gitea releases](gitea-release.md).
|
||||
For this fork’s Linux and Windows 0.6.2 release on Gitea, see [Gitea releases](gitea-release.md).
|
||||
The three-platform GitHub process below documents the upstream reference.
|
||||
|
||||
## Platforms
|
||||
|
||||
+61
-2
@@ -2,7 +2,8 @@
|
||||
|
||||
The release destination is
|
||||
https://git.sorokin-oleg-edu.xyz/sorokin.oleg.edu/learnharness.
|
||||
Version **0.6.1 is Linux x64 AppImage-only**; follow the dedicated procedure below.
|
||||
Version **0.6.2 targets Linux x64 AppImage and Windows x64 NSIS**; follow the
|
||||
dedicated procedure below. Version 0.6.1 was Linux x64 AppImage-only.
|
||||
The historical **0.6.0 release targets Linux x64 and Windows x64**, with each platform built
|
||||
and verified on its native operating system. The upstream GitHub workflow and three-platform packaging
|
||||
configuration remain available as reference in `.github/workflows/release.yml`
|
||||
@@ -19,7 +20,65 @@ Gitea's `latest` alias resolves the most recent published, non-prerelease releas
|
||||
Drafts do not become updates. The repository and published downloads must be
|
||||
public; no API credential is embedded in the application.
|
||||
|
||||
## 0.6.1: Linux x64 AppImage-only upload and verification
|
||||
## 0.6.2: Linux AppImage and Windows installer
|
||||
|
||||
Build both platforms from the same release commit with Node 26. Use a clean
|
||||
checkout on each native operating system so local credentials, environment
|
||||
files, application data, and older packages cannot enter the standalone payload.
|
||||
The Windows installer retains the existing unsigned per-user NSIS configuration.
|
||||
|
||||
After dependency installation, run the typecheck, deterministic tests, lint,
|
||||
native renderer tests, and standalone runtime smoke checks. Include
|
||||
`tests/desktop-logger.test.ts` under each platform's bundled Electron Node to
|
||||
exercise the broken-pipe and retention regressions in the shipped runtime.
|
||||
Curate the standalone payload with `node scripts/build-server.mjs`, then package:
|
||||
|
||||
```sh
|
||||
# Native Linux checkout
|
||||
npx electron-builder --config electron-builder.gitea.yml --linux AppImage --x64 --publish never
|
||||
|
||||
# Native Windows checkout
|
||||
npx electron-builder --config electron-builder.gitea.yml --win --x64 --publish never
|
||||
```
|
||||
|
||||
Verify each packaged updater with `scripts/gitea-release.mjs verify-package` and
|
||||
run the provider, server, and browser-helper smoke checks against that package's
|
||||
own standalone tree and executable. Copy only these six assets into a staging
|
||||
directory (the checksum command creates the final file):
|
||||
|
||||
- `LearnHarness-0.6.2-x86_64.AppImage`
|
||||
- `LearnHarness-0.6.2-x64-setup.exe`
|
||||
- `LearnHarness-0.6.2-x64-setup.exe.blockmap`
|
||||
- `latest-linux.yml`
|
||||
- `latest.yml`
|
||||
- `SHA256SUMS`
|
||||
|
||||
```sh
|
||||
node scripts/gitea-release.mjs checksums /path/to/staging --appimage-windows
|
||||
node scripts/gitea-release.mjs verify /path/to/staging --appimage-windows
|
||||
```
|
||||
|
||||
This explicit scope preserves the historical Linux defaults and AppImage-only
|
||||
mode. It rejects extra staged files, checks both installer headers and updater
|
||||
feeds against the actual bytes, regenerates the Windows blockmap with the pinned
|
||||
packager to verify every chunk and full installer coverage, and verifies the
|
||||
combined SHA-256 manifest. It includes no Debian, RPM, or macOS packages.
|
||||
|
||||
Commit and push the release source and its matching annotated `v0.6.2` tag.
|
||||
Supply the Gitea API token privately, then prepare and verify the draft:
|
||||
|
||||
```sh
|
||||
node scripts/gitea-release.mjs upload /path/to/staging --appimage-windows
|
||||
node scripts/gitea-release.mjs verify-remote /path/to/staging --appimage-windows
|
||||
```
|
||||
|
||||
The uploader reads notes from `docs/release-0.6.2.md`, requires the remote tag,
|
||||
keeps the release a stable draft, and downloads all six attachments to compare
|
||||
their SHA-256 hashes with the validated local files. It refuses published or
|
||||
ambiguous releases and mismatched existing attachments. Publication follows
|
||||
human review of the completed draft.
|
||||
|
||||
## Historical 0.6.1: Linux x64 AppImage-only upload and verification
|
||||
|
||||
This release has exactly three attachments:
|
||||
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
# LearnHarness 0.6.2
|
||||
|
||||
## English
|
||||
|
||||
This release fixes a critical desktop logging bug that could consume hundreds of
|
||||
gigabytes of disk space when the application's output pipe closed.
|
||||
|
||||
- Stops the repeated `EPIPE` exception loop after a launcher or terminal closes
|
||||
its output pipe. Uncaught errors are recorded directly to the log file.
|
||||
- Keeps desktop diagnostics within two files of 5 MiB each, for a maximum of
|
||||
10 MiB. Existing oversized logs are trimmed on startup, retaining recent data.
|
||||
- Handles output backpressure, full disks, and log rotation failures without
|
||||
starting another logging failure loop.
|
||||
|
||||
Packages: Linux x64 AppImage and Windows x64 NSIS installer. Both receive updates
|
||||
from this fork's Gitea releases. The Windows installer remains unsigned.
|
||||
|
||||
## Русский
|
||||
|
||||
Выпуск исправляет критическую ошибку журналирования: после закрытия канала
|
||||
вывода приложение могло занять сотни гигабайт на диске.
|
||||
|
||||
- Устранён цикл повторных исключений `EPIPE` после закрытия канала вывода
|
||||
терминалом или программой запуска. Необработанные ошибки записываются
|
||||
непосредственно в файл журнала.
|
||||
- Журналы ограничены двумя файлами по 5 МиБ, всего до 10 МиБ. При запуске
|
||||
прежние слишком большие журналы сокращаются с сохранением последних данных.
|
||||
- Переполнение канала вывода, заполненный диск и ошибки ротации журналов
|
||||
больше не вызывают новый цикл ошибок журналирования.
|
||||
|
||||
Пакеты: AppImage для Linux x64 и установщик NSIS для Windows x64. Обе версии
|
||||
получают обновления из выпусков этого форка в Gitea. Установщик Windows
|
||||
по-прежнему не подписан.
|
||||
Reference in New Issue
Block a user