Files
kubesphere/vendor/github.com/elastic/go-elasticsearch/v6/.travis.yml
huanggze bfed3a6baa update dependencies
Signed-off-by: huanggze <loganhuang@yunify.com>
2019-09-04 15:14:11 +08:00

173 lines
8.2 KiB
YAML

dist: xenial
language: go
services:
- docker
branches:
only:
- master
- travis
install: true
matrix:
fast_finish: true
allow_failures:
- os: windows
include:
- name: Unit Tests | Linux, go:stable, gomod=on
os: linux
go: stable
env: GO111MODULE=on TEST_SUITE=unit
script:
- go mod verify
- go build -v ./...
- make lint
- gotestsum --format=short-verbose --junitfile=/tmp/unit-junit.xml -- -coverprofile=/tmp/unit.cov -tags='unit' -timeout=1h -v ./...
after_script:
- test -f /tmp/unit.cov && bash <(curl -s https://codecov.io/bash) -f /tmp/unit.cov
- name: Unit Tests | Linux, go:stable, gomod=off
os: linux
go: stable
env: GO111MODULE=off TEST_SUITE=unit
before_install:
- go get -u golang.org/x/lint/golint
- go get -u gotest.tools/gotestsum
install:
- go get -v ./...
script:
- go build -v ./...
- make lint
- gotestsum --format=short-verbose --junitfile=/tmp/unit-junit.xml -- -tags='unit' -timeout=1h -v ./...
- name: Unit Tests | OS X, go:stable, gomod=on
os: osx
go: stable
env: GO111MODULE=on TEST_SUITE=unit
script:
- go mod verify
- go build -v ./...
- gotestsum --format=short-verbose --junitfile=/tmp/unit-junit.xml -- --tags='unit' --timeout=1h -v ./...
- name: Unit Tests | Windows, go:stable, gomod=on
os: windows
go: stable
env: GO111MODULE=on TEST_SUITE=unit
script:
- go mod verify
- go build -v ./...
- gotestsum --format=short-verbose --junitfile=/tmp/unit-junit.xml -- -tags='unit' -timeout=1h -v ./...
- name: Unit Tests | Linux, go:master, gomod=on
os: linux
go: master
env: GO111MODULE=on TEST_SUITE=unit
script:
- go mod verify
- go build -v ./...
- make lint
- gotestsum --format=short-verbose --junitfile=/tmp/unit-junit.xml -- -tags='unit' -timeout=1h -v ./...
- name: Unit Tests | Docker/Linux, golang:1-alpine
os: linux
env: TEST_SUITE=unit
before_install: true
script:
- grep 'FROM' Dockerfile
- docker build --file Dockerfile --tag elastic/go-elasticsearch .
- echo $(($(docker image inspect -f '{{.Size}}' elastic/go-elasticsearch)/(1000*1000)))MB
- docker run -ti elastic/go-elasticsearch make lint
- docker run -ti elastic/go-elasticsearch make test
- name: Integration Tests | Linux, go:stable
os: linux
go: stable
env: GO111MODULE=on TEST_SUITE=integration-client
before_script:
- docker pull docker.elastic.co/elasticsearch/elasticsearch-oss:7.0.0-SNAPSHOT
- docker network inspect elasticsearch > /dev/null || docker network create elasticsearch;
- |
docker run \
--name es-integration-client \
--network elasticsearch \
--env "cluster.name=es-integration-client" \
--env "discovery.type=single-node" \
--env "bootstrap.memory_lock=true" \
--env "cluster.routing.allocation.disk.threshold_enabled=false" \
--env ES_JAVA_OPTS="-Xms1g -Xmx1g" \
--volume es-integration-client-data:/usr/share/elasticsearch/data \
--publish 9200:9200 \
--ulimit nofile=65536:65536 \
--ulimit memlock=-1:-1 \
--detach \
--rm \
docker.elastic.co/elasticsearch/elasticsearch-oss:7.0.0-SNAPSHOT
- docker run --network elasticsearch --rm appropriate/curl --max-time 120 --retry 120 --retry-delay 1 --retry-connrefused --show-error --silent http://es-integration-client:9200
script:
- gotestsum --format=short-verbose --junitfile=/tmp/integration-report.xml -- -race -cover -coverprofile=/tmp/integration-client.cov -tags='integration' -timeout=1h github.com/elastic/go-elasticsearch
after_script:
- test -f /tmp/integration-client.cov && bash <(curl -s https://codecov.io/bash) -f /tmp/integration-client.cov
- name: Integration Tests, API | Linux, go:stable
os: linux
go: stable
env: GO111MODULE=on TEST_SUITE=integration-api
before_script:
- docker pull docker.elastic.co/elasticsearch/elasticsearch-oss:7.0.0-SNAPSHOT
- docker network inspect elasticsearch > /dev/null || docker network create elasticsearch;
- |
docker run \
--name es-integration-api \
--network elasticsearch \
--env "cluster.name=es-integration-api" \
--env "discovery.type=single-node" \
--env "bootstrap.memory_lock=true" \
--env "cluster.routing.allocation.disk.threshold_enabled=false" \
--env "node.attr.testattr=test" \
--env "path.repo=/tmp" \
--env "repositories.url.allowed_urls=http://snapshot.test*" \
--env ES_JAVA_OPTS="-Xms1g -Xmx1g" \
--volume es-integration-api-data:/usr/share/elasticsearch/data \
--publish 9200:9200 \
--ulimit nofile=65536:65536 \
--ulimit memlock=-1:-1 \
--detach \
--rm \
docker.elastic.co/elasticsearch/elasticsearch-oss:7.0.0-SNAPSHOT
- docker run --network elasticsearch --rm appropriate/curl --max-time 120 --retry 120 --retry-delay 1 --retry-connrefused --show-error --silent http://es-integration-api:9200
script:
- curl -s http://localhost:9200 | jq -r '.version.build_hash' > .elasticsearch_build_hash && cat .elasticsearch_build_hash
# ------ Download Elasticsearch -----------------------------------------------------------
- echo -e "\e[33;1mDownload Elasticsearch Git source @ $(cat .elasticsearch_build_hash)\e[0m" && echo -en 'travis_fold:start:script.dl_es_src\\r'
- echo https://github.com/elastic/elasticsearch/archive/$(cat .elasticsearch_build_hash).zip
- |
curl -sSL --retry 3 -o elasticsearch-$(cat .elasticsearch_build_hash).zip https://github.com/elastic/elasticsearch/archive/$(cat .elasticsearch_build_hash).zip && \
unzip -q -o elasticsearch-$(cat .elasticsearch_build_hash).zip '*.properties' '*.json' '*.yml' -d /tmp && \
mv /tmp/elasticsearch-$(cat .elasticsearch_build_hash)* /tmp/elasticsearch
- echo -en 'travis_fold:end:script.dl_es_src'
# ------ Generate API registry ------------------------------------------------------------
- echo -e "\e[33;1mGenerate API registry\e[0m" && echo -en 'travis_fold:start:script.gen_api_reg\\r\n'
- cd ${TRAVIS_HOME}/gopath/src/github.com/elastic/go-elasticsearch/internal/cmd/generate && ELASTICSEARCH_BUILD_HASH=$(cat ../../../.elasticsearch_build_hash) PACKAGE_PATH=${TRAVIS_HOME}/gopath/src/github.com/elastic/go-elasticsearch/esapi go generate -v ./...
- echo -en 'travis_fold:end:script.gen_api_reg'
# ------ Generate Go test files -----------------------------------------------------------
- echo -e "\e[33;1mGenerate Go test files\e[0m" && echo -en 'travis_fold:start:script.gen_test_files\\r'
- cd ${TRAVIS_HOME}/gopath/src/github.com/elastic/go-elasticsearch/internal/cmd/generate && ELASTICSEARCH_BUILD_HASH=$(cat ../../../.elasticsearch_build_hash) go run main.go apitests --input '/tmp/elasticsearch/rest-api-spec/src/main/resources/rest-api-spec/test/**/*.yml' --output=../../../esapi/test
- echo -en 'travis_fold:end:script.gen_test_files'
# ------ Run tests -----------------------------------------------------------------------
- cd ${TRAVIS_HOME}/gopath/src/github.com/elastic/go-elasticsearch/esapi/test && time gotestsum --format=short-verbose --junitfile=/tmp/integration-api-report.xml -- -coverpkg=github.com/elastic/go-elasticsearch/esapi -coverprofile=/tmp/integration-api.cov -tags='integration' -timeout=1h ./...
after_script:
- test -f /tmp/integration-api.cov && bash <(curl -s https://codecov.io/bash) -f /tmp/integration-api.cov
before_install:
- GO111MODULE=off go get -u golang.org/x/lint/golint
- GO111MODULE=off go get -u gotest.tools/gotestsum
script: echo "TODO > test $TEST_SUITE ($TRAVIS_OS_NAME)"
notifications:
email: true