Add Makefile and Travis CI build (#200)

* Add Makefile and Travis CI build

* Simplify the script

* Add to contributing guideline

* Include Go modules and tools.go

* Remove new line at eof
This commit is contained in:
Yang Song 2019-08-06 08:41:58 -07:00 committed by Bogdan Drutu
parent 1b42b343d0
commit 0bbd733491
5 changed files with 72 additions and 0 deletions

17
.travis.yml Normal file
View File

@ -0,0 +1,17 @@
language: go
cache:
directories:
- /home/travis/gopath/pkg/mod
go:
- 1.12.x
env:
global:
GO111MODULE=on
install:
- make install-tools
script:
- make travis-ci

21
Makefile Normal file
View File

@ -0,0 +1,21 @@
# All documents to be used in spell check.
ALL_DOC := $(shell find . -name '*.md' -type f | sort)
MISSPELL=misspell -error
MISSPELL_CORRECTION=misspell -w
.PHONY: travis-ci
travis-ci: misspell
.PHONY: misspell
misspell:
$(MISSPELL) $(ALL_DOC)
.PHONY: misspell-correction
misspell-correction:
$(MISSPELL_CORRECTION) $(ALL_DOC)
.PHONY: install-tools
install-tools:
GO111MODULE=on go install \
github.com/client9/misspell/cmd/misspell

5
go.mod Normal file
View File

@ -0,0 +1,5 @@
module github.com/open-telemetry/opentelemetry-specification
go 1.12
require github.com/client9/misspell v0.3.4

2
go.sum Normal file
View File

@ -0,0 +1,2 @@
github.com/client9/misspell v0.3.4 h1:ta993UF76GwbvJcIo3Y68y/M3WxlpEHPWIGDkJYwzJI=
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=

27
internal/tools.go Normal file
View File

@ -0,0 +1,27 @@
// Copyright 2019, OpenTelemetry Authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// +build tools
package internal
// This file follows the recommendation at
// https://github.com/golang/go/wiki/Modules#how-can-i-track-tool-dependencies-for-a-module
// on how to pin tooling dependencies to a go.mod file.
// This ensures that all systems use the same version of tools in addition to regular dependencies.
import (
_ "github.com/client9/misspell/cmd/misspell"
)