C/C++

This section explains how Shippable DevOps Assembly Lines Platform behaves when you set language: c in your shippable.yml for a runCI job,

language: c
compiler:
  - gcc 6

The default version of the language image depends on the machine image selected for the subscription. You can override this by using the pre_ci_boot section or even build your own image from scratch.

Versions

This table helps you choose the right language version tag to set in your shippable.yml for your app. If you don't provide a compiler tag in your YML, the default version will be used.

The compiler versions available vary depending on the tag of the language image; the compiler specified should be listed in the table for the language image tag used. The language image with a particular tag will be available on the edition of the Runtime AMI with the same version number. If you specify an image tag that does not match the Runtime AMI, it will be used but will also increase your build time.

Compiler Version Language Image Tags Supported OS
gcc 7.1 v5.7.3 and later All
gcc 6 v5.6.1 and earlier All
clang 4.0.0 v5.7.3 and later All
clang 3.9.0 v5.6.1 and earlier All

You can use more than one of these to test your app against multiple versions using matrix builds.

Default Behavior

build:
  ci: <is not set>

If you do not set the ci section of the YML, then we will inject this section to your YML definition at runtime:

build:
  ci:
    - ./configure && make && make test

Shippable provided Runtime images

Each of the language images is built from the respective base OS version of the image. Since we install all of the packages, CLIs, and services on the base images, these language images get them automatically. For more information visit the respective base image pages.

Ubuntu 16.04

Built from drydock/u16all

Image Release Date Available in AMI
drydock/u16cppall:v5.8.2 Aug 2017 - Latest Version v5.8.2
drydock/u16cppall:v5.7.3 Jul 2017 v5.7.3
drydock/u16cppall:v5.6.1 Jun 2017 v5.6.1
drydock/u16cppall:v5.5.1 May 2017 v5.5.1
drydock/u16cppall:v5.4.1 Apr 2017 v5.4.1
drydock/u16cppall:v5.3.2 Mar 2017 v5.3.2

Ubuntu 14.04

Built from drydock/u14all

Image Release Date Available in AMI
drydock/u14cppall:v5.8.2 Aug 2017 - Latest Version v5.8.2
drydock/u14cppall:v5.7.3 Jul 2017 v5.7.3
drydock/u14cppall:v5.6.1 Jun 2017 v5.6.1
drydock/u14cppall:v5.5.1 May 2017 v5.5.1
drydock/u14cppall:v5.4.1 Apr 2017 v5.4.1
drydock/u14cppall:v5.3.2 Mar 2017 v5.3.2

Further Reading