summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorsalmonik <salmonik@tuta.io>2026-11-01 22:23:00 +0100
committersalmonik <salmonik@tuta.io>2026-11-01 22:23:00 +0100
commit4887abc5773b33ab1e213ed5f528dfebd242e2cd (patch)
tree8eb2316783a21817cce422c3fb58ec953206dd9a /docs
parentv4.3.1: render Windows through wgpu and keep the installer window open (diff)
downloadzagan-bet-4887abc5773b33ab1e213ed5f528dfebd242e2cd.tar.gz
zagan-bet-4887abc5773b33ab1e213ed5f528dfebd242e2cd.zip
v4.4.0: stable installers that follow the newest published buildHEADmaster
Adds web/latest.php: a plain-text feed of the newest version with each artifact's filename and SHA-256. The per-release generated installers are replaced by stable web/install.sh and web/install.ps1; both read the feed, pick the newest build, verify it, install per-user and add a launcher. Publishing a new app version no longer regenerates or versions the installers. publish.sh drops the installer renderer and Python dependency. deploy.sh now also verifies latest.php against the local artifacts and that the served installer scripts match the repository.
Diffstat (limited to 'docs')
-rw-r--r--docs/GUI-PLAN.md12
-rw-r--r--docs/TESTING.md16
2 files changed, 15 insertions, 13 deletions
diff --git a/docs/GUI-PLAN.md b/docs/GUI-PLAN.md
index a322057..c0370a0 100644
--- a/docs/GUI-PLAN.md
+++ b/docs/GUI-PLAN.md
@@ -169,13 +169,13 @@ frame rate on integrated graphics and the Windows interactive pass.
169 169
170- `publish.sh` builds the GUI with the `gui-release` profile for Linux and 170- `publish.sh` builds the GUI with the `gui-release` profile for Linux and
171 Windows and names the app `zagan-bet-gui-<version>-<platform>-<arch>[.exe]`. 171 Windows and names the app `zagan-bet-gui-<version>-<platform>-<arch>[.exe]`.
172- It renders a bash installer and a PowerShell installer next to each app. 172- The installers are stable, unversioned site files: `install.sh` and
173 Both embed the app's SHA-256, verify the file (or download it), install 173 `install.ps1` read `latest.php`, pick the newest build for the machine,
174 per-user and add a launcher: `.desktop` plus an SVG icon on Linux, a 174 verify its SHA-256, install per-user and add a launcher (`.desktop` plus an
175 Start-menu shortcut on Windows. Templates live in `scripts/installers/`; 175 SVG icon on Linux, a Start-menu shortcut on Windows). Publishing a new
176 `render-installer.py` fills them in. 176 version does not regenerate them.
177- The download page scans `bin/gui`, `bin/client` and `bin/server`, lists 177- The download page scans `bin/gui`, `bin/client` and `bin/server`, lists
178 apps, installers, clients and servers, and includes every file in the 178 apps, stable installers, clients and servers, and includes every file in the
179 `sha256sum` block. A Source section links the public git repository 179 `sha256sum` block. A Source section links the public git repository
180 (<https://git.2137697.xyz/zagan-bet.git>) for the GPL corresponding source. 180 (<https://git.2137697.xyz/zagan-bet.git>) for the GPL corresponding source.
181 `deploy.sh` verifies every artifact kind over the public URL. 181 `deploy.sh` verifies every artifact kind over the public URL.
diff --git a/docs/TESTING.md b/docs/TESTING.md
index c32ac22..09ceb82 100644
--- a/docs/TESTING.md
+++ b/docs/TESTING.md
@@ -272,14 +272,16 @@ terminal client; a saved login from one signs in the other.
2721. Set the version in `Cargo.toml` and `gui/Cargo.toml` (same MAJOR.MINOR), 2721. Set the version in `Cargo.toml` and `gui/Cargo.toml` (same MAJOR.MINOR),
273 run `cargo test --workspace`, and commit. `publish.sh` refuses a dirty tree 273 run `cargo test --workspace`, and commit. `publish.sh` refuses a dirty tree
274 because the site links the committed git history as the GPL source. 274 because the site links the committed git history as the GPL source.
2752. `./scripts/publish.sh` (add `DEST=` and `URL_BASE=` to stage elsewhere). It 2752. `./scripts/publish.sh` (add `DEST=` to stage elsewhere). It builds the GUI
276 builds the GUI with `gui-release`, the terminal clients and servers, and 276 with `gui-release` and the terminal clients and servers. The installers are
277 renders the bash/PowerShell installers with each app's SHA-256. 277 stable site files and are not regenerated.
2783. `php -S 127.0.0.1:8899 -t <staging>` and 2783. `php -S 127.0.0.1:8899 -t <staging>` and
279 `./scripts/deploy.sh <staging> http://127.0.0.1:8899/` to upload and verify 279 `./scripts/deploy.sh <staging> http://127.0.0.1:8899/` to upload and verify
280 every app, installer, client and server against the page's checksums. 280 every app, client and server against the page's checksums, the stable
2814. On a clean user account: download an app with its installer, run the 281 installers, and the newest-version feed at `latest.php`.
282 installer, and launch the new menu entry. The installer must refuse a 2824. On a clean user account: run the stable installer
283 corrupted download. 283 (`ZAGAN_SITE=http://127.0.0.1:8899 ./web/install.sh`) and launch the new
284 menu entry. It must install the newest version even when an older app sits
285 next to it, and refuse a corrupted download.
2845. Repeat on Windows for the `.ps1` installer and the Start-menu shortcut. 2865. Repeat on Windows for the `.ps1` installer and the Start-menu shortcut.
285 287