summaryrefslogtreecommitdiff
path: root/.gitlab/ci/static-analysis.gitlab-ci.yml
diff options
context:
space:
mode:
Diffstat (limited to '.gitlab/ci/static-analysis.gitlab-ci.yml')
-rw-r--r--.gitlab/ci/static-analysis.gitlab-ci.yml92
1 files changed, 78 insertions, 14 deletions
diff --git a/.gitlab/ci/static-analysis.gitlab-ci.yml b/.gitlab/ci/static-analysis.gitlab-ci.yml
index 85df68e9030..ebd223c4171 100644
--- a/.gitlab/ci/static-analysis.gitlab-ci.yml
+++ b/.gitlab/ci/static-analysis.gitlab-ci.yml
@@ -2,7 +2,7 @@
extends:
- .default-retry
- .default-before_script
- - .static-analysis-cache
+ stage: lint
needs: []
variables:
SETUP_DB: "false"
@@ -14,7 +14,7 @@
update-static-analysis-cache:
extends:
- .static-analysis-base
- - .static-analysis-cache-push
+ - .rubocop-job-cache-push
- .shared:rules:update-cache
stage: prepare
script:
@@ -23,31 +23,95 @@ update-static-analysis-cache:
static-analysis:
extends:
- .static-analysis-base
+ - .static-analysis-cache
- .static-analysis:rules:ee-and-foss
- stage: test
- parallel: 4
+ parallel: 2
script:
- run_timed_command "retry yarn install --frozen-lockfile"
- scripts/static-analysis
- artifacts:
- expire_in: 31d
- when: always
- paths:
- - tmp/feature_flags/
-static-analysis-with-database:
+static-analysis as-if-foss:
+ extends:
+ - static-analysis
+ - .static-analysis:rules:as-if-foss
+ - .as-if-foss
+
+static-verification-with-database:
extends:
- .static-analysis-base
+ - .rubocop-job-cache
- .static-analysis:rules:ee-and-foss
- .use-pg12
- stage: test
script:
- bundle exec rake lint:static_verification_with_database
variables:
SETUP_DB: "true"
-static-analysis as-if-foss:
+eslint:
extends:
- - static-analysis
- - .static-analysis:rules:as-if-foss
+ - .static-analysis-base
+ - .yarn-cache
+ - .static-analysis:rules:ee
+ needs: []
+ variables:
+ USE_BUNDLE_INSTALL: "false"
+ script:
+ - run_timed_command "retry yarn install --frozen-lockfile"
+ - run_timed_command "yarn run lint:eslint:all"
+
+eslint as-if-foss:
+ extends:
+ - eslint
+ - .frontend:rules:eslint-as-if-foss
- .as-if-foss
+
+haml-lint foss:
+ extends:
+ - .static-analysis-base
+ - .ruby-cache
+ - .static-analysis:rules:ee-and-foss
+ script:
+ - run_timed_command "bin/rake 'haml_lint[app/views]'"
+ artifacts:
+ expire_in: 31d
+ when: always
+ paths:
+ - tmp/feature_flags/
+
+haml-lint ee:
+ extends:
+ - "haml-lint foss"
+ - .static-analysis:rules:ee
+ script:
+ - run_timed_command "bin/rake 'haml_lint[ee/app/views]'"
+
+rubocop:
+ extends:
+ - .static-analysis-base
+ - .rubocop-job-cache
+ - .static-analysis:rules:ee-and-foss
+ script:
+ - run_timed_command "bundle exec rubocop --parallel"
+
+qa:testcases:
+ extends:
+ - .static-analysis-base
+ - .rubocop-job-cache
+ - .static-analysis:rules:ee-and-foss
+ script:
+ - run_timed_command "bundle exec rubocop qa/qa/specs/features/**/* --only QA/DuplicateTestcaseLink"
+
+feature-flags-usage:
+ extends:
+ - .static-analysis-base
+ - .rubocop-job-cache
+ - .static-analysis:rules:ee-and-foss
+ script:
+ # We need to disable the cache for this cop since it creates files under tmp/feature_flags/*.used,
+ # the cache would prevent these files from being created.
+ - run_timed_command "bundle exec rubocop --only Gitlab/MarkUsedFeatureFlags --cache false"
+ artifacts:
+ expire_in: 31d
+ when: always
+ paths:
+ - tmp/feature_flags/