forked from open-telemetry/opentelemetry-specification
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[linters] Install tools based on versions in package.json (open-telem…
…etry#2323) * [editorial] Use `npx` to run npm cmds, not hardcoded paths * Update Makefile based on feedback * Use --no-install option for npx * Add `npm install` to markdown-check workflows * Pin markdownlint-cli at 0.31.0 * Run `npm install` as a separate workflow step * Use name 'install dependencies' for npm install cmd * CONTRIBUTING: clarify that you install the tools once * make: add `install-tools` as dependency to `all` * Add install check line to `mardown*` targets Co-authored-by: Yuri Shkuro <[email protected]>
- Loading branch information
1 parent
b5631f8
commit e2c5aa2
Showing
4 changed files
with
48 additions
and
28 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -5,17 +5,14 @@ PWD := $(shell pwd) | |
TOOLS_DIR := ./internal/tools | ||
MISSPELL_BINARY=bin/misspell | ||
MISSPELL = $(TOOLS_DIR)/$(MISSPELL_BINARY) | ||
MARKDOWN_LINK_CHECK=./node_modules/.bin/markdown-link-check | ||
MARKDOWN_LINT=./node_modules/.bin/markdownlint | ||
MARKDOWN_TOC=./node_modules/.bin/markdown-toc | ||
|
||
# see https://github.com/open-telemetry/build-tools/releases for semconvgen updates | ||
# Keep links in semantic_conventions/README.md and .vscode/settings.json in sync! | ||
SEMCONVGEN_VERSION=0.8.0 | ||
|
||
# TODO: add `yamllint` step to `all` after making sure it works on Mac. | ||
.PHONY: all | ||
all: markdownlint markdown-link-check misspell table-check schema-check | ||
all: install-tools markdownlint markdown-link-check misspell table-check schema-check | ||
|
||
$(MISSPELL): | ||
cd $(TOOLS_DIR) && go build -o $(MISSPELL_BINARY) github.com/client9/misspell/cmd/misspell | ||
|
@@ -28,15 +25,13 @@ misspell: $(MISSPELL) | |
misspell-correction: $(MISSPELL) | ||
$(MISSPELL) -w $(ALL_DOCS) | ||
|
||
$(MARKDOWN_LINK_CHECK): | ||
npm install markdown-link-check | ||
|
||
.PHONY: markdown-link-check | ||
markdown-link-check: $(MARKDOWN_LINK_CHECK) | ||
@for f in $(ALL_DOCS); do $(MARKDOWN_LINK_CHECK) --quiet --config .markdown_link_check_config.json $$f; done | ||
|
||
$(MARKDOWN_TOC): | ||
npm install markdown-toc | ||
markdown-link-check: | ||
@if ! npm ls markdown-link-check; then npm install; fi | ||
@for f in $(ALL_DOCS); do \ | ||
npx --no -- markdown-link-check --quiet --config .markdown_link_check_config.json $$f \ | ||
|| exit 1; \ | ||
done | ||
|
||
# This target runs markdown-toc on all files that contain | ||
# a comment <!-- tocstop -->. | ||
|
@@ -47,22 +42,25 @@ $(MARKDOWN_TOC): | |
# <!-- toc --> | ||
# <!-- tocstop --> | ||
.PHONY: markdown-toc | ||
markdown-toc: $(MARKDOWN_TOC) | ||
markdown-toc: | ||
@if ! npm ls markdown-toc; then npm install; fi | ||
@for f in $(ALL_DOCS); do \ | ||
if grep -q '<!-- tocstop -->' $$f; then \ | ||
echo markdown-toc: processing $$f; \ | ||
$(MARKDOWN_TOC) --no-first-h1 --no-stripHeadingTags -i $$f; \ | ||
npx --no -- markdown-toc --no-first-h1 --no-stripHeadingTags -i $$f || exit 1; \ | ||
else \ | ||
echo markdown-toc: no TOC markers, skipping $$f; \ | ||
fi; \ | ||
done | ||
|
||
$(MARKDOWN_LINT): | ||
npm install [email protected] | ||
|
||
.PHONY: markdownlint | ||
markdownlint: $(MARKDOWN_LINT) | ||
@for f in $(ALL_DOCS); do echo $$f; $(MARKDOWN_LINT) -c .markdownlint.yaml $$f || exit 1; done | ||
markdownlint: | ||
@if ! npm ls markdownlint; then npm install; fi | ||
@for f in $(ALL_DOCS); do \ | ||
echo $$f; \ | ||
npx --no -p markdownlint-cli markdownlint -c .markdownlint.yaml $$f \ | ||
|| exit 1; \ | ||
done | ||
|
||
.PHONY: install-yamllint | ||
install-yamllint: | ||
|
@@ -99,7 +97,7 @@ check: misspell markdownlint markdown-link-check | |
fix: table-generation misspell-correction | ||
@echo "All autofixes complete" | ||
|
||
# Attempt to install all the tools | ||
.PHONY: install-tools | ||
install-tools: $(MISSPELL) $(MARKDOWN_LINT) $(MARKDOWN_LINK_CHECK) $(MARKDOWN_TOC) | ||
install-tools: $(MISSPELL) | ||
npm install | ||
@echo "All tools installed" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
{ | ||
"devDependencies": { | ||
"markdown-link-check": "^3.9.3", | ||
"markdown-toc": "^1.2.0", | ||
"markdownlint-cli": "0.31.0" | ||
} | ||
} |