Skip to content
Matias Elo edited this page Feb 22, 2019 · 51 revisions

Introduction

The best source for general ODP information is opendataplane.org, this wiki focusses 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 Docker images and upload them to cloud we use following project: https://github.com/OpenDataPlane/odp-docker-images Distribution environment is described in Dockerfile. There is a very simple .travis.yml file to build image.

To run Docker locally:

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

  2. cd to odp source directory

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

Details on regression, go to site

CI master branch

Codecov

Detailed analysis, go to site

Codecov
Clone this wiki locally