Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
fog-google / ci
  ..
  docker-image
  tasks
  .gitignore
  README.md
  build-head-pipeline.yml
  credentials.yml.template
  integration-pipeline.yml
  pipeline-dev.yml
Size: Mime:

fog-google CI

This pipeline performs integration tests against every PR with the integrate label. This allows whitelisted PRs to be tested automatically before being merged. Status is updated on the PR when the test completes.

Setup

In order to run the fog-google Concourse Pipeline you must have an existing Concourse environment.

To deploy the pipeline:

  • Download the fly binary from the Concourse web interface and place it in your $PATH.

  • Login to your Concourse:

fly -t fog-ci login -c <YOUR CONCOURSE URL>
fly -t fog set-pipeline -p build-head -c build-head-pipeline.yml -l credentials.yml
fly -t fog-ci set-pipeline -p pr-integration -c integration-pipeline.yml -l credentials.yml
  • Unpause the fog-google pipeline:
fly -t fog-ci unpause-pipeline -p pr-integration

Credentials Requirements

Several external pieces of authentication are needed for credentials.yml

  1. A JSON Service Account File for a service account with at least Editor access to the project.

    • To get a Service Account File, see here and create using the Project/Editor role.
  2. A Github Access Token with at least repo:status access and a private key with push access to the fog/fog-google repositoy.

  3. A Codecov.io token for tracking test coverage.

These items are equivalent to your login credentials for their resources.

Login Gotchas

  • Our concourse pipeline is using GitHub auth, providing access to manipulate the pipeline to the members of the fog-google team, managed through the OAuth application managed by fog-google bot.

  • If logging into a specific team, ie fog-google, use --team-name fog-google to specify that.

Dockerfile

The docker-image directory contains the Dockerfile necessary for recreating the Docker image used in tasks. This is referenced in a per-task basis as image_resource, ie in image_resource run-int.yml