Repository navigation
Releasing
Releases are built and published entirely by GitHub Actions. Nothing is built on a personal machine.
-
Make sure
mainis green in the Actions tab. -
Tag the commit and push the tag:
git tag -a v1.2.0 -m "Vision Call v1.2.0" git push origin v1.2.0
The Release workflow then:
| Job | Publishes |
|---|---|
binaries |
A GitHub Release with an archive per platform (linux-amd64, linux-arm64, darwin-arm64, windows-amd64, windows-arm64) and checksums.txt. Each archive holds the program, .env.example, the README and that platform's installer. |
android |
visioncall_<tag>_android.apk, signed with the release key, and its .sha256 file, attached to the same release |
docker |
ghcr.io/anand34577/vision-call:<tag> and :latest for linux/amd64 and linux/arm64
|
The version shown by visioncall -version, /api/healthz and the Android app comes from the tag. For Android, v1.2.3 becomes version name 1.2.3 and version code 10203.
To rebuild an existing tag, run the Release workflow by hand from the Actions tab and enter the tag.
Use vMAJOR.MINOR.PATCH:
- PATCH for fixes
- MINOR for new features that don't break existing installs
- MAJOR when upgrading needs manual steps
The APK is signed with the release key stored in the repository's Actions secrets:
| Secret | Contents |
|---|---|
ANDROID_KEYSTORE_BASE64 |
The keystore file, base64 encoded |
ANDROID_KEYSTORE_PASSWORD |
Keystore password |
ANDROID_KEY_ALIAS |
Key alias |
ANDROID_KEY_PASSWORD |
Key password |
The Android job refuses to publish if the keystore secret is missing, so an unsigned APK is never released. Keep the keystore itself backed up somewhere safe: Android only accepts updates signed with the same key, so losing it means users would have to uninstall before installing a new version.
The one-line installers and the Docker image are downloaded without signing in, so:
- the repository must be public, and
- the
vision-callpackage under the account's Packages must be set to public (Package settings > Change visibility).
The wiki pages live in docs/wiki/ in the repository. The Wiki workflow copies them to the GitHub wiki whenever they change on main, so edit them there, not on the wiki itself.
Getting started
Install
Set up
Run it
Develop