Skip to content
Matias Elo edited this page Mar 6, 2019 · 51 revisions

Introduction

The best source for general ODP information is opendataplane.org, this wiki focuses on development related subjects.

This repository contains the odp-linux implementation of the ODP API. It’s focus is to provide a clear reference implementation of the ODP API rather than a performance optimal implementation on a given platform. Other implementations can be found at ODP implementation downloads.

Travis CI

Travis CI uses Docker containers to fill the following requirements:

  1. Not relay on distro package hosting.

  2. Be able to locally reproduce any CI run task.

To build and upload Docker images we use odp-docker-images repository. The distribution environments are described in the Dockerfiles. There is also a very simple .travis.yml file to build images.

To run Docker locally:

  1. install Docker (apt-get install docker.io)

  2. cd to ODP source directory

  3. copy and paste a run command from a Travis run, for example:

    docker run  -i -t -v `pwd`:/odp -e CC=clang opendataplane/travis-odp-lng-ubuntu_16.04 /odp/scripts/ci/build_x86_64.sh

Where:

  • -i - means interactive. (For debug you can specify /bin/bash and run /odp/scripts/ci/build_x86_64.sh manually inside container. All container data will be lost on exit.)

  • -t, --tty Allocate a pseudo-TTY to make output visible on stdout,stderr.

  • -v pwd:/odp - means pass current host directory to container. (Directory is rw shared between host and container.)

  • -e CC=clang - pass environment variable inside container

  • opendataplane/travis-odp-lng-ubuntu_16.04 - container name on hub.docker.com to run

  • /odp/scripts/ci/build_x86_64.sh - the latest parameter is command to run after container started.

To run Travis on custom images you need:

  1. Create account on hub.docker.com

  2. Fork https://github.com/OpenDataPlane/odp-docker-images project to your local name space.

  3. Build and upload custom images under your Docker name space

  4. In you ODP project, in Travis web interface settings specify DOCKER_NAMESPACE pointing to your account on hub.docker.com.

Note: Docker downloads and prepares images on the first run. Like git you need to do periodic 'docker pull' images in case new images were updated on cloud server.

CI Status

Travis

Details on regression, go to site.

CI master branch

Shippable

Details on regression, go to site.

CI master branch

Codecov

Detailed analysis, go to site.

Codecov
Clone this wiki locally