Skip to content

feat(release): publish cf-pushable zip; fix deprecated build hint - #5659

Merged
norman-abramovitz merged 2 commits into
cloudfoundry:developfrom
nabramovitz:norm/fix/release-cf-artifact
Jul 20, 2026
Merged

feat(release): publish cf-pushable zip; fix deprecated build hint#5659
norman-abramovitz merged 2 commits into
cloudfoundry:developfrom
nabramovitz:norm/fix/release-cf-artifact

Conversation

@nabramovitz

Copy link
Copy Markdown
Contributor

Two related fixes to the release packaging path, both surfaced while cutting v5.0.0-rc.1.

1. Missing-binary hint pointed at a deprecated target (closes #5657)

release-github.sh told the operator to run make build backend-all when binaries were absent. That target was renamed to make build backend (deprecated.mk maps the old spelling to a RENAMED: warning). Following the message therefore hit the deprecation notice instead of building. Corrected both occurrences.

2. GitHub releases shipped no cf-pushable artifact

The release published six standalone-binary tarballs plus source — none of them cf push-able. An operator wanting to deploy to Cloud Foundry had to clone and build the zip themselves, despite CF being the primary deployment story.

Root cause of why it wasn't already wired in: release-cf.sh looked only for an unqualified dist/bin/jetstream, but the release workflow runs make build all, which cross-compiles to suffixed names (jetstream-linux-amd64, …) and produces no plain binary. So make build release cf github failed at the cf step:

ERROR: Backend binary not found at dist/bin/jetstream

Fix: cf mode now falls back to dist/bin/jetstream-linux-${CF_ARCH} (amd64 default) when the unqualified binary is absent. korifi is unchanged — it still requires its own static build, and its existing static-linkage guard rejects anything else. With the fallback, make build release cf github composes in a single pass.

The release workflow now runs make release cf github and stages the cf zip into dist/release/ before checksumming, so it is checksummed, uploaded, and attached to the GitHub release alongside the platform archives.

Verified locally

  • make release cf against a cross-compiled dist/ now produces stratos-cf-<version>.zip — statically-linked linux/amd64 jetstream at root, Procfile, manifest.yml, config.properties, plugins.yaml, ui/.
  • The full workflow packaging sequence (make release cf github → stage → create-checksums.sh) lands the cf zip in dist/release/ and includes it in SHA256SUMS.

CF zip is single-arch (amd64). Override with CF_ARCH=arm64; publishing both arches would be a follow-up.

The prerequisite check told operators to run 'make build backend-all',
a target renamed to 'make build backend' (see deprecated.mk). Following
the message hit the deprecation warning instead of building.

Closes cloudfoundry#5657
release-cf.sh looked only for an unqualified dist/bin/jetstream, so it
could not run after 'make build [all]', which cross-compiles to
suffixed names. Teach cf mode to fall back to jetstream-linux-${CF_ARCH}
(amd64 default) so 'make build release cf github' composes in one pass.

The release workflow now builds the cf zip and stages it into
dist/release/ before checksumming, so operators get a cf-pushable
artifact attached to the release instead of only standalone tarballs.

@norman-abramovitz norman-abramovitz left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@norman-abramovitz
norman-abramovitz merged commit 8ed720f into cloudfoundry:develop Jul 20, 2026
22 checks passed
@nabramovitz
nabramovitz deleted the norm/fix/release-cf-artifact branch July 20, 2026 20:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

release-github.sh error messages point at deprecated 'make build backend-all'

2 participants