Merge pull request #208 from emilevauge/migrate-on-travisci

Migrate on travisci
This commit is contained in:
Emile Vauge 2016-02-22 13:35:00 +01:00
commit a1c1958235
7 changed files with 63 additions and 19 deletions

30
.travis.yml Normal file
View file

@ -0,0 +1,30 @@
env:
REPO: $TRAVIS_REPO_SLUG
VERSION: v1.0.alpha.$TRAVIS_COMMIT
sudo: required
services:
- docker
install:
- sudo service docker stop
- sudo curl https://get.docker.com/builds/Linux/x86_64/docker-1.10.1 -o /usr/bin/docker
- sudo chmod +x /usr/bin/docker
- sudo service docker start
before_script:
- make validate
- make binary
script:
- make test-unit
- make test-integration
- make crossbinary
- make image
deploy:
provider: script
script: script/deploy.sh
on:
branch: master

View file

@ -4,8 +4,7 @@ TRAEFIK_ENVS := \
-e OS_ARCH_ARG \ -e OS_ARCH_ARG \
-e OS_PLATFORM_ARG \ -e OS_PLATFORM_ARG \
-e TESTFLAGS \ -e TESTFLAGS \
-e CIRCLECI -e VERSION
SRCS = $(shell git ls-files '*.go' | grep -v '^external/') SRCS = $(shell git ls-files '*.go' | grep -v '^external/')
@ -18,7 +17,7 @@ REPONAME := $(shell echo $(REPO) | tr '[:upper:]' '[:lower:]')
TRAEFIK_IMAGE := $(if $(REPONAME),$(REPONAME),"emilevauge/traefik") TRAEFIK_IMAGE := $(if $(REPONAME),$(REPONAME),"emilevauge/traefik")
INTEGRATION_OPTS := $(if $(MAKE_DOCKER_HOST),-e "DOCKER_HOST=$(MAKE_DOCKER_HOST)", -v "/var/run/docker.sock:/var/run/docker.sock") INTEGRATION_OPTS := $(if $(MAKE_DOCKER_HOST),-e "DOCKER_HOST=$(MAKE_DOCKER_HOST)", -v "/var/run/docker.sock:/var/run/docker.sock")
DOCKER_RUN_TRAEFIK := docker run $(if $(CIRCLECI),,--rm) $(INTEGRATION_OPTS) -it $(TRAEFIK_ENVS) $(TRAEFIK_MOUNT) "$(TRAEFIK_DEV_IMAGE)" DOCKER_RUN_TRAEFIK := docker run $(INTEGRATION_OPTS) -it $(TRAEFIK_ENVS) $(TRAEFIK_MOUNT) "$(TRAEFIK_DEV_IMAGE)"
print-%: ; @echo $*=$($*) print-%: ; @echo $*=$($*)

View file

@ -1,7 +1,7 @@
![Træfɪk](http://traefik.github.io/traefik.logo.svg "Træfɪk") ![Træfɪk](http://traefik.github.io/traefik.logo.svg "Træfɪk")
___ ___
[![Circle CI](https://circleci.com/gh/emilevauge/traefik/tree/master.png?circle-token)](https://circleci.com/gh/emilevauge/traefik) [![Build Status](https://travis-ci.org/emilevauge/traefik.svg?branch=master)](https://travis-ci.org/emilevauge/traefik)
[![License](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)](https://github.com/EmileVauge/traefik/blob/master/LICENSE.md) [![License](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)](https://github.com/EmileVauge/traefik/blob/master/LICENSE.md)
[![Join the chat at https://traefik.herokuapp.com](https://img.shields.io/badge/style-register-green.svg?style=social&label=Slack)](https://traefik.herokuapp.com) [![Join the chat at https://traefik.herokuapp.com](https://img.shields.io/badge/style-register-green.svg?style=social&label=Slack)](https://traefik.herokuapp.com)

View file

@ -1,13 +1,14 @@
FROM golang:1.6 FROM golang:1.6.0-alpine
RUN apk update && apk add git bash gcc
RUN go get github.com/Masterminds/glide RUN go get github.com/Masterminds/glide
RUN go get github.com/mitchellh/gox RUN go get github.com/mitchellh/gox
RUN go get github.com/tcnksm/ghr
RUN go get github.com/jteeuwen/go-bindata/... RUN go get github.com/jteeuwen/go-bindata/...
RUN go get github.com/golang/lint/golint RUN go get github.com/golang/lint/golint
# Which docker version to test on # Which docker version to test on
ENV DOCKER_VERSION 1.6.2 ENV DOCKER_VERSION 1.10.1
# enable GO15VENDOREXPERIMENT # enable GO15VENDOREXPERIMENT
ENV GO15VENDOREXPERIMENT 1 ENV GO15VENDOREXPERIMENT 1

View file

@ -3,23 +3,24 @@
if [ -z "$VALIDATE_UPSTREAM" ]; then if [ -z "$VALIDATE_UPSTREAM" ]; then
# this is kind of an expensive check, so let's not do this twice if we # this is kind of an expensive check, so let's not do this twice if we
# are running more than one validate bundlescript # are running more than one validate bundlescript
VALIDATE_REPO='https://github.com/emilevauge/traefik.git' VALIDATE_REPO='https://github.com/emilevauge/traefik.git'
VALIDATE_BRANCH='master' VALIDATE_BRANCH='master'
if [ "$TRAVIS" = 'true' -a "$TRAVIS_PULL_REQUEST" != 'false' ]; then # Should not be needed for now O:)
VALIDATE_REPO="https://github.com/${TRAVIS_REPO_SLUG}.git" # if [ "$TRAVIS" = 'true' -a "$TRAVIS_PULL_REQUEST" != 'false' ]; then
VALIDATE_BRANCH="${TRAVIS_BRANCH}" # VALIDATE_REPO="https://github.com/${TRAVIS_REPO_SLUG}.git"
fi # VALIDATE_BRANCH="${TRAVIS_BRANCH}"
# fi
VALIDATE_HEAD="$(git rev-parse --verify HEAD)" VALIDATE_HEAD="$(git rev-parse --verify HEAD)"
git fetch -q "$VALIDATE_REPO" "refs/heads/$VALIDATE_BRANCH" git fetch -q "$VALIDATE_REPO" "refs/heads/$VALIDATE_BRANCH"
VALIDATE_UPSTREAM="$(git rev-parse --verify FETCH_HEAD)" VALIDATE_UPSTREAM="$(git rev-parse --verify FETCH_HEAD)"
VALIDATE_COMMIT_LOG="$VALIDATE_UPSTREAM..$VALIDATE_HEAD" VALIDATE_COMMIT_LOG="$VALIDATE_UPSTREAM..$VALIDATE_HEAD"
VALIDATE_COMMIT_DIFF="$VALIDATE_UPSTREAM...$VALIDATE_HEAD" VALIDATE_COMMIT_DIFF="$VALIDATE_UPSTREAM...$VALIDATE_HEAD"
validate_diff() { validate_diff() {
if [ "$VALIDATE_UPSTREAM" != "$VALIDATE_HEAD" ]; then if [ "$VALIDATE_UPSTREAM" != "$VALIDATE_HEAD" ]; then
git diff "$VALIDATE_COMMIT_DIFF" "$@" git diff "$VALIDATE_COMMIT_DIFF" "$@"

13
script/deploy.sh Normal file
View file

@ -0,0 +1,13 @@
#!/bin/sh
set -e
curl -LO https://github.com/tcnksm/ghr/releases/download/pre-release/linux_amd64.zip
unzip -q linux_amd64.zip
sudo mv grh /usr/bin/ghr
sudo chmod +x /usr/bin/ghr
ghr -t $GITHUB_TOKEN -u emilevauge -r traefik --prerelease ${VERSION} dist/
docker login -e $DOCKER_EMAIL -u $DOCKER_USER -p $DOCKER_PASS
docker push ${REPO,,}:latest
docker tag ${REPO,,}:latest ${REPO,,}:${VERSION}
docker push ${REPO,,}:${VERSION}

View file

@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
export SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" export SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
export DEST=. export DEST=.
@ -6,5 +7,4 @@ export DEST=.
TESTFLAGS="$TESTFLAGS -test.timeout=30m -check.v" TESTFLAGS="$TESTFLAGS -test.timeout=30m -check.v"
cd integration cd integration
go test $TESTFLAGS CGO_ENABLED=0 go test $TESTFLAGS