Files
WebAVP/RELEASING.md

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

  1. Update version in both package.json and package-lock.json using semantic versioning.
  2. Run npm ci, npm run check, the served web smoke, and the Electron smoke.
  3. 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
  4. Open each produced installer/app on its target OS and perform the manual import/playback/timeline/zoom/layout/verification checklist.
  5. Obtain code-signing/notarization approval before calling macOS or Windows artifacts production-ready. Unsigned test artifacts must be labelled clearly.
  6. 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.AppImage
  • Alta Video Player-1.2.3-linux-amd64.deb
  • Alta Video Player-1.2.3-mac-x64.dmg
  • Alta Video Player-1.2.3-mac-arm64.dmg
  • Alta 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

  1. Commit the reviewed version and release notes to GitPeji main.
  2. Create and push a matching tag such as v1.2.3 to GitPeji.
  3. In GitPeji, create a release from that tag. It must be published (not a draft) and public.
  4. Upload every native artifact produced and validated above. Do not rename away OS or architecture tokens.
  5. Publish the release, then verify:
    • the latest-release API returns HTTP 200 and the expected tag_name;
    • each browser_download_url returns 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.

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.