Compare commits
2 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f78d1c6b9b | ||
|
|
a8a4e207fe |
9 changed files with 35 additions and 55 deletions
|
|
@ -1,9 +1,10 @@
|
|||
version: 2
|
||||
jobs:
|
||||
build:
|
||||
working_directory: ~/go/src/github.com/Clever/amazon-kinesis-client-go
|
||||
working_directory: /go/src/github.com/Clever/amazon-kinesis-client-go
|
||||
docker:
|
||||
- image: cimg/go:1.16
|
||||
- image: circleci/golang:1.13-stretch
|
||||
- image: circleci/mongo:3.2.20-jessie-ram
|
||||
environment:
|
||||
GOPRIVATE: github.com/Clever/*
|
||||
CIRCLE_ARTIFACTS: /tmp/circleci-artifacts
|
||||
|
|
|
|||
11
.github/workflows/notify-ci-status.yml
vendored
11
.github/workflows/notify-ci-status.yml
vendored
|
|
@ -1,12 +1,17 @@
|
|||
name: Notify CI status
|
||||
|
||||
on: status
|
||||
on:
|
||||
check_suite:
|
||||
types: [completed]
|
||||
status:
|
||||
|
||||
jobs:
|
||||
call-workflow:
|
||||
if: >-
|
||||
github.event.branches[0].name == 'master' &&
|
||||
(github.event.state == 'error' || github.event.state == 'failure')
|
||||
(github.event.branches[0].name == github.event.repository.default_branch &&
|
||||
(github.event.state == 'error' || github.event.state == 'failure')) ||
|
||||
(github.event.check_suite.head_branch == github.event.repository.default_branch &&
|
||||
github.event.check_suite.conclusion != 'success')
|
||||
uses: Clever/ci-scripts/.github/workflows/reusable-notify-ci-status.yml@master
|
||||
secrets:
|
||||
CIRCLE_CI_INTEGRATIONS_URL: ${{ secrets.CIRCLE_CI_INTEGRATIONS_URL }}
|
||||
|
|
|
|||
2
Makefile
2
Makefile
|
|
@ -5,7 +5,7 @@ SHELL := /bin/bash
|
|||
PKG := github.com/Clever/amazon-kinesis-client-go
|
||||
PKGS := $(shell go list ./... | grep -v /vendor )
|
||||
.PHONY: download_jars run build
|
||||
$(eval $(call golang-version-check,1.16))
|
||||
$(eval $(call golang-version-check,1.13))
|
||||
|
||||
CONSUMER ?= consumer
|
||||
TMP_DIR := ./tmp-jars
|
||||
|
|
|
|||
2
VERSION
2
VERSION
|
|
@ -1 +1 @@
|
|||
1.1.0
|
||||
1.0.0
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package decode
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"sort"
|
||||
"testing"
|
||||
|
|
@ -221,6 +222,7 @@ func TestSyslogDecoding(t *testing.T) {
|
|||
fields, err := FieldsFromSyslog(spec.Input)
|
||||
if spec.ExpectedError != nil {
|
||||
assert.Error(err)
|
||||
assert.True(errors.As(err, &spec.ExpectedError))
|
||||
return
|
||||
}
|
||||
assert.NoError(err)
|
||||
|
|
@ -545,6 +547,7 @@ select sleep(2);`,
|
|||
fields, err := ParseAndEnhance(spec.Line, "deploy-env")
|
||||
if spec.ExpectedError != nil {
|
||||
assert.Error(err)
|
||||
assert.True(errors.As(err, &spec.ExpectedError))
|
||||
return
|
||||
}
|
||||
assert.NoError(err)
|
||||
|
|
@ -554,6 +557,7 @@ select sleep(2);`,
|
|||
}
|
||||
|
||||
func TestGetContainerMeta(t *testing.T) {
|
||||
|
||||
type containerMetaSpec struct {
|
||||
description string
|
||||
input map[string]interface{}
|
||||
|
|
|
|||
5
go.mod
5
go.mod
|
|
@ -1,8 +1,9 @@
|
|||
module github.com/Clever/amazon-kinesis-client-go
|
||||
module github.com/amazon-kinesis-client-go
|
||||
|
||||
go 1.16
|
||||
go 1.13
|
||||
|
||||
require (
|
||||
github.com/Clever/amazon-kinesis-client-go v1.0.0
|
||||
github.com/Clever/syslogparser v0.0.0-20170816194131-fb28ad3e4340
|
||||
github.com/a8m/kinesis-producer v0.2.0
|
||||
github.com/aws/aws-sdk-go v1.35.28 // indirect
|
||||
|
|
|
|||
2
go.sum
2
go.sum
|
|
@ -1,3 +1,5 @@
|
|||
github.com/Clever/amazon-kinesis-client-go v1.0.0 h1:rG+hkHCSe+xMGk3asESg18tiEj8X6To8vj0TRa1pKvQ=
|
||||
github.com/Clever/amazon-kinesis-client-go v1.0.0/go.mod h1:jLfi8QusUjdsYazmEH0DlSO4gE1WRzVE7cs4c/fOFdI=
|
||||
github.com/Clever/syslogparser v0.0.0-20170816194131-fb28ad3e4340 h1:wr8lTqPJZQpZkZgllQtrD96SecXkAu5MxzY3yJgsuCg=
|
||||
github.com/Clever/syslogparser v0.0.0-20170816194131-fb28ad3e4340/go.mod h1:e7Yy7RTiIMU9pZ+dcSviX3cpod8e0CEeTUPTgBbKlRE=
|
||||
github.com/a8m/kinesis-producer v0.2.0 h1:Bd5Oi4dczbTLPIZwVbm02464LIFgBqmViFj//b098xc=
|
||||
|
|
|
|||
53
golang.mk
53
golang.mk
|
|
@ -1,7 +1,7 @@
|
|||
# This is the default Clever Golang Makefile.
|
||||
# It is stored in the dev-handbook repo, github.com/Clever/dev-handbook
|
||||
# Please do not alter this file directly.
|
||||
GOLANG_MK_VERSION := 1.1.0
|
||||
GOLANG_MK_VERSION := 1.0.0
|
||||
|
||||
SHELL := /bin/bash
|
||||
SYSTEM := $(shell uname -a | cut -d" " -f1 | tr '[:upper:]' '[:lower:]')
|
||||
|
|
@ -11,7 +11,7 @@ SYSTEM := $(shell uname -a | cut -d" " -f1 | tr '[:upper:]' '[:lower:]')
|
|||
export TZ=UTC
|
||||
|
||||
# go build flags for use across all commands which accept them
|
||||
export GOFLAGS := -mod=vendor $(GOFLAGS)
|
||||
GO_BUILD_FLAGS := "-mod=vendor"
|
||||
|
||||
# if the gopath includes several directories, use only the first
|
||||
GOPATH=$(shell echo $$GOPATH | cut -d: -f1)
|
||||
|
|
@ -39,7 +39,7 @@ endef
|
|||
# so we're defended against it breaking or changing in the future.
|
||||
FGT := $(GOPATH)/bin/fgt
|
||||
$(FGT):
|
||||
go install -mod=readonly github.com/GeertJohan/fgt@262f7b11eec07dc7b147c44641236f3212fee89d
|
||||
go get github.com/GeertJohan/fgt@262f7b11eec07dc7b147c44641236f3212fee89d
|
||||
|
||||
golang-ensure-curl-installed:
|
||||
@command -v curl >/dev/null 2>&1 || { echo >&2 "curl not installed. Please install curl."; exit 1; }
|
||||
|
|
@ -49,7 +49,7 @@ golang-ensure-curl-installed:
|
|||
# previously passing tests start failing without changing our code.
|
||||
GOLINT := $(GOPATH)/bin/golint
|
||||
$(GOLINT):
|
||||
go install -mod=readonly golang.org/x/lint/golint@738671d3881b9731cc63024d5d88cf28db875626
|
||||
go get golang.org/x/lint/golint@738671d3881b9731cc63024d5d88cf28db875626
|
||||
|
||||
# golang-fmt-deps requires the FGT tool for checking output
|
||||
golang-fmt-deps: $(FGT)
|
||||
|
|
@ -89,7 +89,7 @@ golang-test-deps:
|
|||
# arg1: pkg path
|
||||
define golang-test
|
||||
@echo "TESTING $(1)..."
|
||||
@go test -v $(1)
|
||||
@go test $(GO_BUILD_FLAGS) -v $(1)
|
||||
endef
|
||||
|
||||
# golang-test-strict-deps is here for consistency
|
||||
|
|
@ -99,22 +99,7 @@ golang-test-strict-deps:
|
|||
# arg1: pkg path
|
||||
define golang-test-strict
|
||||
@echo "TESTING $(1)..."
|
||||
@go test -v -race $(1)
|
||||
endef
|
||||
|
||||
# golang-test-strict-cover-deps is here for consistency
|
||||
golang-test-strict-cover-deps:
|
||||
|
||||
# golang-test-strict-cover uses the Go toolchain to run all tests in the pkg with the race and cover flag.
|
||||
# appends coverage results to coverage.txt
|
||||
# arg1: pkg path
|
||||
define golang-test-strict-cover
|
||||
@echo "TESTING $(1)..."
|
||||
@go test -v -race -cover -coverprofile=profile.tmp -covermode=atomic $(1)
|
||||
@if [ -f profile.tmp ]; then \
|
||||
cat profile.tmp | tail -n +2 >> coverage.txt; \
|
||||
rm profile.tmp; \
|
||||
fi;
|
||||
@go test -v $(GO_BUILD_FLAGS) -race $(1)
|
||||
endef
|
||||
|
||||
# golang-vet-deps is here for consistency
|
||||
|
|
@ -124,7 +109,7 @@ golang-vet-deps:
|
|||
# arg1: pkg path
|
||||
define golang-vet
|
||||
@echo "VETTING $(1)..."
|
||||
@go vet $(1)
|
||||
@go vet $(GO_BUILD_FLAGS) $(1)
|
||||
endef
|
||||
|
||||
# golang-test-all-deps installs all dependencies needed for different test cases.
|
||||
|
|
@ -152,37 +137,19 @@ $(call golang-vet,$(1))
|
|||
$(call golang-test-strict,$(1))
|
||||
endef
|
||||
|
||||
# golang-test-all-strict-cover-deps: installs all dependencies needed for different test cases.
|
||||
golang-test-all-strict-cover-deps: golang-fmt-deps golang-lint-deps-strict golang-test-strict-cover-deps golang-vet-deps
|
||||
|
||||
# golang-test-all-strict-cover calls fmt, lint, vet and test on the specified pkg with strict and cover
|
||||
# requirements that no errors are thrown while linting.
|
||||
# arg1: pkg path
|
||||
define golang-test-all-strict-cover
|
||||
$(call golang-fmt,$(1))
|
||||
$(call golang-lint-strict,$(1))
|
||||
$(call golang-vet,$(1))
|
||||
$(call golang-test-strict-cover,$(1))
|
||||
endef
|
||||
|
||||
# golang-build: builds a golang binary. ensures CGO build is done during CI. This is needed to make a binary that works with a Docker alpine image.
|
||||
# arg1: pkg path
|
||||
# arg2: executable name
|
||||
define golang-build
|
||||
@echo "BUILDING $(2)..."
|
||||
@echo "BUILDING..."
|
||||
@if [ -z "$$CI" ]; then \
|
||||
go build -o bin/$(2) $(1); \
|
||||
go build $(GO_BUILD_FLAGS) -o bin/$(2) $(1); \
|
||||
else \
|
||||
echo "-> Building CGO binary"; \
|
||||
CGO_ENABLED=0 go build -installsuffix cgo -o bin/$(2) $(1); \
|
||||
CGO_ENABLED=0 go build $(GO_BUILD_FLAGS) -installsuffix cgo -o bin/$(2) $(1); \
|
||||
fi;
|
||||
endef
|
||||
|
||||
# golang-setup-coverage: set up the coverage file
|
||||
define golang-setup-coverage:
|
||||
@echo "mode: atomic" > coverage.txt
|
||||
endef
|
||||
|
||||
# golang-update-makefile downloads latest version of golang.mk
|
||||
golang-update-makefile:
|
||||
@wget https://raw.githubusercontent.com/Clever/dev-handbook/master/make/golang-v1.mk -O /tmp/golang.mk 2>/dev/null
|
||||
|
|
|
|||
Loading…
Reference in a new issue