Build official packages with Go 1.13.1 (#6462)
This commit is contained in:
parent
da17d6569d
commit
5bd5cdc6d7
|
@ -4,20 +4,17 @@ defaults:
|
|||
working_directory: '/go/src/github.com/influxdata/telegraf'
|
||||
environment:
|
||||
GOFLAGS: -p=8
|
||||
go-1_10: &go-1_10
|
||||
docker:
|
||||
- image: 'quay.io/influxdb/telegraf-ci:1.10.8'
|
||||
go-1_11: &go-1_11
|
||||
docker:
|
||||
- image: 'quay.io/influxdb/telegraf-ci:1.11.13'
|
||||
go-1_12: &go-1_12
|
||||
docker:
|
||||
- image: 'quay.io/influxdb/telegraf-ci:1.12.10'
|
||||
go-1_13: &go-1_13
|
||||
docker:
|
||||
- image: 'quay.io/influxdb/telegraf-ci:1.13.1'
|
||||
|
||||
version: 2
|
||||
jobs:
|
||||
deps:
|
||||
<<: [ *defaults, *go-1_12 ]
|
||||
<<: [ *defaults, *go-1_13 ]
|
||||
steps:
|
||||
- checkout
|
||||
- restore_cache:
|
||||
|
@ -34,28 +31,13 @@ jobs:
|
|||
paths:
|
||||
- '*'
|
||||
|
||||
test-go-1.10:
|
||||
<<: [ *defaults, *go-1_10 ]
|
||||
steps:
|
||||
- attach_workspace:
|
||||
at: '/go/src'
|
||||
# disabled due to gofmt differences (1.10 vs 1.11).
|
||||
#- run: 'make check'
|
||||
- run: 'make test'
|
||||
test-go-1.11:
|
||||
<<: [ *defaults, *go-1_11 ]
|
||||
steps:
|
||||
- attach_workspace:
|
||||
at: '/go/src'
|
||||
- run: 'make check'
|
||||
- run: 'make test'
|
||||
test-go-1.12:
|
||||
<<: [ *defaults, *go-1_12 ]
|
||||
steps:
|
||||
- attach_workspace:
|
||||
at: '/go/src'
|
||||
- run: 'GOARCH=386 make check'
|
||||
- run: 'GOARCH=386 make test'
|
||||
- run: 'make check'
|
||||
- run: 'make test'
|
||||
test-go-1.12-386:
|
||||
<<: [ *defaults, *go-1_12 ]
|
||||
steps:
|
||||
|
@ -63,9 +45,23 @@ jobs:
|
|||
at: '/go/src'
|
||||
- run: 'GOARCH=386 make check'
|
||||
- run: 'GOARCH=386 make test'
|
||||
test-go-1.13:
|
||||
<<: [ *defaults, *go-1_13 ]
|
||||
steps:
|
||||
- attach_workspace:
|
||||
at: '/go/src'
|
||||
- run: 'make check'
|
||||
- run: 'make test'
|
||||
test-go-1.13-386:
|
||||
<<: [ *defaults, *go-1_13 ]
|
||||
steps:
|
||||
- attach_workspace:
|
||||
at: '/go/src'
|
||||
- run: 'GOARCH=386 make check'
|
||||
- run: 'GOARCH=386 make test'
|
||||
|
||||
package:
|
||||
<<: [ *defaults, *go-1_12 ]
|
||||
<<: [ *defaults, *go-1_13 ]
|
||||
steps:
|
||||
- attach_workspace:
|
||||
at: '/go/src'
|
||||
|
@ -74,7 +70,7 @@ jobs:
|
|||
path: './build'
|
||||
destination: 'build'
|
||||
release:
|
||||
<<: [ *defaults, *go-1_12 ]
|
||||
<<: [ *defaults, *go-1_13 ]
|
||||
steps:
|
||||
- attach_workspace:
|
||||
at: '/go/src'
|
||||
|
@ -83,7 +79,7 @@ jobs:
|
|||
path: './build'
|
||||
destination: 'build'
|
||||
nightly:
|
||||
<<: [ *defaults, *go-1_12 ]
|
||||
<<: [ *defaults, *go-1_13 ]
|
||||
steps:
|
||||
- attach_workspace:
|
||||
at: '/go/src'
|
||||
|
@ -100,18 +96,6 @@ workflows:
|
|||
filters:
|
||||
tags:
|
||||
only: /.*/
|
||||
- 'test-go-1.10':
|
||||
requires:
|
||||
- 'deps'
|
||||
filters:
|
||||
tags:
|
||||
only: /.*/
|
||||
- 'test-go-1.11':
|
||||
requires:
|
||||
- 'deps'
|
||||
filters:
|
||||
tags:
|
||||
only: /.*/
|
||||
- 'test-go-1.12':
|
||||
requires:
|
||||
- 'deps'
|
||||
|
@ -124,18 +108,30 @@ workflows:
|
|||
filters:
|
||||
tags:
|
||||
only: /.*/
|
||||
- 'test-go-1.13':
|
||||
requires:
|
||||
- 'deps'
|
||||
filters:
|
||||
tags:
|
||||
only: /.*/
|
||||
- 'test-go-1.13-386':
|
||||
requires:
|
||||
- 'deps'
|
||||
filters:
|
||||
tags:
|
||||
only: /.*/
|
||||
- 'package':
|
||||
requires:
|
||||
- 'test-go-1.10'
|
||||
- 'test-go-1.11'
|
||||
- 'test-go-1.12'
|
||||
- 'test-go-1.12-386'
|
||||
- 'test-go-1.13'
|
||||
- 'test-go-1.13-386'
|
||||
- 'release':
|
||||
requires:
|
||||
- 'test-go-1.10'
|
||||
- 'test-go-1.11'
|
||||
- 'test-go-1.12'
|
||||
- 'test-go-1.12-386'
|
||||
- 'test-go-1.13'
|
||||
- 'test-go-1.13-386'
|
||||
filters:
|
||||
tags:
|
||||
only: /.*/
|
||||
|
@ -144,24 +140,24 @@ workflows:
|
|||
nightly:
|
||||
jobs:
|
||||
- 'deps'
|
||||
- 'test-go-1.10':
|
||||
requires:
|
||||
- 'deps'
|
||||
- 'test-go-1.11':
|
||||
requires:
|
||||
- 'deps'
|
||||
- 'test-go-1.12':
|
||||
requires:
|
||||
- 'deps'
|
||||
- 'test-go-1.12-386':
|
||||
requires:
|
||||
- 'deps'
|
||||
- 'test-go-1.13':
|
||||
requires:
|
||||
- 'deps'
|
||||
- 'test-go-1.13-386':
|
||||
requires:
|
||||
- 'deps'
|
||||
- 'nightly':
|
||||
requires:
|
||||
- 'test-go-1.10'
|
||||
- 'test-go-1.11'
|
||||
- 'test-go-1.12'
|
||||
- 'test-go-1.12-386'
|
||||
- 'test-go-1.13'
|
||||
- 'test-go-1.13-386'
|
||||
triggers:
|
||||
- schedule:
|
||||
cron: "0 7 * * *"
|
||||
|
|
15
Makefile
15
Makefile
|
@ -129,17 +129,12 @@ plugin-%:
|
|||
@echo "Starting dev environment for $${$(@)} input plugin..."
|
||||
@docker-compose -f plugins/inputs/$${$(@)}/dev/docker-compose.yml up
|
||||
|
||||
.PHONY: ci-1.13
|
||||
ci-1.13:
|
||||
docker build -t quay.io/influxdb/telegraf-ci:1.13.1 - < scripts/ci-1.13.docker
|
||||
docker push quay.io/influxdb/telegraf-ci:1.13.1
|
||||
|
||||
.PHONY: ci-1.12
|
||||
ci-1.12:
|
||||
docker build -t quay.io/influxdb/telegraf-ci:1.12.10 - < scripts/ci-1.12.docker
|
||||
docker push quay.io/influxdb/telegraf-ci:1.12.10
|
||||
|
||||
.PHONY: ci-1.11
|
||||
ci-1.11:
|
||||
docker build -t quay.io/influxdb/telegraf-ci:1.11.13 - < scripts/ci-1.11.docker
|
||||
docker push quay.io/influxdb/telegraf-ci:1.11.13
|
||||
|
||||
.PHONY: ci-1.10
|
||||
ci-1.10:
|
||||
docker build -t quay.io/influxdb/telegraf-ci:1.10.8 - < scripts/ci-1.10.docker
|
||||
docker push quay.io/influxdb/telegraf-ci:1.10.8
|
||||
|
|
|
@ -40,9 +40,9 @@ Ansible role: https://github.com/rossmcdonald/telegraf
|
|||
|
||||
### From Source:
|
||||
|
||||
Telegraf requires golang version 1.10 or newer, the Makefile requires GNU make.
|
||||
Telegraf requires golang version 1.12 or newer, the Makefile requires GNU make.
|
||||
|
||||
1. [Install Go](https://golang.org/doc/install) >=1.10 (1.12 recommended)
|
||||
1. [Install Go](https://golang.org/doc/install) >=1.12 (1.13 recommended)
|
||||
2. [Install dep](https://golang.github.io/dep/docs/installation.html) ==v0.5.0
|
||||
3. Download Telegraf source:
|
||||
```
|
||||
|
|
|
@ -13,11 +13,11 @@ platform: x64
|
|||
|
||||
install:
|
||||
- IF NOT EXIST "C:\Cache" mkdir C:\Cache
|
||||
- IF NOT EXIST "C:\Cache\go1.12.9.msi" curl -o "C:\Cache\go1.12.9.msi" https://storage.googleapis.com/golang/go1.12.9.windows-amd64.msi
|
||||
- IF NOT EXIST "C:\Cache\go1.13.1.msi" curl -o "C:\Cache\go1.13.1.msi" https://storage.googleapis.com/golang/go1.13.1.windows-amd64.msi
|
||||
- IF NOT EXIST "C:\Cache\gnuwin32-bin.zip" curl -o "C:\Cache\gnuwin32-bin.zip" https://dl.influxdata.com/telegraf/ci/make-3.81-bin.zip
|
||||
- IF NOT EXIST "C:\Cache\gnuwin32-dep.zip" curl -o "C:\Cache\gnuwin32-dep.zip" https://dl.influxdata.com/telegraf/ci/make-3.81-dep.zip
|
||||
- IF EXIST "C:\Go" rmdir /S /Q C:\Go
|
||||
- msiexec.exe /i "C:\Cache\go1.12.9.msi" /quiet
|
||||
- msiexec.exe /i "C:\Cache\go1.13.1.msi" /quiet
|
||||
- 7z x "C:\Cache\gnuwin32-bin.zip" -oC:\GnuWin32 -y
|
||||
- 7z x "C:\Cache\gnuwin32-dep.zip" -oC:\GnuWin32 -y
|
||||
- go get -d github.com/golang/dep
|
||||
|
|
|
@ -184,7 +184,7 @@ func TestSimpleMetricCreated(t *testing.T) {
|
|||
{"neither value nor count", map[string]interface{}{"v1": "alpha", "v2": 45.8}, "", []string{"v2"}},
|
||||
{"value is of wrong type", map[string]interface{}{"value": "alpha", "count": 15}, "", []string{"count"}},
|
||||
{"count is of wrong type", map[string]interface{}{"value": 23.77, "count": 7.5}, "", []string{"count", "value"}},
|
||||
{"count is out of range", map[string]interface{}{"value": -98.45E4, "count": math.MaxUint64 - uint64(20)}, "", []string{"value", "count"}},
|
||||
{"count is out of range", map[string]interface{}{"value": -98.45e4, "count": math.MaxUint64 - uint64(20)}, "", []string{"value", "count"}},
|
||||
{"several additional fields", map[string]interface{}{"alpha": 10, "bravo": "bravo", "charlie": 30, "delta": 40.7}, "", []string{"alpha", "charlie", "delta"}},
|
||||
}
|
||||
|
||||
|
|
|
@ -1,114 +0,0 @@
|
|||
package prometheus_client_test
|
||||
|
||||
import (
|
||||
"crypto/tls"
|
||||
"fmt"
|
||||
"net/http"
|
||||
"testing"
|
||||
|
||||
inttls "github.com/influxdata/telegraf/internal/tls"
|
||||
"github.com/influxdata/telegraf/plugins/outputs/prometheus_client"
|
||||
"github.com/influxdata/telegraf/testutil"
|
||||
"github.com/influxdata/toml"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
var pki = testutil.NewPKI("../../../testutil/pki")
|
||||
|
||||
var configWithTLS = fmt.Sprintf(`
|
||||
listen = "127.0.0.1:0"
|
||||
tls_allowed_cacerts = ["%s"]
|
||||
tls_cert = "%s"
|
||||
tls_key = "%s"
|
||||
tls_cipher_suites = ["%s"]
|
||||
tls_min_version = "%s"
|
||||
`, pki.TLSServerConfig().TLSAllowedCACerts[0], pki.TLSServerConfig().TLSCert, pki.TLSServerConfig().TLSKey, pki.CipherSuite(), pki.TLSMaxVersion())
|
||||
|
||||
var configWithoutTLS = `
|
||||
listen = "127.0.0.1:0"
|
||||
`
|
||||
|
||||
type PrometheusClientTestContext struct {
|
||||
Output *prometheus_client.PrometheusClient
|
||||
Accumulator *testutil.Accumulator
|
||||
Client *http.Client
|
||||
}
|
||||
|
||||
func TestWorksWithoutTLS(t *testing.T) {
|
||||
tc := buildTestContext(t, []byte(configWithoutTLS))
|
||||
err := tc.Output.Connect()
|
||||
require.NoError(t, err)
|
||||
defer tc.Output.Close()
|
||||
|
||||
response, err := tc.Client.Get(tc.Output.URL())
|
||||
require.NoError(t, err)
|
||||
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, response.StatusCode, http.StatusOK)
|
||||
}
|
||||
|
||||
func TestWorksWithTLS(t *testing.T) {
|
||||
tc := buildTestContext(t, []byte(configWithTLS))
|
||||
err := tc.Output.Connect()
|
||||
require.NoError(t, err)
|
||||
defer tc.Output.Close()
|
||||
|
||||
serverCiphers, err := inttls.ParseCiphers(tc.Output.ServerConfig.TLSCipherSuites)
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, 1, len(serverCiphers))
|
||||
|
||||
tlsVersion, err := inttls.ParseTLSVersion(tc.Output.ServerConfig.TLSMinVersion)
|
||||
require.NoError(t, err)
|
||||
|
||||
response, err := tc.Client.Get(tc.Output.URL())
|
||||
require.NoError(t, err)
|
||||
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, response.StatusCode, http.StatusOK)
|
||||
|
||||
require.Equal(t, response.TLS.CipherSuite, serverCiphers[0])
|
||||
require.Equal(t, response.TLS.Version, tlsVersion)
|
||||
|
||||
tr := &http.Transport{
|
||||
TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
|
||||
}
|
||||
|
||||
client := &http.Client{Transport: tr}
|
||||
response, err = client.Get(tc.Output.URL())
|
||||
|
||||
require.Error(t, err)
|
||||
}
|
||||
|
||||
func buildTestContext(t *testing.T, config []byte) *PrometheusClientTestContext {
|
||||
output := prometheus_client.NewClient()
|
||||
err := toml.Unmarshal(config, output)
|
||||
require.NoError(t, err)
|
||||
|
||||
var (
|
||||
httpClient *http.Client
|
||||
)
|
||||
|
||||
if len(output.TLSAllowedCACerts) != 0 {
|
||||
httpClient = buildClientWithTLS(t, output)
|
||||
} else {
|
||||
httpClient = buildClientWithoutTLS()
|
||||
}
|
||||
|
||||
return &PrometheusClientTestContext{
|
||||
Output: output,
|
||||
Accumulator: &testutil.Accumulator{},
|
||||
Client: httpClient,
|
||||
}
|
||||
}
|
||||
|
||||
func buildClientWithoutTLS() *http.Client {
|
||||
return &http.Client{}
|
||||
}
|
||||
|
||||
func buildClientWithTLS(t *testing.T, output *prometheus_client.PrometheusClient) *http.Client {
|
||||
tlsConfig, err := pki.TLSClientConfig().TLSConfig()
|
||||
require.NoError(t, err)
|
||||
|
||||
transport := &http.Transport{TLSClientConfig: tlsConfig}
|
||||
return &http.Client{Transport: transport}
|
||||
}
|
|
@ -1,28 +0,0 @@
|
|||
FROM golang:1.11.13
|
||||
|
||||
RUN chmod -R 755 "$GOPATH"
|
||||
|
||||
RUN DEBIAN_FRONTEND=noninteractive \
|
||||
apt update && apt install -y --no-install-recommends \
|
||||
autoconf \
|
||||
git \
|
||||
libtool \
|
||||
locales \
|
||||
make \
|
||||
python-boto \
|
||||
rpm \
|
||||
ruby \
|
||||
ruby-dev \
|
||||
zip && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
RUN ln -sf /usr/share/zoneinfo/Etc/UTC /etc/localtime
|
||||
RUN locale-gen C.UTF-8 || true
|
||||
ENV LANG=C.UTF-8
|
||||
|
||||
RUN gem install fpm
|
||||
|
||||
RUN go get -d github.com/golang/dep && \
|
||||
cd src/github.com/golang/dep && \
|
||||
git checkout -q v0.5.0 && \
|
||||
go install -ldflags="-X main.version=v0.5.0" ./cmd/dep
|
|
@ -1,4 +1,4 @@
|
|||
FROM golang:1.10.8
|
||||
FROM golang:1.13.1
|
||||
|
||||
RUN chmod -R 755 "$GOPATH"
|
||||
|
Loading…
Reference in New Issue