Remove compile-extensions infrastructure from buildpacks CI #497
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.
Summary
Remove legacy compile-extensions infrastructure from buildpacks CI pipeline now that all Cloud Foundry buildpacks have migrated to Go-based packaging with
compile_extensions: false.Background
The
compile-extensionssubmodule and Ruby gem-basedbuildpack-packagerwere deprecated in favor of Go-based tooling fromgithub.com/cloudfoundry/libbuildpack/packager/buildpack-packager. PHP buildpack was the last holdout usingcompile_extensions: true, which has now been modernized in cloudfoundry/php-buildpack#1200.Changes
1. Pipeline Resources Removed (
pipelines/buildpack/pipeline.yml)Removed resources (66 lines):
compile-extensionsgit resourcebuildpack-packagerGitHub release resourceupdate-compile-extensionsjob (auto-updated compile-extensions submodule)update-buildpack-packagerjob (auto-updated buildpack-packager gem)These resources were only active when
compile_extensions: true, which no buildpack now uses.2. Legacy Packaging Logic Removed (
tasks/detect-and-upload/buildpack-tagger.rb)Removed (30 lines):
Now uses standard path for all buildpacks:
3. Buildpack Values Cleanup (14 files)
Removed field from all buildpack values files:
Files updated:
apt-values.yml,binary-values.yml,config.yml,dotnet-core-values.ymlgo-values.yml,hwc-values.yml,nginx-values.yml,nodejs-values.ymlphp-values.yml(wastrue, now removed entirely)python-values.yml,r-values.yml,ruby-values.yml,staticfile-values.yml4. Task Directory Deleted
Removed:
tasks/update-compile-extensions/run.sh(38 lines)tasks/update-compile-extensions/task.yml(17 lines)Impact
Statistics
Benefits
Breaking Changes
None. All buildpacks already use Go-based packaging:
Verification
All Buildpacks Confirmed Using
compile_extensions: falsePipeline Template Logic
The YTT conditionals in
pipeline.ymlwill now never be true:Since no buildpack values file defines
compile_extensions(or all implicitly false), these blocks are unreachable.Testing Recommendations
1. Pipeline Generation Test
Expected: No compile-extensions resources or jobs in output
2. Full Pipeline Deployment Test
# Test with PHP buildpack (was the last to migrate) fly -t target set-pipeline -p php-buildpack \ -c pipelines/buildpack/pipeline.yml \ -l pipelines/buildpack/php-values.ymlExpected: Pipeline deploys successfully without compile-extensions resources
3. Buildpack Packaging Test
# Verify detect-and-upload task works with modernized buildpacks fly -t target trigger-job -j php-buildpack/build-phpExpected: Uses Go-based packager via tools.sh path
Dependencies
Required Before Merge
✅ PHP Buildpack Modernization: cloudfoundry/php-buildpack#1200
buildpack-packager::installfunction toscripts/.util/tools.shscripts/package.shto use Go-based packagerStatus: PR created, awaiting review/merge
Coordination
This PR should be merged AFTER the PHP buildpack modernization is:
Migration Path Completed
From the original PHP buildpack modernization analysis:
References
Reviewers Checklist
compile_extensionsfield removedMigration Status: ✅ Complete - All buildpacks now use modern Go-based packaging