docs: fix lint warnings and clean up references
- Fix MD060 table separator spacing across all docs - Fix MD031/MD032 blank lines around code fences and lists - Fix MD029 ordered list numbering in ecc-setup-guide - Genericize hardcoded app names (LedGrab/MediaServer → YourApp) - Remove non-existent `claude skill install` CLI command - Add staleness warning for ECC Windows fixes - Add cross-link from windows-code-signing to gitea-python-ci-cd
This commit is contained in:
+10
-9
@@ -5,7 +5,7 @@ A reusable reference for building CI pipelines, release automation, and installe
|
||||
**This is a modular reference — pick only the sections you need.** Not every project requires all build targets. Common combinations:
|
||||
|
||||
| Project type | Sections to use |
|
||||
|---|---|
|
||||
| --- | --- |
|
||||
| Docker-only service | 1, 2 (docker job only), 7, 8 |
|
||||
| Desktop app (Windows + Linux) | 1, 2, 3, 4, 5, 6, 8 |
|
||||
| Desktop + Docker | All sections |
|
||||
@@ -636,6 +636,7 @@ git push origin v0.2.0-alpha.1
|
||||
Instead of hardcoding release notes in the workflow, keep a `RELEASE_NOTES.md` in the repo root. The CI fetches only that file (via sparse-checkout for speed) and prepends its content to the auto-generated Downloads section.
|
||||
|
||||
**Workflow:**
|
||||
|
||||
1. Before tagging, write `RELEASE_NOTES.md` with changes for this release
|
||||
2. Commit, tag, push — CI picks up the file automatically
|
||||
3. Release body = your notes + auto-generated download/Docker instructions
|
||||
@@ -833,7 +834,7 @@ Examples: `v0.3.0-alpha.1` → `0.3.0a1`, `v0.3.0-rc.3` → `0.3.0rc3`, `v1.0.0`
|
||||
Detect at startup by checking filesystem markers:
|
||||
|
||||
| Marker | Install type | Auto-update strategy |
|
||||
|--------|-------------|---------------------|
|
||||
| -------- | ------------- | --------------------- |
|
||||
| `uninstall.exe` in CWD | `installer` | Download `-setup.exe`, run `/S /D=<dir>` (silent NSIS reinstall) |
|
||||
| `python/python.exe` in CWD (no uninstaller) | `portable` (Windows) | Download ZIP, extract, swap `app/` + `python/` via detached bat script |
|
||||
| `venv/` + `run.sh` in CWD | `portable` (Linux) | Download tarball, extract, swap `app/` + `venv/` via detached shell script |
|
||||
@@ -875,9 +876,9 @@ Can't replace files while the server is running (DLL locks). Solution: write a `
|
||||
@echo off
|
||||
timeout /t 5 /nobreak >nul
|
||||
rmdir /s /q "C:\path\app" 2>nul
|
||||
move /y "C:\path\staging\LedGrab\app" "C:\path\app"
|
||||
move /y "C:\path\staging\YourApp\app" "C:\path\app"
|
||||
rmdir /s /q "C:\path\python" 2>nul
|
||||
move /y "C:\path\staging\LedGrab\python" "C:\path\python"
|
||||
move /y "C:\path\staging\YourApp\python" "C:\path\python"
|
||||
rmdir /s /q "C:\path\staging" 2>nul
|
||||
start "" wscript.exe "C:\path\scripts\start-hidden.vbs"
|
||||
del /f /q "%~f0"
|
||||
@@ -892,8 +893,8 @@ Same pattern but with a shell script:
|
||||
```bash
|
||||
#!/bin/bash
|
||||
sleep 3
|
||||
rm -rf "$APP_ROOT/app" && mv "$STAGING/LedGrab/app" "$APP_ROOT/app"
|
||||
rm -rf "$APP_ROOT/venv" && mv "$STAGING/LedGrab/venv" "$APP_ROOT/venv"
|
||||
rm -rf "$APP_ROOT/app" && mv "$STAGING/YourApp/app" "$APP_ROOT/app"
|
||||
rm -rf "$APP_ROOT/venv" && mv "$STAGING/YourApp/venv" "$APP_ROOT/venv"
|
||||
rm -rf "$STAGING"
|
||||
cd "$APP_ROOT" && exec ./run.sh
|
||||
```
|
||||
@@ -901,7 +902,7 @@ cd "$APP_ROOT" && exec ./run.sh
|
||||
### 11.7. API Endpoints
|
||||
|
||||
| Method | Path | Purpose |
|
||||
|--------|------|---------|
|
||||
| -------- | ------ | --------- |
|
||||
| `GET` | `/system/update/status` | Current state, available version, install type, progress |
|
||||
| `POST` | `/system/update/check` | Trigger immediate check |
|
||||
| `POST` | `/system/update/dismiss` | Dismiss notification for a version |
|
||||
@@ -965,13 +966,13 @@ bash build-dist-windows.sh v1.0.0
|
||||
|
||||
# 3. Build NSIS installer
|
||||
"/c/Program Files (x86)/NSIS/makensis.exe" -DVERSION="1.0.0" installer.nsi
|
||||
# Output: build/MediaServer-v1.0.0-setup.exe
|
||||
# Output: build/YourApp-v1.0.0-setup.exe
|
||||
```
|
||||
|
||||
### 13.3. Common Issues
|
||||
|
||||
| Issue | Cause | Fix |
|
||||
|-------|-------|-----|
|
||||
| ------- | ------- | ----- |
|
||||
| `zip: command not found` | Git Bash doesn't include `zip` | Harmless — only affects the portable ZIP, not the installer. Install `zip` via MSYS2 if needed |
|
||||
| `Exec expects 1 parameters, got 2` | `MUI_FINISHPAGE_RUN_PARAMETERS` quoting breaks NSIS `Exec` | Use `MUI_FINISHPAGE_RUN_FUNCTION` instead (see section 6) |
|
||||
| `Error opening file for writing: ...python\\_asyncio.pyd` | Server is running and has DLLs locked | Stop the server before installing. Add `.onInit` file-lock check (see section 6) |
|
||||
|
||||
Reference in New Issue
Block a user