From 952166d3666d2a0164ff43a7fdcd59abe5cad417 Mon Sep 17 00:00:00 2001 From: Yang Song Date: Fri, 9 Aug 2019 14:52:03 -0700 Subject: [PATCH] Add Makefile and Circle CI config (#14) * Add Makefile and Circle CI config Fixes #13. Currently the only job is misspell check. * Install tools locally to guarantee same version * Make Makefile less ambiguous * Change config file to yml * Top level job should be 'build' --- .circleci/config.yml | 11 +++++++++++ .gitignore | 1 + Makefile | 21 +++++++++++++++++++++ go.mod | 5 +++++ go.sum | 2 ++ internal/tools.go | 27 +++++++++++++++++++++++++++ 6 files changed, 67 insertions(+) create mode 100644 .circleci/config.yml create mode 100644 Makefile create mode 100644 go.mod create mode 100644 go.sum create mode 100644 internal/tools.go diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 000000000..933eac61a --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,11 @@ +version: 2 + +jobs: + build: + docker: + - image: circleci/golang:1.12 + steps: + - checkout + - run: + name: Verify + command: make precommit diff --git a/.gitignore b/.gitignore index e69de29bb..d0d16ba71 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +.tools diff --git a/Makefile b/Makefile new file mode 100644 index 000000000..3520a754a --- /dev/null +++ b/Makefile @@ -0,0 +1,21 @@ +# All documents to be used in spell check. +ALL_DOCS := $(shell find . -name '*.md' -type f | sort) + +TOOLS_DIR := ./.tools +MISSPELL_BINARY=$(TOOLS_DIR)/misspell + +.PHONY: precommit +precommit: install-misspell misspell + +.PHONY: install-misspell +install-misspell: go.mod go.sum internal/tools.go + go build -o $(MISSPELL_BINARY) github.com/client9/misspell/cmd/misspell + +.PHONY: misspell +misspell: + $(MISSPELL_BINARY) -error $(ALL_DOCS) + +.PHONY: misspell-correction +misspell-correction: + $(MISSPELL_BINARY) -w $(ALL_DOCS) + 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" +)