Sign inSign up

cfbuildpacks/ci

By cfbuildpacks

•Updated about 1 month ago

CloudFoundry buildpacks docker image. This image is used by the concourse CI only.

Image
0

5M+

cfbuildpacks/ci repository overview

⁠Introduction

This contains the configuration for the Cloud Foundry Buildpacks team Concourse deployment⁠.

⁠Pipelines

⁠Configuration

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

  1. Check out the binary-builds branch

  2. Edit the YAML file appropriate for the build (e.g. ruby-builds.yml)

  3. 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.

  4. Add any number of versions and their checksums to the array, e.g.

    ruby:
    - version: 2.2.2
      sha256: 5ffc0f317e429e6b29d4a98ac521c3ce65481bfd22a8cf845fa02a7b113d9b44
    
  5. 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 concourse-binaries, e.g. https://pivotal-buildpacks.s3.amazonaws.com/concourse-binaries/ruby/ruby-2.2.2-linux-x64.tgz⁠

Note that the array is a stack, which will be emptied as the build succeeds in packaging successive versions.

⁠Orphaned branches

The binary-builds branch is used to instruct the binary-builder pipeline to generate a new version of a CF rootfs-specific binary.

The 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:

rspec

Tag summary

Content type

Image

Digest

sha256:65ae8786f…

Size

1.1 GB

Last updated

about 1 month ago

docker pull cfbuildpacks/ci