diff --git a/.circleci/config.yaml b/.circleci/config.yaml new file mode 100644 index 000000000..78a10166f --- /dev/null +++ b/.circleci/config.yaml @@ -0,0 +1,14 @@ +version: 2 + +jobs: + misspell: + docker: + - image: circleci/golang:1.12 + steps: + - checkout + - run: + name: Install tools + command: make install-tools + - run: + name: Verify + command: make circle-ci diff --git a/Makefile b/Makefile new file mode 100644 index 000000000..30576cd33 --- /dev/null +++ b/Makefile @@ -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: circle-ci +circle-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 diff --git a/go.mod b/go.mod new file mode 100644 index 000000000..6825a9cce --- /dev/null +++ b/go.mod @@ -0,0 +1,5 @@ +module github.com/open-telemetry/rfcs + +go 1.12 + +require github.com/client9/misspell v0.3.4 diff --git a/go.sum b/go.sum new file mode 100644 index 000000000..ee5948021 --- /dev/null +++ b/go.sum @@ -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= diff --git a/internal/tools.go b/internal/tools.go new file mode 100644 index 000000000..239c89ea5 --- /dev/null +++ b/internal/tools.go @@ -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" +)