Merge pull request #163 from Yelp/travis

Switch from CircleCI to Travis, add bionic itests
This commit is contained in:
Chris Kuehl 2018-05-16 10:48:29 -07:00 committed by GitHub
commit 5f0b5043b0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 28 additions and 84 deletions

15
.travis.yml Normal file
View file

@ -0,0 +1,15 @@
language: c
services:
- docker
env:
matrix:
- ITEST_TARGET=itest_trusty
- ITEST_TARGET=itest_xenial
- ITEST_TARGET=itest_bionic
- ITEST_TARGET=itest_jessie
- ITEST_TARGET=itest_stretch
- ITEST_TARGET=itest_tox
script:
- make "$ITEST_TARGET"

View file

@ -69,18 +69,19 @@ test:
install-hooks:
tox -e pre-commit -- install -f --install-hooks
ITEST_TARGETS = itest_trusty itest_xenial itest_jessie itest_stretch
ITEST_TARGETS = itest_trusty itest_xenial itest_bionic itest_jessie itest_stretch
.PHONY: itest $(ITEST_TARGETS)
itest: $(ITEST_TARGETS)
itest_trusty: _itest-ubuntu-trusty
itest_xenial: _itest-ubuntu-xenial
itest_bionic: _itest-ubuntu-bionic
itest_jessie: _itest-debian-jessie
itest_stretch: _itest-debian-stretch
itest_tox:
$(DOCKER_RUN_TEST) ubuntu:xenial /mnt/ci/docker-tox-test
$(DOCKER_RUN_TEST) ubuntu:bionic /mnt/ci/docker-tox-test
_itest-%: _itest_deb-% _itest_python-%
@true

View file

@ -1,7 +1,7 @@
dumb-init
========
[![Circle CI](https://circleci.com/gh/Yelp/dumb-init.svg?style=svg)](https://circleci.com/gh/Yelp/dumb-init)
[![Travis CI](https://travis-ci.org/Yelp/dumb-init.svg?branch=travis-ci)](https://travis-ci.org/Yelp/dumb-init/)
[![PyPI version](https://badge.fury.io/py/dumb-init.svg)](https://pypi.python.org/pypi/dumb-init)

View file

@ -1,56 +0,0 @@
#!/usr/bin/env python2.7
from __future__ import division
from __future__ import print_function
from __future__ import unicode_literals
import os
import sys
from subprocess import call
BOLD = '\033[1m'
RED = '\033[91m'
GREEN = '\033[92m'
YELLOW = '\033[33m'
RESET = '\033[0m'
TARGETS = [
'itest_trusty',
'itest_xenial',
'itest_jessie',
'itest_stretch',
'itest_tox',
]
def log(line, color=''):
print(BOLD + color + line + RESET)
if __name__ == '__main__':
num_workers = int(os.environ['CIRCLE_NODE_TOTAL'])
node_index = int(os.environ['CIRCLE_NODE_INDEX'])
assert node_index < num_workers
my_targets = TARGETS[node_index::num_workers]
status = 0
for target in my_targets:
log('Executing target {}...'.format(target), color=YELLOW)
target_status = call(('make', target))
if target_status == 0:
log(
'Target {} completed successfully'.format(target),
color=GREEN,
)
else:
status = target_status
log(
'Error! Target {} failed with exit status {}'.format(
target,
target_status,
),
color=RED,
)
sys.exit(status)

View file

@ -1,25 +0,0 @@
#!/bin/bash -eux
set -o pipefail
. /mnt/ci/docker
# The default mirrors are too flaky to run reliably in CI.
sed -E \
'/security\.debian/! s@http://[^/]+/@http://mirrors.kernel.org/@' \
-i /etc/apt/sources.list
apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0x5BB92C09DB82666C
echo 'deb http://ppa.launchpad.net/deadsnakes/ppa/ubuntu xenial main' >> /etc/apt/sources.list
apt-get update
apt-get install -y --no-install-recommends \
git \
python2.7-dev \
python3.6-dev
# We cannot use the Ubuntu versions of tox or virtualenv:
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=754248
pip install tox virtualenv
hash -r
tox

View file

@ -2,3 +2,12 @@
set -o pipefail
. /mnt/ci/docker
apt-get update
apt-get install -y --no-install-recommends \
git \
python2.7-dev \
python3.6-dev \
tox
tox