Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
heptapod
heptapod
Commits
28807b61aad7
Commit
aca8e673
authored
Nov 26, 2021
by
Georges Racinet
🦑
Browse files
#582
: making Heptapod 0.27 the stable series
--HG-- branch : heptapod-stable
parents
2efecbbe8931
d96a5561c300
Pipeline
#29614
canceled with stages
in 37 minutes and 4 seconds
Changes
1000
Pipelines
3
Hide whitespace changes
Inline
Side-by-side
Too many changes to show.
To preserve performance only
1000 of 1000+
files are displayed.
Plain diff
Email patch
.codeclimate.yml
View file @
28807b61
...
...
@@ -36,6 +36,5 @@ exclude_paths:
-
webpack-report/
-
log/
-
backups/
-
coverage-javascript/
-
plugins/
-
file_hooks/
.eslintignore
View file @
28807b61
...
...
@@ -2,7 +2,6 @@
/builds/
/coverage/
/coverage-frontend/
/coverage-javascript/
/node_modules/
/public/
/tmp/
...
...
.eslintrc.yml
View file @
28807b61
...
...
@@ -88,7 +88,7 @@ rules:
-
pattern
:
test_fixtures/**
group
:
internal
alphabetize
:
order
:
asc
order
:
ignore
overrides
:
-
files
:
-
'
**/spec/**/*'
...
...
@@ -100,6 +100,8 @@ overrides:
-
'
scripts/**/*'
-
'
*.config.js'
-
'
*.config.*.js'
-
'
jest_resolver.js'
-
storybook/config/*.js
rules
:
'
@gitlab/require-i18n-strings'
:
off
import/no-extraneous-dependencies
:
off
...
...
.gitignore
View file @
28807b61
...
...
@@ -3,6 +3,7 @@
*.mo
*.edit.po
*.rej
.dir-locals.el
.DS_Store
.bundle
.chef
...
...
@@ -39,17 +40,13 @@ eslint-report.html
/config/initializers/smtp_settings.rb
/config/initializers/relative_url.rb
/config/resque.yml
/config/redis.cache.yml
/config/redis.queues.yml
/config/redis.shared_state.yml
/config/redis.trace_chunks.yml
/config/redis.*.yml
/config/unicorn.rb
/config/puma.rb
/config/secrets.yml
/config/sidekiq.yml
/config/registry.key
/coverage/*
/coverage-javascript/
/db/*.sqlite3
/db/*.sqlite3-journal
/db/data.yml
...
...
.gitlab-ci.yml
View file @
28807b61
...
...
@@ -5,9 +5,7 @@ stages:
-
fixtures
-
test
-
post-test
-
review-prepare
-
review
-
dast
-
qa
-
post-qa
-
pages
...
...
@@ -17,7 +15,7 @@ stages:
# in cases where jobs require Docker-in-Docker, the job
# definition must be extended with `.use-docker-in-docker`
default
:
image
:
"
registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.
2.
patched-golang-1.1
4
-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36"
image
:
"
registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.patched-golang-1.1
6
-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36"
tags
:
-
gitlab-org
# All jobs are interruptible by default
...
...
@@ -89,11 +87,12 @@ variables:
REVIEW_APPS_GCP_REGION
:
"
us-central1"
BUILD_ASSETS_IMAGE
:
"
true"
# Set it to "false" to disable assets image building, used in `build-assets-image`
RSPEC_FAIL_FAST_ENABLED
:
"
true"
# Set it to "false" to disable RSpec fail-fast
SIMPLECOV
:
"
true"
# For the default QA image, we use $CI_COMMIT_SHA as tag since it's always available and we override it for specific workflow.rules (see above)
QA_IMAGE
:
"
${CI_REGISTRY}/${CI_PROJECT_PATH}/gitlab-ee-qa:${CI_COMMIT_SHA}"
# Default latest tag for particular branch
QA_IMAGE_BRANCH
:
"
${CI_REGISTRY}/${CI_PROJECT_PATH}/gitlab-ee-qa:${CI_COMMIT_REF_SLUG}"
# Preparing custom clone path to reduce space used by all random forks
# on GitLab.com's Shared Runners. Our main forks - especially the security
...
...
.gitlab/CODEOWNERS
View file @
28807b61
...
...
@@ -11,41 +11,44 @@
/doc/.markdownlint @marcel.amirault @eread @aqualls @cnorris
/doc/ @gl-docsteam
/doc/.vale/ @marcel.amirault @eread @aqualls @cnorris
/doc/administration/geo/ @
axil
/doc/administration/geo/ @
marcel.amirault
/doc/administration/gitaly/ @eread
/doc/administration/integration/ @aqualls
/doc/administration/lfs/ @aqualls
/doc/administration/monitoring/ @ngaskill
/doc/administration/operations/ @
axil
@eread @marcia
/doc/administration/operations/ @
marcel.amirault
@eread @marcia
/doc/administration/packages/ @ngaskill
/doc/administration/pages/ @
axil
@kpaizee
/doc/administration/pages/ @
rdickenson
@kpaizee
/doc/administration/postgresql/ @marcia
/doc/administration/raketasks/ @
axil
@eread
/doc/administration/redis/ @
axil
/doc/administration/reference_architectures/ @
axil
/doc/administration/raketasks/ @
marcel.amirault
@eread
/doc/administration/redis/ @
marcel.amirault
/doc/administration/reference_architectures/ @
marcel.amirault
/doc/administration/snippets/ @aqualls
/doc/administration/troubleshooting @axil @marcia @eread
/doc/administration/troubleshooting @marcel.amirault @marcia @eread
/doc/api/graphql/ @msedlakjakubowski @kpaizee
/doc/api/graphql/reference/ @kpaizee
/doc/api/group_activity_analytics.md @msedlakjakubowski
/doc/ci/ @marcel.amirault @sselhorn
/doc/ci/environments/ @
axil
/doc/ci/environments/ @
rdickenson
/doc/ci/services/ @sselhorn
/doc/ci/test_cases/ @msedlakjakubowski
/doc/development/ @marcia
/doc/development/documentation/ @cnorris
/doc/development/documentation/ @cnorris
@dianalogan
/doc/development/i18n/ @ngaskill
/doc/development/value_stream_analytics.md @msedlakjakubowski
/doc/gitlab-basics/ @marcia
/doc/install/ @axil
/doc/integration/ @aqualls @eread
/doc/operations/ @ngaskill @axil
/doc/gitlab-basics/ @aqualls
/doc/install/ @marcel.amirault
/doc/operations/ @ngaskill @rdickenson
/doc/push_rules/ @aqualls
/doc/security/ @eread
/doc/ssh/ @eread
/doc/subscriptions/ @sselhorn
/doc/topics/autodevops/
@ngaskill
@marcia
/doc/topics/autodevops/ @marcia
/doc/topics/git/ @aqualls
/doc/update/ @
axil
@marcia
/doc/update/ @
marcel.amirault
@marcia
/doc/user/analytics/ @msedlakjakubowski @ngaskill
/doc/user/application_security @rdickenson
/doc/user/application_security/ @rdickenson
/doc/user/application_security/container_scanning/ @ngaskill
/doc/user/application_security/cluster_image_scanning/ @ngaskill
/doc/user/clusters/ @marcia
/doc/user/compliance/ @rdickenson @eread
/doc/user/group/ @msedlakjakubowski
...
...
@@ -57,16 +60,16 @@
/doc/user/group/value_stream_analytics/ @msedlakjakubowski
/doc/user/infrastructure/ @marcia
/doc/user/packages/ @ngaskill
/doc/user/packages/infrastructure_registry/ @marcia
/doc/user/packages/terraform_module_registry/ @marcia
/doc/user/profile/ @msedlakjakubowski @eread
/doc/user/project/ @aqualls @
axil
@eread @msedlakjakubowski @ngaskill
/doc/user/project/clusters/ @
ngaskill
/doc/user/project/ @aqualls @
rdickenson
@eread @msedlakjakubowski @ngaskill
/doc/user/project/clusters/ @
marcia
/doc/user/project/import/ @ngaskill @msedlakjakubowski
/doc/user/project/integrations/ @aqualls
/doc/user/project/integrations/prometheus_library/ @ngaskill
/doc/user/project/issues/ @msedlakjakubowski
/doc/user/project/merge_requests/ @aqualls @eread
/doc/user/project/milestones/ @msedlakjakubowski
/doc/user/project/pages/ @
axil
/doc/user/project/pages/ @
rdickenson
/doc/user/project/repository/ @aqualls
/doc/user/project/settings/ @aqualls @eread
/doc/user/project/static_site_editor/index.md @aqualls
...
...
@@ -138,13 +141,19 @@
/doc/user/project/settings/import_export.md @aqualls
/doc/user/snippets.md @aqualls
[Docs Ecosystem]
/doc/administration/integration/ @kpaizee
/doc/integration/ @kpaizee
/doc/user/project/integrations/ @kpaizee
/doc/user/project/integrations/prometheus_library/ @ngaskill
[Docs Growth]
/doc/administration/instance_review.md @kpaizee
/doc/api/invitations.md @kpaizee
/doc/api/experiments.md @kpaizee
/doc/development/experiment_guide/ @kpaizee
/doc/development/snowplow/ @
kpaizee
/doc/development/service_ping/ @
kpaizee
/doc/development/snowplow/ @
fneill
/doc/development/service_ping/ @
fneill
/doc/user/admin_area/license.md @kpaizee
[Frontend]
...
...
@@ -152,8 +161,6 @@
*.js @gitlab-org/maintainers/frontend
/app/assets/ @gitlab-org/maintainers/frontend
/ee/app/assets/ @gitlab-org/maintainers/frontend
/spec/javascripts/ @gitlab-org/maintainers/frontend
/ee/spec/javascripts/ @gitlab-org/maintainers/frontend
/spec/frontend/ @gitlab-org/maintainers/frontend
/ee/spec/frontend/ @gitlab-org/maintainers/frontend
/spec/frontend_integration/ @gitlab-org/maintainers/frontend
...
...
@@ -201,9 +208,9 @@ Dangerfile @gl-quality/eng-prod
/lib/gitlab/auth/ldap/ @dblessing @mkozono
[Templates]
/lib/gitlab/ci/templates/ @
nolith @shinya.maeda @matteeyah
/lib/gitlab/ci/templates/ @
gitlab-org/maintainers/cicd-templates
/lib/gitlab/ci/templates/Auto-DevOps.gitlab-ci.yml @DylanGriffith @mayra-cabrera @tkuah
/lib/gitlab/ci/templates/Security/ @gonzoyumo @twoodham @sethgitlab @thiagocsf
/lib/gitlab/ci/templates/Security/ @gonzoyumo @twoodham @sethgitlab @thiagocsf
/lib/gitlab/ci/templates/Security/Container-Scanning.*.yml @gitlab-org/protect/container-security-backend
[Project Alias]
...
...
@@ -235,7 +242,7 @@ Dangerfile @gl-quality/eng-prod
/ee/lib/gitlab/ci/reports/dependency_list/ @gitlab-org/secure/composition-analysis-be
/ee/lib/gitlab/ci/reports/license_scanning/ @gitlab-org/secure/composition-analysis-be
/ee/lib/gitlab/ci/reports/security/ @gitlab-org/secure/composition-analysis-be @gitlab-org/secure/dynamic-analysis-be @gitlab-org/secure/static-analysis-be @gitlab-org/secure/fuzzing-be
/ee/app/services/
ci/run_dast_scan_service.rb
@gitlab-org/secure/dynamic-analysis-be
/ee/app/services/
app_sec/dast/
@gitlab-org/secure/dynamic-analysis-be
[Container Security]
/ee/app/views/projects/threat_monitoring/** @gitlab-org/protect/container-security-frontend
...
...
.gitlab/changelog_config.yml
View file @
28807b61
...
...
@@ -11,6 +11,8 @@ categories:
security
:
Security
performance
:
Performance
other
:
Other
include_groups
:
-
gitlab-org/gitlab-core-team/community-members
template
:
|
{% if categories %}
{% each categories %}
...
...
@@ -18,7 +20,7 @@ template: |
{% each entries %}
- [{{ title }}]({{ commit.reference }})\
{% if author.c
ontributor
%} by {{ author.reference }}{% end %}\
{% if author.c
redit
%} by {{ author.reference }}{% end %}\
{% if commit.trailers.MR %}\
([merge request]({{ commit.trailers.MR }}))\
{% else %}\
...
...
.gitlab/ci/build-images.gitlab-ci.yml
View file @
28807b61
...
...
@@ -28,7 +28,8 @@ build-qa-image:
script
:
-
!reference
[
.base-image-build
,
script
]
-
echo $QA_IMAGE
-
/kaniko/executor --context=${CI_PROJECT_DIR} --dockerfile=${CI_PROJECT_DIR}/qa/Dockerfile --destination=${QA_IMAGE} --cache=true
-
echo $QA_IMAGE_BRANCH
-
/kaniko/executor --context=${CI_PROJECT_DIR} --dockerfile=${CI_PROJECT_DIR}/qa/Dockerfile --destination=${QA_IMAGE} --destination=${QA_IMAGE_BRANCH} --cache=true
# This image is used by:
# - The `CNG` pipelines (via the `review-build-cng` job): https://gitlab.com/gitlab-org/build/CNG/-/blob/cfc67136d711e1c8c409bf8e57427a644393da2f/.gitlab-ci.yml#L335
...
...
.gitlab/ci/dast.gitlab-ci.yml
deleted
100644 → 0
View file @
2efecbbe
.dast_conf
:
tags
:
-
prm
# For scheduling dast job
extends
:
-
.reports:rules:schedule-dast
image
:
name
:
"
registry.gitlab.com/gitlab-org/security-products/dast:$DAST_VERSION"
resource_group
:
dast_scan
variables
:
DAST_USERNAME_FIELD
:
"
user[login]"
DAST_PASSWORD_FIELD
:
"
user[password]"
DAST_FULL_SCAN_ENABLED
:
"
true"
DAST_SPIDER_MINS
:
0
# TBD pin to a version
DAST_VERSION
:
1.22.1
# -Xmx is used to set the JVM memory to 6GB to prevent DAST OutOfMemoryError.
DAST_ZAP_CLI_OPTIONS
:
"
-Xmx6144m"
DAST_RULES
:
"
41,42,43,10027,10032,10041,10042,10045,10047,10052,10053,10057,10061,10096,10097,10104,10106,20012,20014,20015,20016,20017,20018,40019,40020,40021,40024,40025,40027,40029,40032,90001,90019,10109,10026,10028,10029,10030,10031,10033,10034,10035,10036,10038,10039,10043,10044,10048,10050,10051,10058,10062,10095,10107,10108,30003,40013,40022,40023,40028,90021,90023,90024,90025,90027,90028,10003,50003,0,2,3,6,7,10010,10011,10015,10017,10019,10020,10021,10023,10024,10025,10037,10040,10054,10055,10056,10098,10105,10202,20019,30001,30002,40003,40008,40009,40012,40014,40016,40017,40018,50000,50001,90011,90020,90022,90033"
before_script
:
-
'
export
DAST_WEBSITE="${DAST_WEBSITE:-$(cat
environment_url.txt)}"'
-
'
export
DAST_AUTH_URL="${DAST_WEBSITE}/users/sign_in"'
-
'
export
DAST_PASSWORD="${REVIEW_APPS_ROOT_PASSWORD}"'
# Below three lines can be removed once https://gitlab.com/gitlab-org/gitlab/-/issues/230687 is fixed
-
mkdir -p /zap/xml
-
'
sed
-i
"84
s/true/false/"
/zap/xml/config.xml'
-
cat /zap/xml/config.xml
# Help pages are excluded from scan as they are static pages.
# profile/two_factor_auth is excluded from scan to prevent 2FA from being turned on from user profile, which will reduce coverage.
-
'
export
DAST_AUTH_EXCLUDE_URLS="${DAST_WEBSITE}/help/.*,${DAST_WEBSITE}/profile/two_factor_auth,${DAST_WEBSITE}/users/sign_out"'
# Exclude the automatically generated monitoring project from being tested due to https://gitlab.com/gitlab-org/gitlab/-/issues/260362
-
'
DAST_AUTH_EXCLUDE_URLS="${DAST_AUTH_EXCLUDE_URLS},https://.*\.gitlab-review\.app/gitlab-instance-(administrators-)?[a-zA-Z0-9]{8}/.*"'
-
enable_rule () { read all_rules; rule=$1; echo $all_rules | sed -r "s/(,)?$rule(,)?/\1-1\2/" ; }
# Sort ids in DAST_RULES ascendingly, which is required when using DAST_RULES as argument to enable_rule
-
'
DAST_RULES=$(echo
$DAST_RULES
|
tr
","
"\n"
|
sort
-n
|
paste
-sd
",")'
needs
:
[
"
review-deploy"
]
stage
:
dast
# Default job timeout set to 90m and dast rules needs 2h to so that it won't timeout.
timeout
:
2h
# Add retry because of intermittent connection problems. See https://gitlab.com/gitlab-org/gitlab/-/issues/244313
retry
:
1
artifacts
:
paths
:
-
gl-dast-report.json
# GitLab-specific
reports
:
dast
:
gl-dast-report.json
expire_in
:
1 week
# GitLab-specific
# DAST scan with a subset of Release scan rules.
DAST-fullscan-ruleset1
:
extends
:
-
.dast_conf
variables
:
DAST_USERNAME
:
"
user1"
script
:
-
export DAST_EXCLUDE_RULES=$(echo $DAST_RULES | enable_rule 10019 | enable_rule 10020 | enable_rule 10021 | enable_rule 10023 | enable_rule 10024 | enable_rule 10025 | enable_rule 10037 | enable_rule 10040 | enable_rule 10054 | enable_rule 10055 | enable_rule 10056)
-
echo $DAST_EXCLUDE_RULES
-
/analyze -t $DAST_WEBSITE -d
# DAST scan with a subset of Release scan rules.
DAST-fullscan-ruleset2
:
extends
:
-
.dast_conf
variables
:
DAST_USERNAME
:
"
user2"
script
:
-
export DAST_EXCLUDE_RULES=$(echo $DAST_RULES | enable_rule 90011 | enable_rule 90020 | enable_rule 90022 | enable_rule 90033)
-
echo $DAST_EXCLUDE_RULES
-
/analyze -t $DAST_WEBSITE -d
# DAST scan with a subset of Release scan rules.
DAST-fullscan-ruleset3
:
extends
:
-
.dast_conf
variables
:
DAST_USERNAME
:
"
user3"
script
:
-
export DAST_EXCLUDE_RULES=$(echo $DAST_RULES | enable_rule 40016 | enable_rule 40017 | enable_rule 50000 | enable_rule 50001)
-
echo $DAST_EXCLUDE_RULES
-
/analyze -t $DAST_WEBSITE -d
# DAST scan with a subset of Release scan rules.
DAST-fullscan-ruleset4
:
extends
:
-
.dast_conf
variables
:
DAST_USERNAME
:
"
user4"
script
:
-
export DAST_EXCLUDE_RULES=$(echo $DAST_RULES | enable_rule 0 | enable_rule 2 | enable_rule 3 | enable_rule 7 )
-
echo $DAST_EXCLUDE_RULES
-
/analyze -t $DAST_WEBSITE -d
# DAST scan with a subset of Release scan rules.
DAST-fullscan-ruleset5
:
extends
:
-
.dast_conf
variables
:
DAST_USERNAME
:
"
user5"
script
:
-
export DAST_EXCLUDE_RULES=$(echo $DAST_RULES | enable_rule 10010 | enable_rule 10011 | enable_rule 10017 | enable_rule 10019)
-
echo $DAST_EXCLUDE_RULES
-
/analyze -t $DAST_WEBSITE -d
# DAST scan with a subset of Release scan rules.
DAST-fullscan-ruleset6
:
extends
:
-
.dast_conf
variables
:
DAST_USERNAME
:
"
user6"
script
:
-
export DAST_EXCLUDE_RULES=$(echo $DAST_RULES | enable_rule 30001 | enable_rule 40009)
-
echo $DAST_EXCLUDE_RULES
-
/analyze -t $DAST_WEBSITE -d
# Enable when https://gitlab.com/gitlab-org/gitlab/-/merge_requests/39749 is fixed
# DAST scan with a subset of Beta scan rules.
# DAST-fullscan-ruleset7:
# extends:
# - .dast_conf
# variables:
# DAST_USERNAME: "user7"
# script:
# - export DAST_EXCLUDE_RULES=$(echo $DAST_RULES | enable_rule 10098 | enable_rule 10105 | enable_rule 10202 | enable_rule 30002 | enable_rule 40003 | enable_rule 40008 | enable_rule 40009)
# - echo $DAST_EXCLUDE_RULES
# - /analyze -t $DAST_WEBSITE -d
# Enable when https://gitlab.com/gitlab-org/gitlab/-/merge_requests/39749 is fixed
# Below jobs runs DAST scans with one time consuming scan rule. These scan rules are disabled in above jobs so that those jobs won't timeout.
# DAST scan with rule - 20019 External Redirect
# DAST-fullscan-rule-20019:
# extends:
# - .dast_conf
# variables:
# DAST_USERNAME: "user8"
# script:
# - export DAST_EXCLUDE_RULES=$(echo $DAST_RULES | enable_rule 20019)
# - echo $DAST_EXCLUDE_RULES
# - /analyze -t $DAST_WEBSITE -d
# Enable when https://gitlab.com/gitlab-org/gitlab/-/merge_requests/39749 is fixed
# DAST scan with rule - 10107 Httpoxy - Proxy Header Misuse - Active/beta
# DAST-fullscan-rule-10107:
# extends:
# - .dast_conf
# variables:
# DAST_USERNAME: "user9"
# script:
# - export DAST_EXCLUDE_RULES=$(echo $DAST_RULES | enable_rule 10107)
# - echo $DAST_EXCLUDE_RULES
# - /analyze -t $DAST_WEBSITE -d
# DAST scan with rule - 90020 Remote OS Command Injection
DAST-fullscan-rule-90020
:
extends
:
-
.dast_conf
variables
:
DAST_USERNAME
:
"
user10"
script
:
-
export DAST_EXCLUDE_RULES=$(echo $DAST_RULES | enable_rule 90020)
-
echo $DAST_EXCLUDE_RULES
-
/analyze -t $DAST_WEBSITE -d
# DAST scan with rule - 40018 SQL Injection - Active/release
DAST-fullscan-rule-40018
:
extends
:
-
.dast_conf
variables
:
DAST_USERNAME
:
"
user11"
script
:
-
export DAST_EXCLUDE_RULES=$(echo $DAST_RULES | enable_rule 40018)
-
echo $DAST_EXCLUDE_RULES
-
/analyze -t $DAST_WEBSITE -d
# DAST scan with rule - 40014 Cross Site Scripting (Persistent) - Active/release
DAST-fullscan-rule-40014
:
extends
:
-
.dast_conf
variables
:
DAST_USERNAME
:
"
user12"
script
:
-
export DAST_EXCLUDE_RULES=$(echo $DAST_RULES | enable_rule 40014)
-
echo $DAST_EXCLUDE_RULES
-
/analyze -t $DAST_WEBSITE -d
# DAST scan with rule - 6 Path travesal
DAST-fullscan-rule-6
:
extends
:
-
.dast_conf
variables
:
DAST_USERNAME
:
"
user13"
script
:
-
export DAST_EXCLUDE_RULES=$(echo $DAST_RULES | enable_rule 6)
-
echo $DAST_EXCLUDE_RULES
-
/analyze -t $DAST_WEBSITE -d
# DAST scan with rule - 40012 Cross Site Scripting (Reflected)
DAST-fullscan-rule-40012
:
extends
:
-
.dast_conf
variables
:
DAST_USERNAME
:
"
user14"
script
:
-
export DAST_EXCLUDE_RULES=$(echo $DAST_RULES | enable_rule 40012)
-
echo $DAST_EXCLUDE_RULES
-
/analyze -t $DAST_WEBSITE -d
.gitlab/ci/docs.gitlab-ci.yml
View file @
28807b61
...
...
@@ -53,7 +53,7 @@ docs-lint markdown:
docs-lint links
:
extends
:
-
.docs:rules:docs-lint
image
:
registry.gitlab.com/gitlab-org/gitlab-docs/lint-html:alpine-3.1
3
-ruby-2.7.
2
-d
2b92621
image
:
registry.gitlab.com/gitlab-org/gitlab-docs/lint-html:alpine-3.1
4
-ruby-2.7.
4
-d
b71f027
stage
:
test
needs
:
[]
script
:
...
...
.gitlab/ci/frontend.gitlab-ci.yml
View file @
28807b61
...
...
@@ -11,7 +11,7 @@
-
.default-retry
-
.default-before_script
-
.assets-compile-cache
image
:
registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7
.2
-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36
image
:
registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7-git-2.31-lfs-2.9-node-14.15-yarn-1.22-graphicsmagick-1.3.36
variables
:
SETUP_DB
:
"
false"
WEBPACK_VENDOR_DLL
:
"
true"
...
...
@@ -71,6 +71,12 @@ compile-test-assets as-if-foss:
-
.frontend:rules:compile-test-assets-as-if-foss
-
.as-if-foss
compile-test-assets as-if-jh
:
extends
:
-
compile-test-assets
-
.frontend:rules:compile-test-assets-as-if-jh
needs
:
[
"
add-jh-folder"
]
update-assets-compile-production-cache
:
extends
:
-
compile-production-assets
...
...
@@ -112,7 +118,7 @@ update-storybook-yarn-cache:
-
.rails-cache
-
.use-pg12
stage
:
fixtures
needs
:
[
"
setup-test-env"
,
"
retrieve-tests-metadata"
,
"
compile-test-assets"
]
needs
:
[
"
setup-test-env"
,
"
retrieve-tests-metadata"
]
variables
:
WEBPACK_VENDOR_DLL
:
"
true"
script
:
...
...
@@ -128,22 +134,38 @@ update-storybook-yarn-cache:
-
tmp/tests/frontend/
-
knapsack/
rspec frontend_fixture
:
# Builds FOSS, and EE fixtures in the EE project.
# Builds FOSS fixtures in the FOSS project.
rspec-all frontend_fixture
:
extends
:
-
.frontend-fixtures-base
-
.frontend:rules:default-frontend-jobs
needs
:
-
!reference
[
.frontend-fixtures-base
,
needs
]
-
"
compile-test-assets"
parallel
:
5
rspec frontend_fixture as-if-foss
:
# Builds FOSS fixtures in the EE project, with the `ee/` folder removed (due to `as-if-foss`).
rspec-all frontend_fixture as-if-foss
:
extends
:
-
.frontend-fixtures-base
-
.frontend:rules:default-frontend-jobs-as-if-foss
-
.as-if-foss
needs
:
-
!reference
[
.frontend-fixtures-base
,
needs
]
-
"
compile-test-assets
as-if-foss"
rspec-ee frontend_fixture
:
# Builds FOSS, EE, and JH fixtures in the EE project, with the `jh/` folder added (due to `as-if-jh`).
rspec-all frontend_fixture as-if-jh
:
extends
:
-
.frontend-fixtures-base
-
.frontend:rules:default-frontend-jobs-ee
parallel
:
3
-
.frontend:rules:default-frontend-jobs-as-if-jh
needs
:
-
!reference
[
.frontend-fixtures-base
,
needs
]
-
"
compile-test-assets
as-if-jh"
-
"
add-jh-folder"
script
:
-
echo "This job is currently doing nothing since there's no specific JH fixtures yet. To enable this job, remove this line."
graphql-schema-dump
:
variables
:
...
...
@@ -171,6 +193,10 @@ graphql-schema-dump:
# 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"
SETUP_DB
:
"
false"
before_script
:
-
!reference
[
.default-before_script
,
before_script
]
-
*yarn-install
stage
:
test
eslint-as-if-foss
:
...
...
@@ -180,58 +206,18 @@ eslint-as-if-foss:
-
.as-if-foss
needs
:
[]
script
:
-
*yarn-install
-
run_timed_command "yarn run lint:eslint:all"
.karma-base
:
extends
:
.frontend-test-base
script
:
-
export BABEL_ENV=coverage CHROME_LOG_FILE=chrome_debug.log
-
*yarn-install
-
run_timed_command "yarn karma"
karma
:
extends
:
-
.karma-base
-
.frontend:rules:default-frontend-jobs
needs
:
-
job
:
"
rspec
frontend_fixture"
-
job
:
"
rspec-ee
frontend_fixture"
optional
:
true
coverage
:
'
/^Statements
*:
(\d+\.\d+%)/'
artifacts
:
name
:
coverage-javascript
expire_in
:
31d
when
:
always
paths
:
-
chrome_debug.log
-
coverage-javascript/
-
tmp/tests/frontend/
reports
:
junit
:
junit_karma.xml
cobertura
:
coverage-javascript/cobertura-coverage.xml
karma-as-if-foss
:
extends
:
-
.karma-base
-
.frontend:rules:default-frontend-jobs-as-if-foss
-
.as-if-foss
needs
:
[
"
rspec
frontend_fixture
as-if-foss"
]
.jest-base
:
extends
:
.frontend-test-base
script
:
-
*yarn-install
-
run_timed_command "yarn jest --ci --coverage --testSequencer ./scripts/frontend/parallel_ci_sequencer.js"
-
run_timed_command "yarn jest:ci"
jest
:
extends
:
-
.jest-base
-
.frontend:rules:default-frontend-jobs
needs
:
-
job
:
"
rspec
frontend_fixture"
-
job
:
"
rspec-ee
frontend_fixture"
optional
:
true
-
.frontend:rules:jest
needs
:
[
"
rspec-all
frontend_fixture"
]
artifacts
:
name
:
coverage-frontend
expire_in
:
31d
...
...
@@ -244,17 +230,24 @@ jest:
junit
:
junit_jest.xml
parallel
:
5
jest minimal
:
extends
:
-
jest
-
.frontend:rules:jest:minimal
needs
:
-
!reference
[
jest
,
needs
]
-
"
detect-tests"
script
:
-
run_timed_command "yarn jest:ci:minimal"
jest-integration
:
extends
:
-
.frontend-test-base