This contains the configuration for the Cloud Foundry Buildpacks team Concourse deployment.
- binary-builder: build binaries for Cloud Foundry buildpacks
- buildpacks: test and release all of the buildpacks
- bosh-lite: deploy CF LTS/Edge environment
- brats: run BRATS against the master branch of buildpacks
- buildpack-checksums: generate static site for buildpack checksums
- buildpacks-ci: testing tasks for correct usage
- dockerfile: rebuild docker image for buildpack
- cf-release: deployment of latest buildpacks to
- main: tooling
- notifications: monitor upstream sources for
changes and notify on Slack
- stacks: test and release Cloud Foundry stacks
Updating all the Pipelines
With a proper Concourse deployment, and
private.yml containing secrets:
fly set-pipeline -p main -c pipeline.yml -l private.yml
Debugging the build
fly intercept -j $JOB_NAME -t task -n $TASK_NAME
Clearing the git resources
fly intercept -c $RESOURCE_NAME rm -rf /tmp/git-resource-repo-cache
To build a new version of a binary
- Check out the
- Edit the YAML file appropriate for the build (e.g.
- Find the version number and package SHA256 of the new binary. For many binaries, the project website provides the SHA256 along with the release (for example, jruby.org/download provides the SHA256 along with each JRuby release). For others (such as Godep), you download the .tar.gz file and run
shasum -a 256 <tar_file>to obtain the SHA256.
Add any number of versions and their checksums to the array, e.g.
ruby: - version: 2.2.2 sha256: 5ffc0f317e429e6b29d4a98ac521c3ce65481bfd22a8cf845fa02a7b113d9b44
git commit -am 'Build ruby 2.2.2' && git push
Build should automatically kick off at
https://buildpacks.ci.cf-app.com/pipelines/binary-builder and silently
upload a binary to the pivotal-buildpacks bucket under
Note that the array is a stack, which will be emptied as the build
succeeds in packaging successive versions.
binary-builds branch is used to instruct the
pipeline to generate a new version of a CF rootfs-specific binary.
resource-pools branch is where our pipelines' pool of locks is
located. You can read more about Concourse resource pools here:
Running the Test Suite
If you are running the full test suite, some of the integration tests are dependent on the Lastpass CLI and correctly targeting the fly CLI.
To login to the Lastpass CLI:
lpass login $USERNAME
You will then be prompted for your Lastpass password and Google Authenticator Code.
To login to the Fly CLI and target the buildpacks CI:
fly -t buildpacks login
You will be prompted to select either the Github or Basic Auth authentication methods.
After these are set up, you will be able to run the test suite via: