File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -165,6 +165,49 @@ CI workflows use outdated tool versions. Tracked in
165165| documentation-versioning | Node.js | 12 | 24 |
166166| All | Package manager | npm | bun |
167167
168+ ## CF Release Build Process
169+
170+ ` make release cf ` packages the app for CF deployment but does ** not** build.
171+ The backend binary must be pre-built for the target Linux platform.
172+
173+ ### Build naming
174+
175+ | Command | Output | Purpose |
176+ | ---------| --------| ---------|
177+ | ` make build ` | ` dist/bin/jetstream ` | Single binary for current or specified platform |
178+ | ` make build all ` | ` dist/bin/jetstream-linux-amd64 ` , ` jetstream-darwin-arm64 ` , etc. | All platforms with OS/arch suffix |
179+
180+ ### CF release workflow
181+
182+ ``` bash
183+ # 1. Build frontend + Linux backend (specify platform — CF runs Linux)
184+ make build PLATFORM=linux/amd64
185+
186+ # 2. Package for CF
187+ make release cf
188+
189+ # 3. Deploy
190+ cf target -o system -s stratos
191+ cf push -f dist/cf-package/manifest.yml -p dist/stratos-cf-< version> .zip
192+ ```
193+
194+ ` make release cf ` validates that ` dist/bin/jetstream ` is a Linux ELF binary
195+ before packaging. If it's a macOS or Windows binary, the packaging fails with
196+ a clear error.
197+
198+ ### On CI (Linux)
199+
200+ ` make build ` produces a Linux binary natively — no ` PLATFORM ` flag needed.
201+
202+ ### On macOS
203+
204+ Must specify the target platform explicitly:
205+
206+ ``` bash
207+ make build PLATFORM=linux/amd64 # or linux/arm64 for ARM CF deployments
208+ make release cf
209+ ```
210+
168211## Further Reading
169212
170213- [ Contributing Guide] ( contributing_guide.md ) — step-by-step workflow
You can’t perform that action at this time.
0 commit comments