Updating Buildpack-Related Gems
Page last updated:
This topic describes how to update buildpack-packager and machete, used for CF system buildpack development.
buildpack-packager
packages buildpacks and machete
provides an integration test framework.
The CF Buildpacks team uses the gems-and-extensions pipeline to:
- Run the integration tests for
buildpack-packager
andmachete
- Update the gems in the buildpacks managed by the team
Running the Update Process
Note: The steps below assume you are using a Concourse deployment of the buildpacks-ci
pipelines
At the end of the process, there will be a new GitHub release and updates will be applied to the buildpacks.
To update the version of either gem in a buildpack:
- Confirm that the test job
<gemname>-specs
for the gem to be updated successfully ran on the commit you plan to update. - Manually trigger the
<gemname>-tag
job to update (“bump”) the version of the gem. - The
<gemname>-release
job will trigger. This will create a new GitHub release of the gem. - Each of the buildpack pipelines (e.g. the go-buildpack pipeline) has a job which watches for new releases of the gem. When a new release is detected, the buildpack’s
cf.Gemfile
is updated to that release version. - The commit made to the buildpack’s
cf.Gemfile
triggers the full integration test suite for that buildpack.
Note: The final step will trigger all buildpack test suites simultaneously, causing contention for available shared BOSH-lite test environments.