From af3360948d79ae7c528cd1e45bfd4d3b723cce52 Mon Sep 17 00:00:00 2001 From: Allen Sun Date: Thu, 27 Dec 2018 17:39:11 +0800 Subject: [PATCH] CI: make Circle CI to linter repo details (#344) Signed-off-by: Allen Sun --- .circleci/config.yml | 47 +++++++++++++++++++++++++++++++++++++++----- 1 file changed, 42 insertions(+), 5 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 7da6d4b0..8569fc03 100755 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,16 +1,53 @@ version: 2 jobs: - build: + integration-test: docker: - image: circleci/openjdk:8-jdk - working_directory: ~/sentinel - environment: MAVEN_OPTS: -Xmx3200m + steps: + - checkout + # Run tests + - run: mvn integration-test + document-lint: + docker: + # this image is build from Dockerfile + # https://github.com/pouchcontainer/pouchlinter/blob/master/Dockerfile + - image: pouchcontainer/pouchlinter:v0.1.2 + working_directory: ~/sentinel steps: - checkout + - run: + name: use markdownlint v0.5.0 to lint markdown file (https://github.com/markdownlint/markdownlint) + command: | + find ./ -name "*.md" | grep -v vendor | grep -v commandline | grep -v .github | grep -v swagger | grep -v api | xargs mdl -r ~MD010,~MD013,~MD024,~MD029,~MD033,~MD036 + - run: + name: use markdown-link-check(https://github.com/tcort/markdown-link-check) to check links in markdown files + command: | + set +e + for name in $(find . -name \*.md | grep -v vendor | grep -v CHANGELOG); do + if [ -f $name ]; then + markdown-link-check -q $name; + if [ $? -ne 0 ]; then + code=1 + fi + fi + done + bash -c "exit $code"; + - run: + name: use opensource tool client9/misspell to correct commonly misspelled English words + command: | + find ./* -name "*" | grep -v vendor | xargs misspell -error + - run: + name: use ShellCheck (https://github.com/koalaman/shellcheck) to check the validateness of shell scripts in pouch repo + command: | + find ./ -name "*.sh" | grep -v vendor | xargs shellcheck - # Run tests - - run: mvn integration-test \ No newline at end of file +workflows: + version: 2 + ci: + jobs: + - integration-test + - document-lint