forked from tdegiacinto/terraform-provider-elasticsearch
/
.travis.yml
84 lines (79 loc) · 3.79 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
sudo: required
language: go
go:
- '1.12'
- master
cache:
directories:
- $HOME/gopath/pkg/mod
env:
matrix:
- ES_VERSION=5.6.16 ES_OSS_IMAGE=elasticsearch:${ES_VERSION} ES_IMAGE=docker.elastic.co/elasticsearch/elasticsearch:${ES_VERSION} ES_COMMAND="elasticsearch -Epath.repo=/tmp"
- ES_VERSION=6.8.0 ES_OSS_IMAGE=docker.elastic.co/elasticsearch/elasticsearch-oss:${ES_VERSION} ES_IMAGE=docker.elastic.co/elasticsearch/elasticsearch:${ES_VERSION} ES_OPENDISTRO_IMAGE=amazon/opendistro-for-elasticsearch:0.9.0 XPACK=1
- ES_VERSION=7.0.1 ES_OSS_IMAGE=docker.elastic.co/elasticsearch/elasticsearch-oss:${ES_VERSION} ES_IMAGE=docker.elastic.co/elasticsearch/elasticsearch:${ES_VERSION} XPACK=1
allow_failures:
- go: master
addons:
ssh_known_hosts: github.com
apt:
update: true
packages:
- docker-ce
before_install:
- sudo sysctl -w vm.max_map_count=262144
- docker-compose pull
- docker-compose up -d
install:
- export ELASTICSEARCH_URL=http://127.0.0.1:9200
- export TF_LOG=INFO
- env GO111MODULE=on go mod vendor
script:
- export GO111MODULE=on
- wget -q --waitretry=1 --retry-connrefused --tries=60 --timeout 60 -O - $ELASTICSEARCH_URL
- if [ "$XPACK" ]; then wget -q --waitretry=5 --tries=50 --retry-connrefused -T 600 -O - http://elastic:elastic@127.0.0.1:9210; fi
- if [ -n "$ES_OPENDISTRO_IMAGE" ]; then wget -q --waitretry=5 --tries=50 --retry-connrefused -T 600 -O - http://127.0.0.1:9220; fi
# Opendistro lazily initializes it's indexes, warm it up here :|
# https://github.com/opendistro-for-elasticsearch/alerting/issues/60
- |
if [ -n "$ES_OPENDISTRO_IMAGE" ]; then
wget -q --waitretry=1 --retry-connrefused --tries=60 --timeout 60 -O - 127.0.0.1:9220
curl -X POST -H 'Content-type: application/json' -d '{"name":"_warmup","type":"slack","slack":{"url": "http://www.example.com"}}' 127.0.0.1:9220/_opendistro/_alerting/destinations
fi
# enforce formatting
- FILES_TO_FMT=$(gofmt -l .); [ -z "$FILES_TO_FMT" ] || (echo "$FILES_TO_FMT"; exit $?)
# run tests
- TF_ACC=1 go test -v -cover
before_deploy:
- export GO111MODULE=on
- go get github.com/mitchellh/gox
- export TARGET_OS="freebsd darwin linux windows"
- export TARGET_ARCH="386 amd64"
# Use terraform provider conventions
# https://www.terraform.io/docs/configuration/providers.html#third-party-plugins
- export FILE_NAME="terraform-provider-elasticsearch_${TRAVIS_TAG}_{{.OS}}_{{.Arch}}"
- gox -os "$TARGET_OS" -arch "$TARGET_ARCH" -output="$FILE_NAME"
- CGO_ENABLED=0 gox -os "$TARGET_OS" -arch "$TARGET_ARCH" -output="${FILE_NAME}_static"
stages:
- test
- deploy
jobs:
include:
- stage: deploy go-releaser
name: "Deploy to Github with GoReleaser"
before_install: skip
script: if [ "${TRAVIS_TAG::1}" = "v" ]; then curl -sL https://git.io/goreleaser | bash; fi
- stage: deploy gox
name: "Deploy with Releases"
before_install: skip
script: skip
deploy:
provider: releases
api_key:
secure: JOkdZIcFaAlf+RXY3xQ3MkTYxBCA5Ot2QOR7RtPTfbM1a7R9YrG0zFvgMNnZCiE5ONmf2OkJlcmSdviCE+awrBXSdARZXJFdO+CMa6Q9meyNYcQ8vBTM52BQLmkL2YF+mEEMnxgMD/qXyP4LXR45Hc0LamoDFiONx5w984VZRitPyNDoLczlH4uU3cecfWJN6GFCX/DyG4E1LSQFfy5jVoiaKTbWK/l+XeBJW2pyoCp9a/zmfsZsJhV6gr8Nl9PJxyu2dmgAHQKDEjjIJu6J1eP2vbC4YP/YI73RtWHMUGQ+yZpfd01dL6/NYpWwxZh4bKvtVk8CzHhikvD7DXQOc0yOxw52SMqct+ek0sfkRSz/l/AhwBbOobxbksUIUylBtTRIpH0elW//1WZ2+7pbcZB/SEeKecPoxpfyRQmV/VRRSoQWva9OQ3SObiypTLsPYCY9YG75vAkRddlASbtrErzLS3C8cbo4c7Hrl91Qxw/rNihYIFrwamSax7YJqyA6NmNqIMXr3H9BZMXy1H4FSXBnGOMmnmfeOw9WC4qU/KP31ieyOdzRvP18DQPQjggGz6fzdnIJ8mo1kT46vt9fK0h6AjGB+VVBt9BOBCO8dzPE8NASVE5uRV4FYsTMWOUKLO/SbmFdOpKHR8WIYOe8A7/sJMAnmZqocE8fykCwH9k=
file: terraform-provider-elasticsearch*
skip_cleanup: true
file_glob: true
on:
tags: true
branch: master
go: '1.12'