diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 32a3406..bbf1cfd 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -35,6 +35,16 @@ jobs: choco install innosetup --no-progress -y | Out-Null $v = if ("${{ github.ref_type }}" -eq "tag") { "${{ github.ref_name }}".TrimStart("v") } else { "0.0.0" } & "${env:ProgramFiles(x86)}\Inno Setup 6\ISCC.exe" /Q "/DAppVersion=$v" lab-3/installer/quizlab-client.iss + - name: Проверка — установщик ставит программу, она запускается + run: | + Start-Process -Wait -FilePath .\quizlab-client-setup.exe -ArgumentList "/VERYSILENT","/CURRENTUSER","/SUPPRESSMSGBOXES","/DIR=$env:RUNNER_TEMP\qc" + $exe = "$env:RUNNER_TEMP\qc\quizlab-client.exe" + if (-not (Test-Path $exe)) { throw "после установки нет quizlab-client.exe" } + $p = Start-Process -FilePath $exe -ArgumentList "-platform","offscreen" -PassThru + Start-Sleep -Seconds 5 + if ($p.HasExited) { throw "клиент завершился с кодом $($p.ExitCode)" } + Stop-Process -Id $p.Id -Force + "клиент установлен и работает" - uses: actions/upload-artifact@v4 with: name: windows diff --git a/README.en.md b/README.en.md index 708d9c4..de2035e 100644 --- a/README.en.md +++ b/README.en.md @@ -30,7 +30,7 @@ Deployment options in the second lab: | Folder | Images | PostgreSQL | |---|---|---| | `local/` | built from source | in a container | -| `web_pg/` | prebuilt `git.deev.su/deevev/quizlab` | in a container | +| `web_pg/` | prebuilt `git.deev.su/deevev/quizlab` (same as `ghcr.io/edeev/quizlab`) | in a container | | `web_lite/` | prebuilt `git.deev.su/deevev/quizlab` | external | | `caddy/` | built from source, Caddy instead of nginx, HTTPS with a self-signed certificate | in a container | @@ -65,8 +65,9 @@ docker compose up -d # API at http://localhost/api/quiz/ The other options run the same way from their folders. For `caddy/`, run `sh gen-cert.sh` first; the site opens at `https://localhost`. -A prebuilt client is in the [releases](https://github.com/EDeev/quizlab/releases/latest): `quizlab-client-windows-x64.zip` -(unpack and run `quizlab-client.exe`) and `quizlab-client-linux-x86_64.AppImage` (`chmod +x` and run). +A prebuilt client is in the [releases](https://github.com/EDeev/quizlab/releases/latest): `quizlab-client-setup.exe` — a +Windows installer (Start menu shortcut), `quizlab-client-windows-x64.zip` — the same without installing (unpack and run +`quizlab-client.exe`), and `quizlab-client-linux-x86_64.AppImage` (`chmod +x` and run). Building the client from source (needs Qt 6 and CMake): diff --git a/README.md b/README.md index 6dc04da..3fefc50 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ C++17 · Qt 6 (Widgets, Network) · CMake | Папка | Образы | PostgreSQL | |---|---|---| | `local/` | собираются из исходников | в контейнере | -| `web_pg/` | готовые из `git.deev.su/deevev/quizlab` | в контейнере | +| `web_pg/` | готовые из `git.deev.su/deevev/quizlab` (то же — `ghcr.io/edeev/quizlab`) | в контейнере | | `web_lite/` | готовые из `git.deev.su/deevev/quizlab` | внешний | | `caddy/` | собираются из исходников, Caddy вместо nginx, HTTPS с самоподписанным сертификатом | в контейнере | @@ -65,8 +65,9 @@ docker compose up -d # API на http://localhost/api/quiz/ Остальные варианты запускаются так же из своих папок. Для `caddy/` сначала выполните `sh gen-cert.sh`, сайт откроется на `https://localhost`. -Готовый клиент — в [релизах](https://github.com/EDeev/quizlab/releases/latest): `quizlab-client-windows-x64.zip` -(распакуйте и запустите `quizlab-client.exe`) и `quizlab-client-linux-x86_64.AppImage` (`chmod +x` и запустить). +Готовый клиент — в [релизах](https://github.com/EDeev/quizlab/releases/latest): `quizlab-client-setup.exe` — установщик +для Windows (ярлык в меню «Пуск»), `quizlab-client-windows-x64.zip` — то же без установки (распакуйте и запустите +`quizlab-client.exe`) и `quizlab-client-linux-x86_64.AppImage` (`chmod +x` и запустить). Сборка клиента из исходников (нужны Qt 6 и CMake):