cloudfoundry/buildpacks-ci

Name: buildpacks-ci

Owner: Cloud Foundry

Description: Concourse CI pipelines for the buildpacks team

Created: 2015-04-24 21:39:10.0

Updated: 2018-05-24 15:23:22.0

Pushed: 2018-05-24 15:23:20.0

Homepage: https://buildpacks.ci.cf-app.com

Size: 85470

Language: HTML

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Introduction

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

Pipelines

Concourse State

Jobs and tasks in the buildpacks-ci repository store state in public-buildpacks-ci-robots. See repository README for details.

Commands and recipes

Updating all the Pipelines
n/update-pipelines
Debugging the build
intercept -j $JOB_NAME -t task -n $TASK_NAME
Clearing the git resources
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.

    :
    rsion: 2.2.2
    a256: 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 dependencies/, e.g. https://pivotal-buildpacks.s3.amazonaws.com/dependencies/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.

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:

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

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

c

Buildpack Repositories Guide

buildpacks-ci pipelines and tasks refer to many other repositories. These repos are where the buildpack team and others develop buildpacks and related artifacts.

Officially-supported Buildpacks

Each officially-supported buildpack has a develop and a master branch.

Active development happens on develop. Despite our best efforts, develop will sometimes be unstable and is not production-ready.

Our release branch is master. This is stable and only updated with new buildpack releases.

Tooling for Development and Runtime
BOSH Releases

BOSH releases are used in the assembly of cf-release.

Experimental or unsupported
Buildpacks

These buildpacks are possible candidates for promotion, or experimental architecture explorations.

Tools
Private Repos

Some repositories are private for historical or security reasons. We list them for completeness.


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.