LSL website, Czech manuals and release downloads; independent atomic deployment.
  • HTML 92.7%
  • Python 7.3%
Find a file
2026-10-23 21:01:50 +02:00
public Downloads for LSL 0.10.6: Linux, Windows and macOS packages, manual, source 2026-10-23 21:01:50 +02:00
tests Publish final LSL 0.9.0 BETA archives and verified web deployment proof 2026-10-11 13:24:47 +02:00
tools Record full migration and atomic deployment proof 2026-10-11 13:03:38 +02:00
.gitignore Separate LSL website and manuals; announce 0.9.0 BETA 2026-10-11 12:57:08 +02:00
.mailmap Map author identity to Antonín Tomeček 2026-10-11 13:28:59 +02:00
LICENSE Separate LSL website and manuals; announce 0.9.0 BETA 2026-10-11 12:57:08 +02:00
migration.json Record full migration and atomic deployment proof 2026-10-11 13:03:38 +02:00
README.md Publish final LSL 0.9.0 BETA archives and verified web deployment proof 2026-10-11 13:24:47 +02:00

LSL-Web

Web a české manuály lsl.lux-ai.cz mají jediný editovaný zdroj v public/. Obsah byl bezeztrátově přenesen z LuxAI/LSL@89ca06c95165f2fd6ff787cda8309adf49602bd6:docs/developer_guides. migration.json zaznamenává SHA-256 všech 201 původních souborů. Archivy, staré manuály, _headers, _redirects a adresy zůstávají zachované. Úvodní stránka, obsah a changelog přidávají označení 0.9.0 BETA; stabilní 0.8.9 ani podepsaný stabilní kanál se tím nepřepisují.

Úpravy a lokální kontrola

Editujte public/*.md a případně HTML. Kompilátor, jeho runtime ani zdrojové kódy standardní knihovny do tohoto repozitáře nepatří. Archivované manuály a vydané binární/zdrojové archivy zůstávají neměnné; nová vydání mají vlastní jména. Nové kontrolní součty lze přidávat do public/downloads/SHA256SUMS. Podepsaná metadata kanálů vytváří release proces s příslušným klíčem; webový deployer je nepodepisuje ani nepovyšuje betu na stable.

python3 -m unittest discover -s tests -v
python3 tools/check_site.py
# Jen prvotní audit přesunu, před dalšími úpravami manuálů:
python3 tools/check_site.py --migration-only

Atomické nasazení z main

Python 3.11+, Git a Linux. Server má samostatný checkout LSL-Web s read-only přístupem k jeho remote. Deployer nečte pracovní strom: publikuje pouze committed main, s --fetch výhradně čerstvý origin/main.

python3 tools/deploy.py --repo /srv/lsl-web/repo --site-root /srv/lsl-web/site --fetch
python3 tools/serve.py --site-root /srv/lsl-web/site --bind 127.0.0.1 --port 8080

TLS reverse proxy směřuje statický web na tento loopback port. Existující samostatné služby /updates/, /registry/ a /packages/ ponechte v proxy před statickým webem. Pokud jsou to soubory spravované jiným publisherem, použijte externí persistentní adresář, například --mount updates=/srv/lsl-updates; cesta nesmí vést do deployment rootu. Bez explicitního mountu deploy odmítne zahodit takovou existující cestu. _headers a _redirects aplikuje přiložený server; obyčejný file server je automaticky neinterpretuje.

Snapshot se ověří v dočasném adresáři na stejném filesystému, včetně historie, archivů a kontrolních součtů. Až potom se jediným rename přepne symlink current. Zámek serializuje deploy/rollback. Rozpracovaná nebo chybná revize nezmění aktuální web. Každý požadavek serveru čte jediný immutable snapshot. Staré snapshoty se automaticky nemažou, aby se nepřerušily otevřené downloady.

python3 tools/deploy.py --site-root /srv/lsl-web/site --rollback

Pro automatický deploy spouštějte první příkaz po push do LSL-Web/main (například systemd timerem nebo serverovým Git hookem). Nepotřebuje přístup k LuxAI/LSL ani zápis do repozitáře kompilátoru.

Připnuté offline manuály vydání LSL

Release LSL připne konkrétní commit LSL-Web, nikoli pohyblivý main. Z jeho public/*.md vytvoří odvozený snapshot v ignorovaném build/manual-source. Vývojový docs/developer_guides může být ignorovaný symlink na tento snapshot. Installer přibalí tentýž obsah do lib/lsl/docs/developer_guides spolu s webovým SHA/provenance. lsl man pak funguje offline a čte přesně dokumentaci vybranou pro dané vydání. Zdrojové release archivy mohou obsahovat tento označený generovaný snapshot pro offline sestavení; ruční úpravy vždy patří sem do public/.

Při importu webu do nového repa se žádný produkční server ani podepsaný kanál nemění. Publikaci provádí koordinátor release až po kontrole snapshotu.

Publikované artefakty LSL 0.9.0 BETA

Finální zdrojový release pochází z jediného commitu 49faadf235604882273d14f83ff588656f65cb5d v LuxAI/LSL/main, tag v0.9.0-beta.1. Binární archiv, zdrojový archiv a ZIP manuálu jsou beze změny převzaté z finálního dist/0.9.0-beta/. Samostatný soubor public/downloads/lsl-0.9.0-beta-SHA256SUMS obsahuje jejich SHA-256; společný downloads/SHA256SUMS přidává také hash tohoto souboru. Původní stabilní položky a historické archivy zůstávají beze změny.

LSL release připíná manuály na webový commit 1dec19e655bfeb0148d3090ee90b66ab1bd66622. Tento následný webový commit přidává pouze distribuční artefakty, HTML odkazy a důkaz nasazení; obsah public/*.md zůstává přesně shodný s připnutými offline manuály. Tím nevzniká cyklus mezi hashem hlavního release commitu a archivem publikovaným na webu.

Lokální ověření těchto finálních souborů je v tests/release-0.9.0-beta-web-proof.json. Nejde o důkaz přepnutí živého hostingu: ten vyžaduje samostatné produkční nasazení s provozními údaji. Podepsaný stabilní aktualizační kanál zůstává na 0.8.9.