dist.sh builds versioned, signed artifacts for both apps from a git tag
release / build (push) Has been cancelled
release / build (push) Has been cancelled
(semver drives Android versionCode/versionName and package.json). The build-image/ Dockerfile pins the same toolchain for a portable, containerized Gitea Actions runner (build-image.sh builds and pushes it) so releases don't depend on any one machine's local setup. Pushing vX.Y.Z now builds and publishes a Gitea Release automatically.
This commit is contained in:
@@ -38,9 +38,18 @@ SchwertUndMagieOnPebbleWatchApp/ Pebble watchapp (C + PebbleKit JS)
|
||||
SchwertUndMagieOnPebbleCompanionApp/ Android companion app (Kotlin + NDK)
|
||||
versions/ Original .d64 disk images (4 disks)
|
||||
docs/ Architecture notes and diagrams
|
||||
dist/ Built APKs (gitignored)
|
||||
build-image/ Dockerfile for the release build environment
|
||||
dist/ Build artifacts (gitignored) — see dist.sh
|
||||
```
|
||||
|
||||
Run `./dist.sh` to build release artifacts for both apps in one step:
|
||||
`dist/schwert-und-magie-<version>.{aab,apk,pbw}` — the signed Android AAB
|
||||
(Play Store), APK (sideload), and Pebble `.pbw` (Rebble / direct install).
|
||||
Requires the Android release keystore to already be configured
|
||||
(`docs/publish.md` §2.1-2.3). The version comes from the current git tag by
|
||||
default (`git tag v1.2.3`); see `docs/publish.md` §4 for pushing that tag to
|
||||
trigger an automated, containerized build via Gitea Actions instead.
|
||||
|
||||
## How it works
|
||||
|
||||
Three processes cooperate across two devices:
|
||||
@@ -135,6 +144,28 @@ ensure register consistency — see `docs/architecture.md §4.4`.
|
||||
See [`docs/publish.md`](docs/publish.md) for keystore setup, Google Play,
|
||||
F-Droid, and Rebble submission.
|
||||
|
||||
### Automated releases (Gitea Actions)
|
||||
|
||||
Pushing a tag `vX.Y.Z` builds both apps in a containerized runner and
|
||||
publishes a Gitea Release with the versioned artifacts attached — see
|
||||
`docs/publish.md` §4. One-time setup:
|
||||
|
||||
1. Build and push the build environment image (`./build-image.sh`, needs
|
||||
`registry.env` — copy from `registry.env.example`).
|
||||
2. Register a self-hosted `act_runner` with a Docker executor.
|
||||
3. Add repo secrets under **Settings → Actions → Secrets**:
|
||||
|
||||
| Secret | Value |
|
||||
|---|---|
|
||||
| `RELEASE_KEYSTORE_B64` | `base64 -w0 SchwertUndMagieOnPebbleCompanionApp/release.keystore` |
|
||||
| `RELEASE_KEYSTORE_PROPERTIES` | full contents of `SchwertUndMagieOnPebbleCompanionApp/keystore.properties` |
|
||||
|
||||
`GITEA_TOKEN` is injected automatically per job — nothing to add for it.
|
||||
4. `git tag v1.2.3 && git push origin v1.2.3`.
|
||||
|
||||
Full details, including runner registration commands, are in
|
||||
`docs/publish.md` §4.
|
||||
|
||||
## License
|
||||
|
||||
The watch app and companion app source code in this repository are released
|
||||
|
||||
Reference in New Issue
Block a user