TradeMasterAPI ships two independently deployable artifacts:
| Package | Path | Tag stream | Version file |
|---|---|---|---|
trademaster-api |
frontend/trademaster_ui |
trademaster-api-vX.Y.Z |
frontend/trademaster_ui/package.json |
console |
console/ |
console-vX.Y.Z |
console/app/version.py |
Before this change, release-please declared a single package at repo root . with
release-type: node. There is no package.json at the repo root, so release-please
could not resolve the primary version file and never bumped frontend/trademaster_ui/package.json,
VERSION, or backend_v2/version.txt. The post-release verify step in release.yml
detected the mismatch and exited 1 on every release.
Additionally, the console had no release tags at all. The "Show build" footer link on
console.raxx.app pointed to releases/tag/console-v0.10.0, which 404'd because
only trademaster-api-v* tags existed. PR #775 added a SHA-commit fallback; this
config change adds the actual console-v* tag stream so the preferred link resolves.
.release-please-config.json declares two packages:
"packages": {
"frontend/trademaster_ui": {
"release-type": "node",
"package-name": "trademaster-api",
...
"extra-files": ["VERSION", "backend_v2/version.txt"]
},
"console": {
"release-type": "python",
"package-name": "console",
"version-file": "app/version.py"
}
}
release-please opens a separate release PR for each package when qualifying commits land on main. The two release PRs are independent — the console can ship a patch without bumping the API, and vice versa.
Tag naming:
- API releases: trademaster-api-vX.Y.Z (unchanged from before)
- Console releases: console-vX.Y.Z (new)
Changelogs:
- API changelog: frontend/trademaster_ui/CHANGELOG.md
- Console changelog: console/CHANGELOG.md (already existed)
Extra files (updated by every API release PR):
- VERSION — repo-root plaintext version used by build scripts
- backend_v2/version.txt — Flask backend version endpoint
The first console-v* tag created will be console-v0.10.0 (or the next bump,
depending on which commits have landed). Once that tag exists, the "Show build" link
in the console footer will navigate to the actual GitHub release page instead of
falling back to the SHA link.
The first trademaster-api-v* tag created after this merges will bump
frontend/trademaster_ui/package.json (currently at 1.5.4) to the next version
determined by the manifest (2.9.0-dev.1 baseline). The manifest seeds both packages
at their current versions so release-please knows where to bump from.
trademaster-api when it appears — verifies version files
are updated by the post-release-api CI job.console when it appears — verifies console/app/version.py
and creates the console-v* tag.console.raxx.app navigates to the release..release-please-config.json — multi-package config.release-please-manifest.json — seeded versions.github/workflows/release.yml — per-package post-release verification jobs