- HTML 92.7%
- Python 7.3%
|
|
||
|---|---|---|
| public | ||
| tests | ||
| tools | ||
| .gitignore | ||
| .mailmap | ||
| LICENSE | ||
| migration.json | ||
| README.md | ||
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.