docs: document verified Windows 0.4.0 release

This commit is contained in:
2026-10-25 18:44:21 +03:00
parent 2da091d6e9
commit f8ce0f21ef
3 changed files with 65 additions and 15 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
# Desktop builds and releases
For this fork’s Linux 0.4.0 release on Gitea, see [Gitea releases](gitea-release.md).
For this fork’s Linux and Windows 0.4.0 release on Gitea, see [Gitea releases](gitea-release.md).
The three-platform GitHub process below documents the upstream reference.
## Platforms
+56 -7
View File
@@ -2,8 +2,8 @@
The release destination is
https://server2.sorokin-oleg-edu.xyz/replicated/learnharness.
Version **0.4.0 targets Linux x64**. Windows is deferred until a native Windows
builder is available. The upstream GitHub workflow and three-platform packaging
Version **0.4.0 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`
and `electron-builder.yml`.
@@ -48,14 +48,55 @@ node scripts/smoke-provider-runtime.mjs --standalone dist/linux-unpacked/resourc
xvfb-run -a node scripts/smoke-demo-runtime.mjs --standalone dist/linux-unpacked/resources/server/standalone --runtime dist/linux-unpacked/learnharness --browser
```
The Linux 0.4.0 release has exactly four attachments:
The Linux portion of 0.4.0 has these attachments:
- `LearnHarness-0.4.0-x86_64.AppImage`
- `LearnHarness-0.4.0-amd64.deb`
- `latest-linux.yml`
- `SHA256SUMS`
## Preparing the Gitea draft
## Preparing Windows packages
Use a clean checkout of the same `v0.4.0` tag on Windows x64 with Node 26 and Git
for Windows. Keep build tools and logs outside the checkout. The local Windows
checkout used for this release is `~/Documents/Gitea/learnharness`.
In PowerShell, stop after any failed command:
```powershell
npm.cmd ci
$env:NODE_ENV = 'test'
$env:ELECTRON_RUN_AS_NODE = '1'
node node_modules/electron/cli.js --import tsx --test tests/pdf-native-render.test.ts tests/pdf-ops.test.ts tests/svg-native-render.test.ts tests/browser-service.test.ts
Remove-Item Env:ELECTRON_RUN_AS_NODE
node --import tsx --test tests/i18n.test.tsx
Remove-Item Env:NODE_ENV
node node_modules/next/dist/bin/next build
node scripts/smoke-provider-runtime.mjs
node scripts/build-server.mjs
node scripts/smoke-server.mjs --electron
node node_modules/electron-builder/out/cli/cli.js --config electron-builder.gitea.yml --win --x64 --publish never
node scripts/gitea-release.mjs verify-package dist/win-unpacked
node scripts/smoke-provider-runtime.mjs --standalone dist/win-unpacked/resources/server/standalone
node scripts/smoke-provider-runtime.mjs --standalone dist/win-unpacked/resources/server/standalone --runtime dist/win-unpacked/LearnHarness.exe
node scripts/smoke-demo-runtime.mjs --standalone dist/win-unpacked/resources/server/standalone --runtime dist/win-unpacked/LearnHarness.exe --browser
```
Windows contributes three attachments:
- `LearnHarness-0.4.0-x64-setup.exe`
- `LearnHarness-0.4.0-x64-setup.exe.blockmap`
- `latest.yml`
The combined release has **seven attachments**, including one `SHA256SUMS`
covering all six other files. Verify that `latest.yml` names the Windows
installer exactly, reports version `0.4.0`, and matches the installer's actual
size and SHA-512. Its gzip blockmap must cover the installer and match every
block checksum. Confirm the packaged `resources/app-update.yml` uses the Gitea
generic provider. Windows builds follow upstream's unsigned, per-user installer
configuration.
## Preparing a Linux-only Gitea draft
Commit and push the release source, then push its exact annotated tag:
@@ -77,6 +118,14 @@ SHA-256 against the local verified build. Existing mismatched attachments and
published releases are refused. It never publishes or changes repository
visibility. Release notes come from `docs/release-0.4.0.md`.
This uploader and its remote verifier enforce a **Linux-only** inventory. They
will refuse a combined Linux/Windows draft. For the combined 0.4.0 release, add
the verified Windows attachments to the existing draft and replace `SHA256SUMS`
with the combined manifest. Keep the Linux installers and feed unchanged. Check
all seven attachment names, sizes, and actual downloaded hashes against the
verified local builds; update the bilingual release notes to include Windows.
Do not publish until both platforms' checks pass.
A separate verification can be repeated without changing the draft:
```sh
@@ -98,6 +147,6 @@ does not queue a job that cannot run.
The workflow uses the repository's ephemeral `GITEA_TOKEN` with release-write
permission only in the final upload step. It checks out the requested tag without
persisting credentials and leaves the result as a verified draft. Public pull
requests cannot trigger this publishing workflow. Add Windows only with a native
Windows build and its corresponding smoke checks; do not substitute a Linux
standalone payload into a Windows installer.
requests cannot trigger this publishing workflow. This workflow remains
Linux-only; the combined 0.4.0 draft was assembled from local native builds.
Windows has its own standalone payload and smoke checks, as described above.
+8 -7
View File
@@ -21,9 +21,10 @@ for unsupported languages.
- Language changes preserve other settings. Existing conversations and imported
learning material retain their original text.
This Gitea release targets **Linux x64**: AppImage and Debian packages. Windows
packaging is deferred until a native Windows builder is available. Automatic
updates for these packages use this fork's public Gitea releases.
This Gitea release includes **Linux x64** AppImage and Debian packages and a
**Windows x64** installer. Both platforms were built and checked on their native
operating systems. Automatic updates use this fork's public Gitea releases.
The Windows installer is unsigned, matching upstream's Windows packaging.
To use live dictation, configure a Deepgram key under **Settings → Providers**.
To start AI sessions, connect an AI provider and select the required model tiers.
@@ -49,10 +50,10 @@ LearnHarness теперь поддерживает английский и ру
- Смена языка сохраняет остальные настройки. Существующие разговоры и
импортированные учебные материалы остаются на исходном языке.
Этот выпуск в Gitea предназначен для **Linux x64** и доступен в форматах AppImage
и Debian. Выпуск для Windows отложен до появления сборочной машины с Windows.
Автоматические обновления этих пакетов используют публичные выпуски этого форка
в Gitea.
Этот выпуск в Gitea включает пакеты AppImage и Debian для **Linux x64** и
установщик для **Windows x64**. Сборка и проверка каждой версии выполнены в её
операционной системе. Автоматические обновления используют публичные выпуски
этого форка в Gitea. Установщик Windows не подписан — как и в исходном проекте.
Для диктовки добавьте ключ Deepgram в разделе **Настройки → Провайдеры**.
Для занятий с ИИ подключите провайдера и выберите модели для всех нужных уровней.