2.7 KiB
Publishing WebAVP releases on GitPeji
WebAVP uses GitPeji only. Both the Electron updater and web download control query the public Gitea-compatible endpoint:
https://git.pejicorp.com/api/v1/repos/peji/WebAVP/releases/latest
The repository and release must remain publicly readable; the app does not embed credentials.
Release gate
- Update
versionin bothpackage.jsonandpackage-lock.jsonusing semantic versioning. - Run
npm ci,npm run check, the served web smoke, and the Electron smoke. - Build on each target operating system:
- Linux x64:
npm run dist:linux - macOS x64/arm64:
npm run dist:mac - Windows x64:
npm run dist:win
- Linux x64:
- Open each produced installer/app on its target OS and perform the manual import/playback/timeline/zoom/layout/verification checklist.
- Obtain code-signing/notarization approval before calling macOS or Windows artifacts production-ready. Unsigned test artifacts must be labelled clearly.
- Review the exact diff and test evidence before committing, pushing, tagging, or publishing.
Asset contract
electron-builder emits ${productName}-${version}-${os}-${arch}.${ext}. Keep the generated names; platform and architecture tokens are how clients select a safe asset.
Expected examples:
Alta Video Player-1.2.3-linux-x86_64.AppImageAlta Video Player-1.2.3-linux-amd64.debAlta Video Player-1.2.3-mac-x64.dmgAlta Video Player-1.2.3-mac-arm64.dmgAlta Video Player-1.2.3-win-x64.exe
Linux prefers AppImage when both AppImage and deb exist. Clients deliberately fall back to the releases page instead of guessing when the current platform/architecture has no matching asset.
Publish after approval
- Commit the reviewed version and release notes to GitPeji
main. - Create and push a matching tag such as
v1.2.3to GitPeji. - In GitPeji, create a release from that tag. It must be published (not a draft) and public.
- Upload every native artifact produced and validated above. Do not rename away OS or architecture tokens.
- Publish the release, then verify:
- the latest-release API returns HTTP 200 and the expected
tag_name; - each
browser_download_urlreturns the intended binary, not HTML; - Electron reports current/available state correctly;
- web mode selects the current browser platform or falls back to the release page.
- the latest-release API returns HTTP 200 and the expected
Update behaviour
Electron performs a bounded HTTPS metadata request in the main process, validates all returned URLs against git.pejicorp.com/peji/WebAVP/releases/download/, compares semantic versions, and asks the system browser to download the selected artifact. It does not silently install, execute, or overwrite software. The user must close WebAVP and run the installer explicitly.