diff options
Diffstat (limited to '.gitlab/ci/static-analysis.gitlab-ci.yml')
-rw-r--r-- | .gitlab/ci/static-analysis.gitlab-ci.yml | 92 |
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/ |