Skip to content

Commit f1df7b4

Browse files
Add CF release build process to developer environment docs
Document binary naming, cross-compilation requirement on macOS, and the Linux ELF validation in make release cf.
1 parent 7235fbe commit f1df7b4

1 file changed

Lines changed: 43 additions & 0 deletions

File tree

docs/developer-environment.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff 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

0 commit comments

Comments
 (0)