Publish builds to a branch instead of to releases.

Releases and version numbers are gone. CI now rebuilds all three platforms
on every change to main and commits the packages to the `builds` branch,
so what anyone downloads is the current state of the repository. The
branch is rewritten from scratch each time rather than added to, so the
repository keeps one copy of the packages instead of a ~70 MB set per
commit.

Without tags there is no version to compare, so a build carries the
commit it was made from and the branch carries a VERSION file naming the
same commit. The updater fetches those few bytes and treats any
difference as being behind; commits are not ordered, and the branch only
ever holds the current build.

The installers fetch from the branch over raw.githubusercontent.com for
the same reason.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
pepaskopec-blip 2026-09-17 15:40:47 +02:00
commit 737e27deb0
10 changed files with 190 additions and 198 deletions

View file

@ -21,13 +21,16 @@
#define CZ_SUBJ 3 /* index of "Český jazyk a literatura" */
#define CSS_FILE "style.css"
#define APP_ID "org.maturita.Maturita"
/* Release builds bake the git tag in (see VERSION in the Makefile), so the
* updater can tell what it is running. Plain builds stay at "dev" and never
* report an update as available. */
#ifndef APP_VERSION
#define APP_VERSION "dev"
/* Published builds bake in the commit they were made from (see COMMIT in the
* Makefile), which is what the updater compares against the build published
* in the repository. Local builds stay at "dev" and never offer an update. */
#ifndef APP_COMMIT
#define APP_COMMIT "dev"
#endif
#define UPDATE_REPO "pepaskopec-blip/maturita.c"
/* Packages live on their own branch rather than in releases, so the update
* always matches whatever is on main. */
#define UPDATE_BRANCH "builds"
#define ICON_NAME "maturita"
#define ICON_FILE "assets/app-icon.png"
#define ICON_THEME_DIR "assets/icons" /* cwd when run from source tree */