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 119da3291b.
This commit is contained in:
Florian Müllner
2019-09-14 01:55:58 +02:00
parent 4ad50ab035
commit ecf608ead8
2 changed files with 5 additions and 80 deletions
+5 -2
View File
@@ -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:
-78
View File
@@ -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<start+count; line++)
printf "%s/%s:%d:\n",ENVIRON["PWD"],file,line;
}'
}
copy_matched_lines() {
local source=$1
local matches=$2
local target=$3
echo -n > $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