From c63825bfd47a27e5f233ee09f73efdba0138692b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vojt=C4=9Bch=20K=C3=A1n=C4=9B?= Date: Tue, 16 Jul 2019 11:34:03 +0200 Subject: [PATCH 1/6] Enable Gitlab CI to test buildability. --- .gitlab-ci.yml | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 .gitlab-ci.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..0a90909 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,29 @@ +variables: + GIT_SUBMODULE_STRATEGY: recursive + +image: + name: klakegg/hugo:0.55.6-ext-alpine + entrypoint: + - /bin/sh + - "-c" + +build: + script: + - hugo --minify + artifacts: + paths: + - public + expire_in: 3 months + only: + - master + +test: + script: + - hugo_output=$(hugo --path-warnings --i18n-warnings) + - echo "$hugo_output" + - if echo "$hugo_output" | grep -q 'i18n|MISSING_TRANSLATION'; then false; else true; fi + - if echo "$hugo_output" | grep -q 'WARN.*Duplicate target paths'; then false; else true; fi + artifacts: + paths: + - public + expire_in: 1 month From 1802ae0103fd833435c409e4bd79fa1e76c4dbca Mon Sep 17 00:00:00 2001 From: Greenscreener Date: Wed, 17 Jul 2019 21:59:14 +0200 Subject: [PATCH 2/6] Added js linter config. --- docker-compose.yml | 12 ++++++++++++ linting/js/Dockerfile | 20 ++++++++++++++++++++ linting/js/eslintrc.yml | 6 ++++++ 3 files changed, 38 insertions(+) create mode 100644 docker-compose.yml create mode 100644 linting/js/Dockerfile create mode 100644 linting/js/eslintrc.yml diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..d2e36a6 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,12 @@ +version: '2' + +services: + xo-js-lint: + build: linting/js + image: patek-devs/eslint-xo + command: . --env=browser --extend=/eslintrc.yml + volumes: + - ./themes/patek/assets/js:/src:ro + - ./linting/js/eslintrc.yml:/eslintrc.yml + + diff --git a/linting/js/Dockerfile b/linting/js/Dockerfile new file mode 100644 index 0000000..1c2e7b7 --- /dev/null +++ b/linting/js/Dockerfile @@ -0,0 +1,20 @@ +FROM node:12-alpine + +RUN mkdir /src + +# Hack to upgrade NPM: +# - install local version +# - replace old global verson with new one + +RUN npm install npm@5.3 && \ + rm -rf /usr/local/lib/node_modules/npm && \ + mv /node_modules/npm /usr/local/lib/node_modules + +RUN npm install -g xo@0.24.0 + +# Cleanup +RUN rm -fr /root/.npm /node_modules + +WORKDIR /src + +ENTRYPOINT ["/usr/local/bin/xo"] diff --git a/linting/js/eslintrc.yml b/linting/js/eslintrc.yml new file mode 100644 index 0000000..4f337a4 --- /dev/null +++ b/linting/js/eslintrc.yml @@ -0,0 +1,6 @@ +rules: + quotes: + - error + - double + unicorn/prefer-query-selector: off + no-negated-condition: off From 531470932edbb70f0ea7e6f7bc239c9cdec1c9cd Mon Sep 17 00:00:00 2001 From: Greenscreener Date: Fri, 19 Jul 2019 12:07:22 +0200 Subject: [PATCH 3/6] Added an html linter. It doesn't produce any errors. Either the code is flawless, or the linting doesn't actually happen. --- docker-compose.yml | 6 +++++- linting/js/Dockerfile | 2 ++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index d2e36a6..40240bf 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -8,5 +8,9 @@ services: volumes: - ./themes/patek/assets/js:/src:ro - ./linting/js/eslintrc.yml:/eslintrc.yml - + xo-html-lint: + image: patek-devs/eslint-xo + command: \*.html --plugin=html --extension=html + volumes: + - ./:/src:ro diff --git a/linting/js/Dockerfile b/linting/js/Dockerfile index 1c2e7b7..7ee0de1 100644 --- a/linting/js/Dockerfile +++ b/linting/js/Dockerfile @@ -12,6 +12,8 @@ RUN npm install npm@5.3 && \ RUN npm install -g xo@0.24.0 +RUN npm install -g eslint-plugin-html@6.0.0 + # Cleanup RUN rm -fr /root/.npm /node_modules From 5ed936d5f44f390281b877354e2cb18e11b96dab Mon Sep 17 00:00:00 2001 From: Greenscreener Date: Fri, 19 Jul 2019 12:34:39 +0200 Subject: [PATCH 4/6] Added sass linting. --- docker-compose.yml | 13 ++++++++++--- linting/sass/Dockerfile | 17 +++++++++++++++++ linting/sass/sass-lint.yml | 3 +++ 3 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 linting/sass/Dockerfile create mode 100644 linting/sass/sass-lint.yml diff --git a/docker-compose.yml b/docker-compose.yml index 40240bf..f58ccdc 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,14 +3,21 @@ version: '2' services: xo-js-lint: build: linting/js - image: patek-devs/eslint-xo + image: patek-devs/xo command: . --env=browser --extend=/eslintrc.yml volumes: - ./themes/patek/assets/js:/src:ro - - ./linting/js/eslintrc.yml:/eslintrc.yml + - ./linting/js/eslintrc.yml:/eslintrc.yml:ro xo-html-lint: - image: patek-devs/eslint-xo + image: patek-devs/xo command: \*.html --plugin=html --extension=html volumes: - ./:/src:ro + sass-lint: + build: linting/sass + image: patek-devs/sass-lint + command: ./**/*.scss --config /sass-lint.yml + volumes: + - ./themes/patek/assets/css:/src:ro + - ./linting/sass/sass-lint.yml:/sass-lint.yml:ro diff --git a/linting/sass/Dockerfile b/linting/sass/Dockerfile new file mode 100644 index 0000000..4703d9f --- /dev/null +++ b/linting/sass/Dockerfile @@ -0,0 +1,17 @@ +FROM node:12-alpine + +RUN mkdir /src + +RUN npm install npm@5.3 && \ + rm -rf /usr/local/lib/node_modules/npm && \ + mv /node_modules/npm /usr/local/lib/node_modules + +RUN npm install -g sass-lint + +# Cleanup +RUN rm -fr /root/.npm /node_modules + +WORKDIR /src + +ENTRYPOINT ["/usr/local/bin/sass-lint"] + diff --git a/linting/sass/sass-lint.yml b/linting/sass/sass-lint.yml new file mode 100644 index 0000000..5c05377 --- /dev/null +++ b/linting/sass/sass-lint.yml @@ -0,0 +1,3 @@ +files: + ignore: + - 'bulma/**/*.*' From 8331f0a717a24680b4487232b4baf2ade5885dc0 Mon Sep 17 00:00:00 2001 From: Greenscreener Date: Fri, 19 Jul 2019 13:09:11 +0200 Subject: [PATCH 5/6] Added linting to .gitlab-ci.yml --- .gitlab-ci.yml | 31 +++++++++++++++++++++++++------ 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0a90909..1540ed7 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,13 +1,27 @@ variables: GIT_SUBMODULE_STRATEGY: recursive -image: - name: klakegg/hugo:0.55.6-ext-alpine - entrypoint: - - /bin/sh - - "-c" - +lint: + image: + name: docker/compose:1.24.1 + entrypoint: + - /bin/sh + - "-c" + services: + - docker:dind + variables: + DOCKER_HOST: "tcp://docker:2375/" + DOCKER_DRIVER: overlay2 + script: + - docker-compose run xo-js-lint + - docker-compose run xo-html-lint + - docker-compose run sass-lint build: + image: + name: klakegg/hugo:0.55.6-ext-alpine + entrypoint: + - /bin/sh + - "-c" script: - hugo --minify artifacts: @@ -18,6 +32,11 @@ build: - master test: + image: + name: klakegg/hugo:0.55.6-ext-alpine + entrypoint: + - /bin/sh + - "-c" script: - hugo_output=$(hugo --path-warnings --i18n-warnings) - echo "$hugo_output" From 111761f86a78cfd537005b9a35ad82160376a6f6 Mon Sep 17 00:00:00 2001 From: Greenscreener Date: Fri, 19 Jul 2019 14:18:15 +0200 Subject: [PATCH 6/6] Added Makefile for local linting and checking. --- Makefile | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 Makefile diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..51fbddf --- /dev/null +++ b/Makefile @@ -0,0 +1,13 @@ +lint: + docker-compose run xo-js-lint + docker-compose run xo-html-lint + docker-compose run sass-lint + +build: + docker-compose run xo-js-lint + docker-compose run xo-html-lint + docker-compose run sass-lint + hugo + +serve: + hugo server &