Project

General

Profile

Actions

Task #2669

closed

Enable TravisCI

Added by Junxiao Shi over 9 years ago. Updated over 9 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Start date:
Due date:
% Done:

100%

Estimated time:
1.50 h

Description

Enable TravisCI continuous integration.

Actions #1

Updated by Joao Pereira over 9 years ago

Just pick up the Jenkins scripts and add change them to be used in TravisCI right? The scripts for jenkins should be untouched?

Actions #2

Updated by Junxiao Shi over 9 years ago

In most other NDN projects, .jenkins script is invoked from .travis.yml.
There's no problem with that.

However, there isn't an agreement on how to install dependency Ubuntu packages on Travis.

  • option A: .travis.yml directly invokes apt-get with Ubuntu 12.04 package names.
  • option B: .jenkins script detects TRAVIS=true environment variable, and selects Ubuntu 12.04 package names.
  • option C: .travis.yml declares NODE_LABEL environment variable to make .jenkins script believe it's running in a Ubuntu 12.04 Jenkins slave.

Option A is implemented in several projects, but the list of dependency packages appears in two places.

I implemented option B in commit:dfb910f05a23173bd1a8ec1578fdf8d0a789f32a (search for it on Gerrit), but a reviewer opposes to option B and wants to use option C, which I disagree.

This dispute must be resolved before this Task can proceed.

Actions #3

Updated by Alex Afanasyev over 9 years ago

I do not want to have TRAVIS options. NODE_LABELS is sufficient and general enough to be used in our scripts. Travis will be changing its base system to later version, it also may allow (if we request) multiple os versions to test. The existing NODE_LABELS already covers that without any need to introduce for no reason a travis-specific code.

Actions #4

Updated by Junxiao Shi over 9 years ago

I basically agree with note-3, but we need to have documentation on NODE_LABELS tokens applied to each environment.

Actions #5

Updated by Joao Pereira over 9 years ago

Using this line

if [ $TRAVIS_OS_NAME == linux ]; then export NODE_LABELS=lsb_release -d | awk '{printf "%s %s-%s",$2,$2,$3}'; fi

We can add the needed requirements to the travis file.

If you guys a agree with this solution I can assign the Issue to myself and solve the problem

Actions #6

Updated by Joao Pereira over 9 years ago

  • Assignee set to Joao Pereira
Actions #7

Updated by Joao Pereira over 9 years ago

  • Status changed from New to In Progress
Actions #8

Updated by Joao Pereira over 9 years ago

  • Status changed from In Progress to Resolved
  • % Done changed from 0 to 100
Actions #9

Updated by Joao Pereira over 9 years ago

  • Status changed from Resolved to Code review
Actions #11

Updated by Junxiao Shi over 9 years ago

NODE_LABELS documentation applicable to both Jenkins and TravisCI, as described in note-4, is needed.

Please post a link to the Gerrit Change here.

Also, fork ndn-tools in your own GitHub account, and run TravisCI on that repository, and post a link to the build job.

Actions #12

Updated by Joao Pereira over 9 years ago

Where should the NODE_LABELS information be placed? In the README?

Gerrit code review:

http://gerrit.named-data.net/#/c/2081/

Travis execution:

https://travis-ci.org/joaopapereira/ndn-tools

Actions #13

Updated by Junxiao Shi over 9 years ago

Where should the NODE_LABELS information be placed? In the README?

.Jenkins.d/README.md

Actions #14

Updated by Joao Pereira over 9 years ago

Just added the README to the Jenkins folder to Gerrit

Actions #15

Updated by Alex Afanasyev over 9 years ago

  • Status changed from Code review to Closed
Actions

Also available in: Atom PDF