Rename the Gitea repo references to ProLibertateGames
Build and Release APK / Build APK and publish release (push) Canceled after 0s

The repo was renamed from PilgrimsOfKatan to ProLibertateGames on the
Gitea instance. Update every reference so nothing points at the old name:

- OTA updater: the repo constant and the User-Agent
- publish-release.sh: the default repo, the asset name, the release title
- CI/release workflows: the artifact names and the staged APK name
- settings.gradle.kts: the Gradle project name
- Protocol.kt / LanTransport.kt: the mDNS service label and the Wi-Fi lock tag
- docs (README, CLAUDE.md, docs/CI.md) and the update-policy test fixtures

The installed applicationId is left unchanged in this commit.

Co-Authored-By: Paperclip <[email protected]>
This commit is contained in:
adrianoftyriel
2026-10-14 14:21:43 +00:00
co-authored by Paperclip
parent 5c797c8807
commit b58b4251dc
11 changed files with 28 additions and 28 deletions
+3 -3
View File
@@ -69,7 +69,7 @@ jobs:
- name: Upload debug APK
uses: actions/upload-artifact@v4
with:
name: PilgrimsOfKatan-debug-apk
name: ProLibertateGames-debug-apk
path: app/build/outputs/apk/debug/app-debug.apk
if-no-files-found: error
retention-days: 14
@@ -79,7 +79,7 @@ jobs:
if: always()
uses: actions/upload-artifact@v4
with:
name: PilgrimsOfKatan-reports
name: ProLibertateGames-reports
path: |
app/build/reports/
if-no-files-found: ignore
@@ -109,7 +109,7 @@ jobs:
stamp="$(( ${{ github.run_number }} + offset ))"
version="v${series}.${stamp}-dev"
src="app/build/outputs/apk/debug/app-debug.apk"
dest="PilgrimsOfKatan-${version}.apk"
dest="ProLibertateGames-${version}.apk"
cp "$src" "$dest"
echo "version=$version" >> "$GITHUB_OUTPUT"
echo "apk=$dest" >> "$GITHUB_OUTPUT"
+2 -2
View File
@@ -64,7 +64,7 @@ jobs:
stamp="$(( ${{ github.run_number }} + offset ))"
version="v${series}.${stamp}"
src="app/build/outputs/apk/debug/app-debug.apk"
dest="PilgrimsOfKatan-${version}.apk"
dest="ProLibertateGames-${version}.apk"
cp "$src" "$dest"
echo "version=$version" >> "$GITHUB_OUTPUT"
echo "apk=$dest" >> "$GITHUB_OUTPUT"
@@ -72,7 +72,7 @@ jobs:
- name: Upload APK as workflow artifact
uses: actions/upload-artifact@v4
with:
name: PilgrimsOfKatan-apk
name: ProLibertateGames-apk
path: ${{ steps.stage.outputs.apk }}
if-no-files-found: error
+2 -2
View File
@@ -4,7 +4,7 @@ ProLibertateGames — Wallacenet's build of an Android collection of card and
board games, playable against AI or over Wi-Fi (LAN). Upstream:
[adrianoftyriel/ProLibertateGames](https://github.com/adrianoftyriel/ProLibertateGames)
(GPL-3.0, kept as the `upstream` remote). Canonical repo:
<https://git.wallacenet.ca/devadmin/PilgrimsOfKatan>.
<https://git.wallacenet.ca/devadmin/ProLibertateGames>.
## Ground rules
@@ -46,7 +46,7 @@ One flag — `isDevBuild` in `app/build.gradle.kts` — drives applicationId,
launcher name and brand colour together. Never set them individually.
In-app OTA points at this repo's own Gitea releases
(`/api/v1/repos/devadmin/PilgrimsOfKatan/releases…`) and is **on**:
(`/api/v1/repos/devadmin/ProLibertateGames/releases…`) and is **on**:
`BuildConfig.OTA_ENABLED` is `true`. The channel is a decision already made and
recorded — `docs/CI.md` documents the endpoints, the build-number scheme, and
what publishing requires. Setting the flag to `false` is the kill switch.
+1 -1
View File
@@ -5,7 +5,7 @@ or against other people over Wi-Fi (LAN).
Wallacenet's build of [ProLibertateGames](https://github.com/adrianoftyriel/ProLibertateGames)
by adrianoftyriel (GNU GPL v3 — see [LICENSE](LICENSE)), hosted at
<https://git.wallacenet.ca/devadmin/PilgrimsOfKatan>. Game rules documentation
<https://git.wallacenet.ca/devadmin/ProLibertateGames>. Game rules documentation
lives under [docs/](docs/README.md); build, CI and release decisions live in
[docs/CI.md](docs/CI.md). Katan itself arrives in later work — it is listed under
Board Games as *Coming soon* — and this app ships the reference catalogue
@@ -308,6 +308,6 @@ class LanTransport(private val context: Context) : Transport {
}
const val CONNECT_TIMEOUT_MS = 8_000
const val WIFI_LOCK_TAG = "PilgrimsOfKatan:lan"
const val WIFI_LOCK_TAG = "ProLibertateGames:lan"
}
}
@@ -33,7 +33,7 @@ const val PURPOSE_SCOREKEEPER = "scorekeeper"
/** Service type and name advertised over mDNS. */
const val SERVICE_TYPE = "_plgames._tcp"
const val SERVICE_NAME = "PilgrimsOfKatan"
const val SERVICE_NAME = "ProLibertateGames"
val protocolJson: Json = Json {
ignoreUnknownKeys = true
@@ -126,7 +126,7 @@ class Updater(private val activity: Activity) {
(URL(url).openConnection() as HttpURLConnection).apply {
requestMethod = "GET"
setRequestProperty("Accept", "application/json")
setRequestProperty("User-Agent", "PilgrimsOfKatan-Updater")
setRequestProperty("User-Agent", "ProLibertateGames-Updater")
connectTimeout = 15_000
readTimeout = 15_000
}
@@ -206,7 +206,7 @@ class Updater(private val activity: Activity) {
const val SERVER = "https://git.wallacenet.ca"
const val SERVER_HOST = "git.wallacenet.ca"
const val OWNER = "devadmin"
const val REPO = "PilgrimsOfKatan"
const val REPO = "ProLibertateGames"
/** Release routes, Gitea's `/api/v1` spelling of GitHub's API. */
const val API = "$SERVER/api/v1/repos/$OWNER/$REPO"
@@ -22,7 +22,7 @@ class UpdatePolicyTest {
tag = tag,
versionCode = versionCode,
apkUrl = "https://example.invalid/$tag.apk",
apkName = "PilgrimsOfKatan-$tag.apk",
apkName = "ProLibertateGames-$tag.apk",
channel = channel,
)
@@ -60,16 +60,16 @@ class UpdatePolicyTest {
// The instance reports its canonical host; the app was told to trust
// another. Same bytes, one host, whatever the server names itself.
assertEquals(
"https://git.wallacenet.ca/devadmin/PilgrimsOfKatan/releases/download/" +
"v1.4.1001-dev/PilgrimsOfKatan-v1.4.1001-dev.apk",
"https://git.wallacenet.ca/devadmin/ProLibertateGames/releases/download/" +
"v1.4.1001-dev/ProLibertateGames-v1.4.1001-dev.apk",
onReportedHost(
"https://git.saskvalleytech.com/devadmin/PilgrimsOfKatan/releases/download/" +
"v1.4.1001-dev/PilgrimsOfKatan-v1.4.1001-dev.apk",
"https://git.saskvalleytech.com/devadmin/ProLibertateGames/releases/download/" +
"v1.4.1001-dev/ProLibertateGames-v1.4.1001-dev.apk",
"git.wallacenet.ca",
),
)
// A URL that already says the right host is left exactly as it is.
val already = "https://git.wallacenet.ca/devadmin/PilgrimsOfKatan/releases/download/v1.4.1/a.apk"
val already = "https://git.wallacenet.ca/devadmin/ProLibertateGames/releases/download/v1.4.1/a.apk"
assertEquals(already, onReportedHost(already, "git.wallacenet.ca"))
// Anything unparseable survives untouched rather than being dropped.
assertEquals("not a url", onReportedHost("not a url", "git.wallacenet.ca"))
+5 -5
View File
@@ -1,11 +1,11 @@
# CI, releases, and OTA — decisions and how to build
Status as of the Pilgrims of Katan bootstrap (WALA-118).
Status as of the ProLibertateGames bootstrap (WALA-118).
## Decisions
1. **The release channel is this instance's own releases.** The app ships from
<https://git.wallacenet.ca/devadmin/PilgrimsOfKatan>, and the in-app updater
<https://git.wallacenet.ca/devadmin/ProLibertateGames>, and the in-app updater
reads that repo's releases over Gitea's REST API. GitHub is not a channel for
this project; the only GitHub URLs left are the `upstream` remote and the
attribution link in the README.
@@ -113,8 +113,8 @@ so a retry is safe.
| Channel | Endpoint |
| --- | --- |
| production | `GET /api/v1/repos/devadmin/PilgrimsOfKatan/releases/latest` |
| dev | `GET /api/v1/repos/devadmin/PilgrimsOfKatan/releases?limit=30` |
| production | `GET /api/v1/repos/devadmin/ProLibertateGames/releases/latest` |
| dev | `GET /api/v1/repos/devadmin/ProLibertateGames/releases?limit=30` |
- `/releases/latest` is documented by Gitea as *the most recent non-prerelease,
non-draft release* — the same rule GitHub implements, so the production
@@ -126,7 +126,7 @@ so a retry is safe.
`prerelease`, `draft`, and assets carrying `browser_download_url`. Gitea says
`limit` where GitHub says `per_page`.
- Each asset must be named so it contains its tag —
`PilgrimsOfKatan-v1.4.1001.apk` for tag `v1.4.1001` — because the updater
`ProLibertateGames-v1.4.1001.apk` for tag `v1.4.1001` — because the updater
picks the versioned APK out of the release's assets by that rule.
`BuildConfig.OTA_ENABLED` is a kill switch, not a channel decision: it is
+4 -4
View File
@@ -11,7 +11,7 @@
# Environment:
# GITEA_TOKEN required — a token that may create releases on the repo.
# GITEA_API API base, default https://git.wallacenet.ca/api/v1
# GITEA_REPO owner/name, default devadmin/PilgrimsOfKatan
# GITEA_REPO owner/name, default devadmin/ProLibertateGames
#
# The four arguments can also arrive as RELEASE_TAG, RELEASE_APK,
# RELEASE_KIND and RELEASE_TARGET, which is how the workflows pass them.
@@ -34,7 +34,7 @@ esac
[ -f "$apk" ] || { echo "publish-release: no such APK: ${apk:-<unset>}" >&2; exit 2; }
[ -n "${GITEA_TOKEN:-}" ] || { echo "publish-release: GITEA_TOKEN is not set" >&2; exit 2; }
api="${GITEA_API:-${GITHUB_API_URL:-https://git.wallacenet.ca/api/v1}}/repos/${GITEA_REPO:-${GITHUB_REPOSITORY:-devadmin/PilgrimsOfKatan}}"
api="${GITEA_API:-${GITHUB_API_URL:-https://git.wallacenet.ca/api/v1}}/repos/${GITEA_REPO:-${GITHUB_REPOSITORY:-devadmin/ProLibertateGames}}"
tmp="$(mktemp -d)"
trap 'rm -rf "$tmp"' EXIT INT TERM
@@ -43,7 +43,7 @@ trap 'rm -rf "$tmp"' EXIT INT TERM
# updater picks the versioned APK out of a release's assets by finding the one
# whose name contains the tag, so an asset called app-debug.apk would only be
# found by the fallback rule.
apk_name="PilgrimsOfKatan-${tag}.apk"
apk_name="ProLibertateGames-${tag}.apk"
# The tag and the file name are both derived from gradle.properties and a run
# number, so neither can carry a quote or a backslash into this JSON.
@@ -56,7 +56,7 @@ else
fi
cat > "$tmp/release.json" <<JSON
{"tag_name":"${tag}","target_commitish":"${target}","name":"Pilgrims of Katan ${tag}","body":"${note}","prerelease":${prerelease},"draft":false}
{"tag_name":"${tag}","target_commitish":"${target}","name":"Pro Libertate Games ${tag}","body":"${note}","prerelease":${prerelease},"draft":false}
JSON
code="$(curl -sS -o "$tmp/create.json" -w '%{http_code}' -X POST \
+1 -1
View File
@@ -14,5 +14,5 @@ dependencyResolutionManagement {
}
}
rootProject.name = "PilgrimsOfKatan"
rootProject.name = "ProLibertateGames"
include(":app")