INDEX_CONDITION="note LIKE '%@%'::text AND notes.noteable_type = 'DesignManagement::Design'"
QUERY_CONDITIONS="#{INDEX_CONDITION} AND design_user_mentions.design_id IS NULL"
JOIN='INNER JOIN design_management_designs ON design_management_designs.id = notes.noteable_id LEFT JOIN design_user_mentions ON notes.id = design_user_mentions.note_id'
classDesignUserMention<ActiveRecord::Base
includeEachBatch
self.table_name='design_user_mentions'
end
classNote<ActiveRecord::Base
includeEachBatch
self.table_name='notes'
end
defup
returnunlessGitlab.ee?
# cleanup design user mentions with no actual mentions,
# re https://gitlab.com/gitlab-org/gitlab/-/merge_requests/24586#note_285982468
DesignUserMention
.where(mentioned_users_ids: nil)
.where(mentioned_groups_ids: nil)
.where(mentioned_projects_ids: nil)
.each_batch(of: BATCH_SIZE)do|batch|
batch.delete_all
end
# create temporary index for notes with mentions, may take well over 1h
-`.default-tags`: Ensures a job has the `gitlab-org` tag to ensure it's using
| `.default-tags` | Ensures a job has the `gitlab-org` tag to ensure it's using our dedicated runners. |
our dedicated runners.
| `.default-retry` | Allows a job to [retry](../ci/yaml/README.md#retry) upon `unknown_failure`, `api_failure`, `runner_system_failure`, `job_execution_timeout`, or `stuck_or_timeout_failure`. |
-`.default-retry`: Allows a job to [retry](../ci/yaml/README.md#retry) upon `unknown_failure`, `api_failure`,
| `.default-before_script` | Allows a job to use a default `before_script` definition suitable for Ruby/Rails tasks that may need a database running (e.g. tests). |
`runner_system_failure`, `job_execution_timeout`, or `stuck_or_timeout_failure`.
| `.default-cache` | Allows a job to use a default `cache` definition suitable for Ruby/Rails and frontend tasks. |
-`.default-before_script`: Allows a job to use a default `before_script` definition
| `.use-pg9` | Allows a job to use the `postgres:9.6.17` and `redis:alpine` services. |
suitable for Ruby/Rails tasks that may need a database running (e.g. tests).
| `.use-pg10` | Allows a job to use the `postgres:10.12` and `redis:alpine` services. |
-`.default-cache`: Allows a job to use a default `cache` definition suitable for
| `.use-pg9-ee` | Same as `.use-pg9` but also use the `docker.elastic.co/elasticsearch/elasticsearch:6.4.2` services. |
Ruby/Rails and frontend tasks.
| `.use-pg10-ee` | Same as `.use-pg10` but also use the `docker.elastic.co/elasticsearch/elasticsearch:6.4.2` services. |
-`.default-only`: Restricts the cases where a job is created. This currently
| `.as-if-foss` | Simulate the FOSS project by setting the `FOSS_ONLY='1'` environment variable. |
includes `master`, `/^[\d-]+-stable(-ee)?$/` (stable branches),
and included in `rules` definitions via [YAML anchors](../ci/yaml/README.md#anchors)
-`.only:kubernetes`: Only creates a job if a Kubernetes integration is enabled
on the project.
### `if:` conditions
-`.only-review`: This extends from:
-`.only:variables-canonical-dot-com`
| `if:` conditions | Description | Notes |
-`.only:kubernetes`
|------------------|-------------|-------|
-`.except:refs-master-tags-stable-deploy`
| `if-not-canonical-namespace` | Matches if the project isn't in the canonical (`gitlab-org/`) or security (`gitlab-org/security`) namespace. | Use to create a job for forks (by using `when: on_success\|manual`), or **not** create a job for forks (by using `when: never`). |
-`.only-review-schedules`: This extends from:
| `if-not-ee` | Matches if the project isn't EE (i.e. project name isn't `gitlab` or `gitlab-ee`). | Use to create a job only in the FOSS project (by using `when: on_success|manual`), or **not** create a job if the project is EE (by using `when: never`). |
| `if-not-foss` | Matches if the project isn't FOSS (i.e. project name isn't `gitlab-foss`, `gitlab-ce`, or `gitlabhq`). | Use to create a job only in the EE project (by using `when: on_success|manual`), or **not** create a job if the project is FOSS (by using `when: never`). |
-`.only:kubernetes`
| `if-default-refs` | Matches if the pipeline is for `master`, `/^[\d-]+-stable(-ee)?$/` (stable branches), `/^\d+-\d+-auto-deploy-\d+$/` (auto-deploy branches), `/^security\//` (security branches), merge requests, and tags. | Note that jobs won't be created for branches with this default configuration. |
-`.except:refs-deploy`
| `if-master-refs` | Matches if the current branch is `master`. | |
-`.use-pg9`: Allows a job to use the `postgres:9.6` and `redis:alpine` services.
| `if-master-or-tag` | Matches if the pipeline is for the `master` branch or for a tag. | |
-`.use-pg10`: Allows a job to use the `postgres:10.9` and `redis:alpine` services.
| `if-merge-request` | Matches if the pipeline is for a merge request. | |
-`.use-pg9-ee`: Same as `.use-pg9` but also use the
| `if-dot-com-gitlab-org-schedule` | Limits jobs creation to scheduled pipelines for the `gitlab-org` group on GitLab.com. | |
| `if-dot-com-gitlab-org-and-security-tag` | Limits job creation to tags for the `gitlab-org` and `gitlab-org/security` groups on GitLab.com. | |
-`.only-ee`: Only creates a job for the `gitlab` or `gitlab-ee` project.
| `if-dot-com-gitlab-org-and-security-merge-request` | Limit jobs creation to merge requests for the `gitlab-org` and `gitlab-org/security` groups on GitLab.com. | |
-`.only-ee-as-if-foss`: Same as `.only-ee` but simulate the FOSS project by
| `if-dot-com-ee-schedule` | Limits jobs to scheduled pipelines for the `gitlab-org/gitlab` project on GitLab.com. | |
setting the `FOSS_ONLY='1'` environment variable.
| `if-cache-credentials-schedule` | Limits jobs to scheduled pipelines with the `$CI_REPO_CACHE_CREDENTIALS` variable set. | |
## Changes detection
### `changes:` patterns
If a job extends from `.default-only` (and most of the jobs should), it can restrict
[based on the changes](../ci/yaml/README.md#onlychangesexceptchanges)
| `yaml-patterns` | Only create job for YAML-related changes. |
from a commit or MR by extending from the following CI definitions:
| `docs-patterns` | Only create job for docs-related changes. |
| `backstage-patterns` | Only create job for backstage-related changes. |
-`.only:changes-code`: Allows a job to only be created upon code-related changes.
| `code-patterns` | Only create job for code-related changes. |
-`.only:changes-qa`: Allows a job to only be created upon QA-related changes.
| `qa-patterns` | Only create job for QA-related changes. |
-`.only:changes-docs`: Allows a job to only be created upon docs-related changes.
| `code-backstage-patterns` | Combination of `code-patterns` and `backstage-patterns`. |
-`.only:changes-graphql`: Allows a job to only be created upon GraphQL-related changes.
| `code-qa-patterns` | Combination of `code-patterns` and `qa-patterns`. |
-`.only:changes-code-backstage`: Allows a job to only be created upon code-related or backstage-related (e.g. Danger, RuboCop, specs) changes.
| `code-backstage-qa-patterns` | Combination of `code-patterns`, `backstage-patterns`, and `qa-patterns`. |
-`.only:changes-code-qa`: Allows a job to only be created upon code-related or QA-related changes.
-`.only:changes-code-backstage-qa`: Allows a job to only be created upon code-related, backstage-related (e.g. Danger, RuboCop, specs) or QA-related changes.
@@ -198,18 +198,23 @@ supported and will not be available in the UI.
...
@@ -198,18 +198,23 @@ supported and will not be available in the UI.
#### Duplicating a GitLab-defined dashboard
#### Duplicating a GitLab-defined dashboard
> [Introduced](https://gitlab.com/gitlab-org/gitlab/issues/37238) in GitLab 12.7.
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/issues/37238) in GitLab 12.7.
> - From [GitLab 12.8 onwards](https://gitlab.com/gitlab-org/gitlab/issues/39505), custom metrics are also duplicated when you duplicate a dashboard.
You can save a copy of a GitLab defined dashboard that can be customized and adapted to your project. You can decide to save the dashboard new `.yml` file in the project's **default** branch or in a newly created branch with a name of your choosing.
You can save a complete copy of a GitLab defined dashboard along with all custom metrics added to it.
Resulting `.yml` file can be customized and adapted to your project.
You can decide to save the dashboard `.yml` file in the project's **default** branch or in a
new branch.
1. Click on the "Duplicate dashboard" in the dashboard dropdown.
1. Click **Duplicate dashboard** in the dashboard dropdown.
NOTE: **Note:**
NOTE: **Note:**
Only GitLab-defined dashboards can be duplicated.
You can duplicate only GitLab-defined dashboards.
1.Input the file name and other information, such as a new commit message, and click on "Duplicate".
1.Enter the file name and other information, such as the new commit's message, and click **Duplicate**.
If you select your **default** branch, the new dashboard will become immediately available. If you select another branch, this branch should be merged to your **default** branch first.
If you select your **default** branch, the new dashboard becomes immediately available.
If you select another branch, this branch should be merged to your **default** branch first.
The example above will create an `a11y` job in your CI/CD pipeline and will run
Pa11y against the webpage you defined in `a11y_urls` to build a report.
The full HTML Pa11y report will be saved as an artifact that can be [viewed directly in your browser](../pipelines/job_artifacts.md#browsing-artifacts).
NOTE: **Note:**
The job definition provided by the template does not support Kubernetes yet.
It is not yet possible to pass configurations into Pa11y via CI configuration. To change anything,
copy the template to your CI file and make the desired edits.
| [Accessibility Testing](accessibility_testing.md) | Automatically report A11y violations for changed pages in merge requests |
| [Browser Performance Testing](browser_performance_testing.md)**(PREMIUM)** | Quickly determine the performance impact of pending code changes. |
| [Browser Performance Testing](browser_performance_testing.md)**(PREMIUM)** | Quickly determine the performance impact of pending code changes. |
| [Code Quality](code_quality.md)**(STARTER)** | Analyze your source code quality using the [Code Climate](https://codeclimate.com/) analyzer and show the Code Climate report right in the merge request widget area. |
| [Code Quality](code_quality.md)**(STARTER)** | Analyze your source code quality using the [Code Climate](https://codeclimate.com/) analyzer and show the Code Climate report right in the merge request widget area. |
| [Display arbitrary job artifacts](../../../ci/yaml/README.md#artifactsexpose_as) | Configure CI pipelines with the `artifacts:expose_as` parameter to directly link to selected [artifacts](../pipelines/job_artifacts.md) in merge requests. |
| [Display arbitrary job artifacts](../../../ci/yaml/README.md#artifactsexpose_as) | Configure CI pipelines with the `artifacts:expose_as` parameter to directly link to selected [artifacts](../pipelines/job_artifacts.md) in merge requests. |