From ecf608ead8185f2e4cf0142a8e591377bc149d9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Sat, 14 Sep 2019 01:55:58 +0200 Subject: [PATCH] Revert "ci: Import run-eslint script from gnome-shell" Filtering errors by changed lines in a merge request means some errors can slip through, for example when an import becomes unused but isn't removed. That's more common than rules changing behind our back, so revert to running eslint directly again. This reverts commit 119da3291bc149d14acf4a30e261a97ae55ab1f0. --- .gitlab-ci.yml | 7 ++-- .gitlab-ci/run-eslint.sh | 78 ---------------------------------------- 2 files changed, 5 insertions(+), 80 deletions(-) delete mode 100755 .gitlab-ci/run-eslint.sh diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b008266f..8f6b13ab 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,6 +3,9 @@ stages: - source_check - build +variables: + LINT_LOG: "eslint-report.txt" + .only_default: &only_default only: - branches @@ -21,11 +24,11 @@ eslint: image: registry.gitlab.gnome.org/gnome/gnome-shell/extension-ci:v1 stage: source_check script: - - ./.gitlab-ci/run-eslint.sh + - eslint -o $LINT_LOG --no-color || { cat $LINT_LOG; false; } <<: *only_default artifacts: paths: - - reports + - ${LINT_LOG} when: on_failure build-shell-extensions: diff --git a/.gitlab-ci/run-eslint.sh b/.gitlab-ci/run-eslint.sh deleted file mode 100755 index a5cb2041..00000000 --- a/.gitlab-ci/run-eslint.sh +++ /dev/null @@ -1,78 +0,0 @@ -#!/usr/bin/env bash - -OUTPUT_REGULAR=reports/lint-report.txt -OUTPUT_MR=reports/lint-mr-report.txt - -SRCDIR=extensions - -LINE_CHANGES=changed-lines.txt - -is_empty() { - (! grep -q . $1) -} - -run_eslint() { - # ensure output exists even if eslint doesn't report any errors - mkdir -p $(dirname $OUTPUT_REGULAR) - touch $OUTPUT_REGULAR - - eslint -f unix -o $OUTPUT_REGULAR $SRCDIR -} - -list_commit_range_additions() { - # Turn raw context-less git-diff into a list of - # filename:lineno pairs of new (+) lines - git diff -U0 "$@" -- js | - awk ' - BEGIN { file=""; } - /^+++ b/ { file=substr($0,7); } - /^@@ / { - len = split($3,a,",") - start=a[1] - count=(len > 1) ? a[2] : 1 - - for (line=start; line $target - for l in $(<$matches); do - grep $l $source >> $target - done -} - -# Clean up old files from previous runs -rm -f $OUTPUT_REGULAR $OUTPUT_MR $LINE_CHANGES - -if [ "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" ]; then - git fetch $CI_MERGE_REQUEST_PROJECT_URL.git $CI_MERGE_REQUEST_TARGET_BRANCH_NAME - branch_point=$(git merge-base HEAD FETCH_HEAD) - commit_range=$branch_point...$CI_COMMIT_SHA - - list_commit_range_additions $commit_range > $LINE_CHANGES - - # Don't bother with running lint when no JS changed - if is_empty $LINE_CHANGES; then - exit 0 - fi -fi - -echo Generating lint report -run_eslint -echo Done. - -# Just show the report and succeed when not testing a MR -if [ -z "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" ]; then - cat $OUTPUT_REGULAR - exit 0 -fi - -copy_matched_lines $OUTPUT_REGULAR $LINE_CHANGES $OUTPUT_MR -cat $OUTPUT_MR -is_empty $OUTPUT_MR