117 lines
2.9 KiB
YAML
117 lines
2.9 KiB
YAML
.static-analysis-base:
|
|
extends:
|
|
- .default-retry
|
|
- .default-before_script
|
|
stage: lint
|
|
needs: []
|
|
variables:
|
|
SETUP_DB: "false"
|
|
ENABLE_SPRING: "1"
|
|
# Disable warnings in browserslist which can break on backports
|
|
# https://github.com/browserslist/browserslist/blob/a287ec6/node.js#L367-L384
|
|
BROWSERSLIST_IGNORE_OLD_DATA: "true"
|
|
|
|
update-static-analysis-cache:
|
|
extends:
|
|
- .static-analysis-base
|
|
- .rubocop-job-cache-push
|
|
- .shared:rules:update-cache
|
|
stage: prepare
|
|
script:
|
|
- run_timed_command "bundle exec rubocop --parallel" # For the moment we only cache `tmp/rubocop_cache` so we don't need to run all the tasks.
|
|
|
|
static-analysis:
|
|
extends:
|
|
- .static-analysis-base
|
|
- .static-analysis-cache
|
|
- .static-analysis:rules:ee-and-foss
|
|
parallel: 2
|
|
script:
|
|
- run_timed_command "retry yarn install --frozen-lockfile"
|
|
- scripts/static-analysis
|
|
|
|
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
|
|
script:
|
|
- bundle exec rake lint:static_verification_with_database
|
|
variables:
|
|
SETUP_DB: "true"
|
|
|
|
eslint:
|
|
extends:
|
|
- .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/
|