-
Notifications
You must be signed in to change notification settings - Fork 245
[RFC] Windows-Capable Buildpacks ARI WG Area #1515
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
Gerg
wants to merge
1
commit into
rfc-deprecate-windows-support-binary-buildpack
Choose a base branch
from
rfc-windows-capable-buildpacks
base: rfc-deprecate-windows-support-binary-buildpack
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+53
−0
Open
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,53 @@ | ||
| # Meta | ||
| [meta]: #meta | ||
| - Name: Establish a Windows-Capable Buildpacks Working Group Area | ||
| - Start Date: TBD | ||
| - Author(s): @Gerg | ||
| - Status: Draft <!-- Acceptable values: Draft, Approved, On Hold, Superseded --> | ||
| - RFC Pull Request: (fill in with PR link after you submit it) | ||
| - Related RFCs: [RFC Draft: Deprecate and Remove Windows Support in Binary Buildpack](https://github.com/cloudfoundry/community/blob/rfc-deprecate-windows-support-binary-buildpack/toc/rfc/rfc-draft-deprecate-and-remove-windows-support-in-binary-buildpack.md) | ||
|
|
||
| ## Summary | ||
|
|
||
| Establish a "Windows-Capable Buildpacks" area within the App Runtime Interfaces (ARI) working group to maintain buildpacks that run on Windows and require Windows infrastructure to validate. | ||
|
|
||
| ## Problem | ||
|
|
||
| The binary buildpack's Windows support has become unmaintained following the departure of previous maintainers. A [related RFC](https://github.com/cloudfoundry/community/blob/rfc-deprecate-windows-support-binary-buildpack/toc/rfc/rfc-draft-deprecate-and-remove-windows-support-in-binary-buildpack.md) proposes removing Windows support entirely. | ||
|
|
||
| However, deprecating Windows support in the binary buildpack is, in effect, deprecating Windows support for CF as a whole: without a maintained buildpack that can exercise the Windows runtime interface, the Windows support in CF cannot be properly validated. Windows support is a differentiating feature of CF with active community consumers, and this decision warrants more deliberation than a single buildpack RFC. | ||
|
|
||
| The `binary-buildpack` and `hwc-buildpack` repositories are currently in the [App Runtime Interfaces "Buildpacks and Stacks" area](https://github.com/cloudfoundry/community/blob/main/toc/working-groups/app-runtime-interfaces.md). The buildpack code itself is not the core difficulty — the binary buildpack in particular is conceptually simple (it stages and runs a pre-compiled executable). The real barrier is maintaining Windows CI: provisioning and operating Windows runtimes and stemcells to run integration tests and validate platform compatibility. | ||
|
|
||
| The existing "Buildpacks and Stacks" approvers have buildpack domain expertise but not Windows infrastructure expertise. That infrastructure knowledge exists elsewhere in the community: | ||
|
|
||
| - The App Runtime Platform [Garden Containers area](https://github.com/cloudfoundry/community/blob/main/toc/working-groups/app-runtime-platform.md) maintains `winc-release`, `windows2019fs-release`, and related Windows container components. | ||
| - The Foundational Infrastructure [VM deployment lifecycle area](https://github.com/cloudfoundry/community/blob/main/toc/working-groups/foundational-infrastructure.md) maintains `bosh-windows-stemcell-builder`, `stembuild`, and `windows-utilities-release`. | ||
|
|
||
| These teams already operate Windows infrastructure for their own CI. This expertise and infrastructure has not been leveraged for Windows buildpack validation. | ||
|
|
||
| ## Proposal | ||
|
|
||
| Add a "Windows-Capable Buildpacks" area to the [App Runtime Interfaces working group charter](https://github.com/cloudfoundry/community/blob/main/toc/working-groups/app-runtime-interfaces.md), and move the relevant buildpack repositories into it from the existing "Buildpacks and Stacks" area. | ||
|
|
||
| The unifying concern of this area is that all member repos run on Windows and require Windows test environments to validate, and therefore need dedicated ownership from people with Windows infrastructure expertise alongside buildpack domain expertise. | ||
|
|
||
| The new area MUST: | ||
|
|
||
| - Include approvers drawn from both current buildpack maintainers (from the existing "Buildpacks and Stacks" area) and Windows infrastructure specialists from the App Runtime Platform and/or Foundational Infrastructure working groups. | ||
| - Own the `binary-buildpack` and `binary-buildpack-release` repositories, maintaining support for both Linux and Windows runtimes. | ||
|
|
||
| The new area MAY: | ||
| - Share Windows CI infrastructure with the App Runtime Platform or Foundational Infrastructure working groups, which already operate Windows Diego cells and stemcells for their own CI. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Small enhancement: The new area may support the ARD WG if there are issues with their Windows validation environment. |
||
|
|
||
| ### HWC Buildpack | ||
|
|
||
| The `hwc-buildpack` and `hwc-buildpack-release` repositories face the same maintenance challenges and belong in this area for the same reason: they run on Windows and require Windows CI infrastructure to validate. The TOC SHOULD determine which of the following applies: | ||
|
|
||
| 1. Include the HWC buildpack repositories in this area, if there is sufficient community interest in maintaining them. | ||
| 2. Deprecate the HWC buildpack separately via its own RFC, if no maintainers come forward. The binary buildpack alone is sufficient to exercise the Windows runtime interface for validation purposes. | ||
|
|
||
| ## Alternatives | ||
|
|
||
| - **Alternative: Deprecate Windows support** (the approach in the related RFC) — this effectively ends CF's Windows story and should only be pursued after community interest has been assessed and no maintainers have come forward. | ||
| - **Alternative: Do nothing** — leaves the binary buildpack's Windows code unmaintained and unvalidated. | ||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
An alternative approach would be to keep the binary-buildpack in the current Buildpacks & Stacks area for Linux validation, while also including it in the new area for Windows validation. The hwc-buildpack, on the other hand, would most likely fit best as a responsibility solely within the new area.
With this setup, we could have the Windows maintainers specifically assigned to the new area, which would help make responsibilities a little more transparent and clearly defined for everyone involved and could be better from security perspective having only the Windows maintainer with access to Windows validation.