Files
station-master-startos/UPDATING.md
T
Jesse de28b30eea Initial StartOS package for Station Master (v0.5.1)
Built from source via a git submodule pinned to a tag, not a published image
— the Dockerfile, main.ts, and manifest should never need to change for an
ordinary version bump, only the submodule pin (see UPDATING.md). One volume,
one interface serving the browser client + lobby/intent API + SSE stream
from a single origin, no dependencies. The server-wide join secret (D14) is
seeded on install, exposed via the Get Join Secret action, and blocks start
behind a critical task until retrieved — the same first-set/rotation pattern
as actual-budget-startos's admin password.

Verified on phoenix.local: installs, the critical task correctly blocks an
ordinary start, force-starting confirms the daemon binds its port and serves
the client, and store.json correctly holds the install-seeded join secret.
Not verified: the Get Join Secret action's execution end-to-end — start-cli's
`package action run` fails with a client-side deserialization error that
reproduces identically against actual-budget's already-shipped equivalent
action, so this looks like a start-cli issue rather than a defect here.

icon.svg is still the scaffold's hello-world placeholder — no real Station
Master icon exists yet to ship in its place.
2026-08-21 08:44:07 -04:00

42 lines
1.8 KiB
Markdown

# Updating the upstream version
Station Master is built from a git submodule at `station-master/` (tracking
[`Jesse.Markowitz/station-master`](https://draco.local:53871/Jesse.Markowitz/station-master), a
self-hosted Gitea repo — this is Jesse's own game, not a third-party upstream, but it is packaged
the same way: `Dockerfile` builds whatever commit the submodule points at, with no pinned
`dockerTag` in the manifest. The submodule pin **is** the version.
Station Master tags its releases (`v0.5.1`, …) at the commit that bumped `package.json`. Nothing
else about this package should need to change for a bump — not the `Dockerfile`, not `main.ts`,
not the manifest — only the submodule pin and this package's own version (below).
## Determining the upstream version
```bash
cd station-master && git fetch --tags && git tag -l --sort=-v:refname | head -5
```
The current pin is the submodule's checked-out commit:
```bash
git submodule status station-master
```
## Applying the bump
```bash
cd station-master && git fetch --tags && git checkout v<new version>
cd .. && git add station-master
```
Then bump this package's own version in `startos/versions/current.ts` (see
[Versions](../start-technologies/projects/start-sdk/docs/src/versions.md)) with release notes
naming the Station Master version now bundled — e.g. "Bundles Station Master v0.5.2." — and
rebuild (`make`).
If the jump carries a multiplayer protocol or persistence-format change (check the game repo's
`CHANGELOG.md` and `docs/architecture/multiplayer.md`), read it before bumping: a running
server's saved games are stamped with `engineVersion` and refuse to resume under a mismatched
one (`src/server/index.ts` in the game repo) — nothing in this package works around that, so an
in-progress game must finish (or be accepted as lost) before an incompatible bump.