Bootstrap Pilgrims of Katan: rebrand, Gitea CI and OTA
Build and Release APK / Build APK and publish release (push) Canceled after 0s
Build and Release APK / Build APK and publish release (push) Canceled after 0s
Import of ProLibertateGames (upstream main, GPL-3.0) rebranded for Wallacenet and repointed at git.wallacenet.ca. - Identity: applicationId ca.wallacenet.pilgrimsofkatan (+ .dev for the dev channel), launcher names "Pilgrims of Katan" / "Pilgrims of Katan DEV", neutral hexagon branding replacing the Wallace tartan. Uncial Antiqua keeps its OFL licence, and the GPL-3.0 LICENSE plus upstream attribution stay. - OTA: Updater.kt now reads this repo's own Gitea releases (/api/v1/repos/devadmin/PilgrimsOfKatan/releases...) and BuildConfig. OTA_ENABLED is on; Gitea answers the same JSON shape the code already parsed. - Build numbers: versionCode = CI run number + plgVersionRunOffset (1000), with the tag and versionName derived from the same figure. The offset is permanent, because Gitea Actions restarts run numbers at 1 and a reset would otherwise make Android reject the next build as a downgrade. - CI: ci.yml publishes a dev prerelease from dev, release.yml a production release from main, both through scripts/publish-release.sh (Gitea REST API, runnable by hand until an Actions runner is registered). - Docs: docs/CI.md records the channel, numbering and runner decisions; docs/README.md seeds the per-game RULES-* conventions; CLAUDE.md carries the agent ground rules. Verified: ./gradlew assembleDebug and testDebugUnitTest green on JDK 17 / compileSdk 34, both variants stamped, installing side by side under the new identity. Co-Authored-By: Paperclip <[email protected]>
This commit is contained in:
co-authored by
Paperclip
parent
d27c2db894
commit
fad4778ad8
@@ -0,0 +1,45 @@
|
||||
# docs/
|
||||
|
||||
Conventions for this repo's documentation. Seeded at bootstrap (WALA-118).
|
||||
|
||||
## Per-game rules: `RULES-<game>.md`
|
||||
|
||||
Every game in `GameCatalog` gets one file describing how *this app* implements
|
||||
it — not a generic rule dump. The rules code
|
||||
(`app/src/main/java/org/prolibertate/games/game/<game>/`) is the source of
|
||||
truth; the doc exists so a human or an agent can check intent against
|
||||
behaviour without reading Kotlin first.
|
||||
|
||||
Naming: the catalogue id, lowercase, e.g. `crazy8s` → `RULES-crazy8s.md`.
|
||||
|
||||
| Game (catalogue id) | Rules doc |
|
||||
| --- | --- |
|
||||
| Backgammon | [RULES-backgammon.md](RULES-backgammon.md) |
|
||||
| Checkers | [RULES-checkers.md](RULES-checkers.md) |
|
||||
| Chess | [RULES-chess.md](RULES-chess.md) |
|
||||
| Crazy 8s | [RULES-crazy8s.md](RULES-crazy8s.md) |
|
||||
| Cribbage | [RULES-cribbage.md](RULES-cribbage.md) |
|
||||
| Euchre | [RULES-euchre.md](RULES-euchre.md) |
|
||||
| FreeCell | — (TODO) |
|
||||
| Golf | [RULES-golf.md](RULES-golf.md) |
|
||||
| Hearts | — (TODO) |
|
||||
| Kaiser | [RULES-kaiser.md](RULES-kaiser.md) |
|
||||
| Klondike | — (TODO) |
|
||||
| Mastermind | [RULES-mastermind.md](RULES-mastermind.md) |
|
||||
| Morris | [RULES-morris.md](RULES-morris.md) |
|
||||
| Peg solitaire | — (TODO) |
|
||||
| Pirates | [RULES-pirates.md](RULES-pirates.md) |
|
||||
| President | [RULES-president.md](RULES-president.md) |
|
||||
| Pyramid | — (TODO) |
|
||||
| Sequence | [RULES-sequence.md](RULES-sequence.md) |
|
||||
| Spider | — (TODO) |
|
||||
| Ta Yü | [RULES-tayu.md](RULES-tayu.md) |
|
||||
| Wizard | [RULES-wizard.md](RULES-wizard.md) |
|
||||
| Yahtzee | — (TODO) |
|
||||
|
||||
## Other docs
|
||||
|
||||
- [CI.md](CI.md) — build, CI, releases, OTA decisions.
|
||||
- `licenses/` — third-party licences that must travel with the app
|
||||
(Uncial Antiqua under the SIL OFL; the app itself is GPL-3.0, see `/LICENSE`).
|
||||
- Repo-level agent notes live in [`CLAUDE.md`](../CLAUDE.md) at the root.
|
||||
Reference in New Issue
Block a user