Add latest changes from gitlab-org/gitlab@master
This commit is contained in:
parent
3d100bb7e6
commit
4eac7e06bd
43 changed files with 73 additions and 297 deletions
|
@ -498,12 +498,6 @@ Rails/InverseOf:
|
|||
Rails/LexicallyScopedActionFilter:
|
||||
Enabled: false
|
||||
|
||||
# Offense count: 2
|
||||
# Cop supports --auto-correct.
|
||||
Rails/LinkToBlank:
|
||||
Exclude:
|
||||
- 'app/helpers/projects_helper.rb'
|
||||
- 'ee/app/helpers/ee/users/callouts_helper.rb'
|
||||
|
||||
# Offense count: 1
|
||||
# Cop supports --auto-correct.
|
||||
|
|
|
@ -33,7 +33,7 @@ export default class Activities {
|
|||
errorCallback: () =>
|
||||
createFlash({
|
||||
message: s__(
|
||||
'Activity|An error occured while retrieving activity. Reload the page to try again.',
|
||||
'Activity|An error occurred while retrieving activity. Reload the page to try again.',
|
||||
),
|
||||
parent: this.containerEl,
|
||||
}),
|
||||
|
|
|
@ -60,7 +60,7 @@ export default {
|
|||
contentEditor: {
|
||||
renderFailed: {
|
||||
message: s__(
|
||||
'WikiPage|An error occured while trying to render the content editor. Please try again later.',
|
||||
'WikiPage|An error occurred while trying to render the content editor. Please try again later.',
|
||||
),
|
||||
primaryAction: s__('WikiPage|Retry'),
|
||||
},
|
||||
|
|
|
@ -69,9 +69,7 @@ export default async function initPipelineDetailsBundle() {
|
|||
}
|
||||
|
||||
try {
|
||||
if (gon.features?.jobsTabVue) {
|
||||
createPipelineJobsApp(SELECTORS.PIPELINE_JOBS);
|
||||
}
|
||||
createPipelineJobsApp(SELECTORS.PIPELINE_JOBS);
|
||||
} catch {
|
||||
createFlash({
|
||||
message: __('An error occurred while loading the Jobs tab.'),
|
||||
|
|
|
@ -144,8 +144,8 @@ const bindEvents = () => {
|
|||
|
||||
bindHowToImport();
|
||||
|
||||
$('.btn_import_gitlab_project').on('click', () => {
|
||||
const importHref = $('a.btn_import_gitlab_project').attr('href');
|
||||
$('.btn_import_gitlab_project').on('click contextmenu', () => {
|
||||
const importHref = $('a.btn_import_gitlab_project').attr('data-href');
|
||||
$('.btn_import_gitlab_project').attr(
|
||||
'href',
|
||||
`${importHref}?namespace_id=${$(
|
||||
|
|
|
@ -399,7 +399,7 @@
|
|||
/*
|
||||
This change should be temporary, because the DOM currently gets
|
||||
generated from a ruby definition in `app/helpers/button_helper.rb`.
|
||||
As soon as the `copy to clipboard` button will be transfered to
|
||||
As soon as the `copy to clipboard` button will be transferred to
|
||||
Vue this should be adjusted as well.
|
||||
*/
|
||||
flex: 1;
|
||||
|
|
|
@ -134,47 +134,6 @@
|
|||
}
|
||||
}
|
||||
|
||||
.fork-thumbnail {
|
||||
width: calc((100% / 2) - #{$gl-padding * 2});
|
||||
|
||||
@include media-breakpoint-up(md) {
|
||||
width: calc((100% / 4) - #{$gl-padding * 2});
|
||||
}
|
||||
|
||||
@include media-breakpoint-up(lg) {
|
||||
width: calc((100% / 5) - #{$gl-padding * 2});
|
||||
}
|
||||
|
||||
&:hover:not(.disabled),
|
||||
&.forked {
|
||||
background-color: $blue-50;
|
||||
border-color: $blue-200;
|
||||
}
|
||||
|
||||
.avatar-container,
|
||||
.identicon {
|
||||
float: none;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
a.disabled {
|
||||
opacity: 0.3;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
}
|
||||
|
||||
.fork-thumbnail-container {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin-left: -$gl-padding;
|
||||
margin-right: -$gl-padding;
|
||||
|
||||
> h5 {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.project-template {
|
||||
> .form-group {
|
||||
margin-bottom: 0;
|
||||
|
|
|
@ -20,10 +20,6 @@ class Projects::PipelinesController < Projects::ApplicationController
|
|||
push_frontend_feature_flag(:rearrange_pipelines_table, project, default_enabled: :yaml)
|
||||
end
|
||||
|
||||
before_action do
|
||||
push_frontend_feature_flag(:jobs_tab_vue, @project, default_enabled: :yaml)
|
||||
end
|
||||
|
||||
# Will be removed with https://gitlab.com/gitlab-org/gitlab/-/issues/225596
|
||||
before_action :redirect_for_legacy_scope_filter, only: [:index], if: -> { request.format.html? }
|
||||
|
||||
|
|
|
@ -160,7 +160,7 @@ module ProjectsHelper
|
|||
end
|
||||
|
||||
def link_to_autodeploy_doc
|
||||
link_to _('About auto deploy'), help_page_path('topics/autodevops/stages.md', anchor: 'auto-deploy'), target: '_blank'
|
||||
link_to _('About auto deploy'), help_page_path('topics/autodevops/stages.md', anchor: 'auto-deploy'), target: '_blank', rel: 'noopener'
|
||||
end
|
||||
|
||||
def autodeploy_flash_notice(branch_name)
|
||||
|
|
|
@ -60,7 +60,7 @@ class EnvironmentSerializer < BaseSerializer
|
|||
Preloaders::Environments::DeploymentPreloader.new(resource)
|
||||
.execute_with_union(:upcoming_deployment, deployment_associations)
|
||||
|
||||
resource.all.to_a.tap do |environments|
|
||||
resource.to_a.tap do |environments|
|
||||
environments.each do |environment|
|
||||
# Batch loading the commits of the deployments
|
||||
environment.last_deployment&.commit&.try(:lazy_author)
|
||||
|
|
|
@ -16,5 +16,5 @@
|
|||
.gl-alert.gl-alert-info.gl-mb-5
|
||||
= sprite_icon('information-o', size: 16, css_class: 'gl-icon gl-alert-icon gl-alert-icon-no-title')
|
||||
.gl-alert-body
|
||||
= html_escape(_("This group can't be transfered because it is linked to a subscription. To transfer this group, %{linkStart}link the subscription%{linkEnd} with a different group.")) % { linkStart: "<a href=\"#{help_page_path('subscriptions/index', anchor: 'change-the-linked-namespace')}\">".html_safe, linkEnd: '</a>'.html_safe }
|
||||
= html_escape(_("This group can't be transferred because it is linked to a subscription. To transfer this group, %{linkStart}link the subscription%{linkEnd} with a different group.")) % { linkStart: "<a href=\"#{help_page_path('subscriptions/index', anchor: 'change-the-linked-namespace')}\">".html_safe, linkEnd: '</a>'.html_safe }
|
||||
.js-transfer-group-form{ data: initial_data }
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
.import-buttons
|
||||
- if gitlab_project_import_enabled?
|
||||
.import_gitlab_project.has-tooltip{ data: { container: 'body', qa_selector: 'gitlab_import_button' } }
|
||||
= link_to new_import_gitlab_project_path, class: 'gl-button btn-default btn btn_import_gitlab_project js-import-project-btn', data: { platform: 'gitlab_export', **tracking_attrs_data(track_label, 'click_button', 'gitlab_export') } do
|
||||
= link_to '#', class: 'gl-button btn-default btn btn_import_gitlab_project js-import-project-btn', data: { href: new_import_gitlab_project_path, platform: 'gitlab_export', **tracking_attrs_data(track_label, 'click_button', 'gitlab_export') } do
|
||||
.gl-button-icon
|
||||
= sprite_icon('tanuki')
|
||||
= _("GitLab export")
|
||||
|
|
|
@ -29,20 +29,7 @@
|
|||
|
||||
#js-tab-builds.tab-pane
|
||||
- if stages.present?
|
||||
- if Feature.enabled?(:jobs_tab_vue, @project, default_enabled: :yaml)
|
||||
#js-pipeline-jobs-vue{ data: { full_path: @project.full_path, pipeline_iid: @pipeline.iid } }
|
||||
- else
|
||||
.table-holder.pipeline-holder
|
||||
%table.table.ci-table.pipeline
|
||||
%thead
|
||||
%tr
|
||||
%th= _('Status')
|
||||
%th= _('Name')
|
||||
%th= _('Job ID')
|
||||
%th
|
||||
%th= _('Coverage')
|
||||
%th
|
||||
= render partial: "projects/stage/stage", collection: stages, as: :stage
|
||||
#js-pipeline-jobs-vue{ data: { full_path: @project.full_path, pipeline_iid: @pipeline.iid } }
|
||||
|
||||
- if @pipeline.failed_builds.present?
|
||||
#js-tab-failures.build-failures.tab-pane.build-page
|
||||
|
|
|
@ -1,15 +0,0 @@
|
|||
- stage = stage.present(current_user: current_user)
|
||||
|
||||
%tr
|
||||
%th{ colspan: 10 }
|
||||
%strong
|
||||
%a{ name: stage.name }
|
||||
%span{ class: "ci-status-link ci-status-icon-#{stage.status}" }
|
||||
= ci_icon_for_status(stage.status)
|
||||
|
||||
= stage.name.titleize
|
||||
= render stage.latest_ordered_statuses, stage: false, ref: false, pipeline_link: false, allow_retry: true
|
||||
= render stage.retried_ordered_statuses, stage: false, ref: false, pipeline_link: false, retried: true
|
||||
%tr
|
||||
%td{ colspan: 10 }
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
---
|
||||
name: jobs_tab_vue
|
||||
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/76146
|
||||
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/347371
|
||||
milestone: '14.6'
|
||||
type: development
|
||||
group: group::pipeline execution
|
||||
default_enabled: true
|
|
@ -10,7 +10,7 @@ Geo replicates your database, your Git repositories, and few other assets,
|
|||
but there are some [limitations](../index.md#limitations).
|
||||
|
||||
WARNING:
|
||||
Disaster recovery for multi-secondary configurations is in **Alpha**.
|
||||
Disaster recovery for multi-secondary configurations is in [**Alpha**](../../../policy/alpha-beta-support.md#alpha-features).
|
||||
For the latest updates, check the [Disaster Recovery epic for complete maturity](https://gitlab.com/groups/gitlab-org/-/epics/3574).
|
||||
Multi-secondary configurations require the complete re-synchronization and re-configuration of all non-promoted secondaries and
|
||||
causes downtime.
|
||||
|
|
|
@ -6,7 +6,7 @@ type: howto
|
|||
---
|
||||
|
||||
WARNING:
|
||||
This runbook is in **alpha**. For complete, production-ready documentation, see the
|
||||
This runbook is in [**Alpha**](../../../../policy/alpha-beta-support.md#alpha-features). For complete, production-ready documentation, see the
|
||||
[disaster recovery documentation](../index.md).
|
||||
|
||||
# Disaster Recovery (Geo) promotion runbooks **(PREMIUM SELF)**
|
||||
|
|
|
@ -6,7 +6,7 @@ type: howto
|
|||
---
|
||||
|
||||
WARNING:
|
||||
This runbook is in **alpha**. For complete, production-ready documentation, see the
|
||||
This runbook is in [**Alpha**](../../../../policy/alpha-beta-support.md#alpha-features). For complete, production-ready documentation, see the
|
||||
[disaster recovery documentation](../index.md).
|
||||
|
||||
# Disaster Recovery (Geo) promotion runbooks **(PREMIUM SELF)**
|
||||
|
|
|
@ -35,7 +35,7 @@ To have:
|
|||
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/10586) in GitLab 12.4.
|
||||
|
||||
WARNING:
|
||||
This is a [**beta** feature](https://about.gitlab.com/handbook/product/#beta) and is not ready yet for production use at any scale. The main limitations are a lack of testing at scale and no verification of any replicated data.
|
||||
This is a [**Beta** feature](../../../policy/alpha-beta-support.md#beta-features) and is not ready yet for production use at any scale. The main limitations are a lack of testing at scale and no verification of any replicated data.
|
||||
|
||||
**Secondary** sites can replicate files stored on the **primary** site regardless of
|
||||
whether they are stored on the local file system or in object storage.
|
||||
|
|
|
@ -76,7 +76,7 @@ The following parameters are available:
|
|||
some assigned copies that are not available.
|
||||
|
||||
NOTE:
|
||||
`dataloss` is still in beta and the output format is subject to change.
|
||||
`dataloss` is still in [Beta](../../policy/alpha-beta-support.md#beta-features) and the output format is subject to change.
|
||||
|
||||
To check for repositories with outdated primaries or for unavailable repositories, run:
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
|
|||
# Dependencies API **(ULTIMATE)**
|
||||
|
||||
WARNING:
|
||||
This API is in an alpha stage and considered unstable.
|
||||
This API is in an [Alpha](../policy/alpha-beta-support.md#alpha-features) stage and considered unstable.
|
||||
The response payload may be subject to change or breakage
|
||||
across GitLab releases.
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
|
|||
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/197494) in GitLab 12.10. [Updated](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/30397) in GitLab 13.0.
|
||||
|
||||
WARNING:
|
||||
This API is in an alpha stage and considered unstable.
|
||||
This API is in an [Alpha](../policy/alpha-beta-support.md#alpha-features) stage and considered unstable.
|
||||
The response payload may be subject to change or breakage
|
||||
across GitLab releases.
|
||||
|
||||
|
|
|
@ -81,7 +81,7 @@ are certain use cases that you may need to work around. For more information, ch
|
|||
|
||||
## Needs Visualization
|
||||
|
||||
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/215517) in GitLab 13.1 as a [Beta feature](https://about.gitlab.com/handbook/product/#beta).
|
||||
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/215517) in GitLab 13.1 as a [Beta feature](../../policy/alpha-beta-support.md#beta-features).
|
||||
> - It became a [standard feature](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/38517) in 13.3.
|
||||
> - [Feature flag removed](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52208) in GitLab 13.9.
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ description: Require approvals prior to deploying to a Protected Environment
|
|||
> - [Feature flag removed](https://gitlab.com/gitlab-org/gitlab/-/issues/347342) in GitLab 14.8.
|
||||
|
||||
WARNING:
|
||||
This feature is in an alpha stage and subject to change without prior notice.
|
||||
This feature is in an [Alpha](../../policy/alpha-beta-support.md#alpha-features) stage and subject to change without prior notice.
|
||||
|
||||
It may be useful to require additional approvals before deploying to certain protected environments (for example, production). This pre-deployment approval requirement is useful to accommodate testing, security, or compliance processes that must happen before each deployment.
|
||||
|
||||
|
|
|
@ -14,8 +14,8 @@ If you are using GitLab SaaS (GitLab.com), your CI jobs automatically run on run
|
|||
No configuration is required. Your jobs can run on:
|
||||
|
||||
- [Linux runners](saas/linux_saas_runner.md).
|
||||
- [Windows runners](saas/windows_saas_runner.md) (beta).
|
||||
- [macOS runners](saas/macos_saas_runner.md) (beta).
|
||||
- [Windows runners](saas/windows_saas_runner.md) ([Beta](../../policy/alpha-beta-support.md#beta-features)).
|
||||
- [macOS runners](saas/macos_saas_runner.md) ([Beta](../../policy/alpha-beta-support.md#beta-features)).
|
||||
|
||||
The number of minutes you can use on these runners depends on the
|
||||
[maximum number of CI/CD minutes](../pipelines/cicd_minutes.md)
|
||||
|
|
|
@ -26,7 +26,7 @@ Jobs handled by shared runners on GitLab.com (`shared-runners-manager-X.gitlab.c
|
|||
**time out after 3 hours**, regardless of the timeout configured in a
|
||||
project. Check issue [#4010](https://gitlab.com/gitlab-com/infrastructure/-/issues/4010) and [#4070](https://gitlab.com/gitlab-com/infrastructure/-/issues/4070) for the reference.
|
||||
|
||||
Jobs handled by shared runners on Windows and macOS on GitLab.com **time out after 1 hour** while this service is in the Beta stage.
|
||||
Jobs handled by shared runners on Windows and macOS on GitLab.com **time out after 1 hour** while this service is in the [Beta](../../../policy/alpha-beta-support.md#beta-features) stage.
|
||||
|
||||
Below are the runners' settings.
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ When you use SaaS runners on macOS:
|
|||
## VM types
|
||||
|
||||
The virtual machine where your job runs has `sudo` access with no password.
|
||||
For the Beta, there is only one available machine type, `gbc-macos-large`.
|
||||
For the [Beta](../../../../policy/alpha-beta-support.md#beta-features), there is only one available machine type, `gbc-macos-large`.
|
||||
|
||||
| Instance type | vCPUS | Memory (GB) |
|
||||
| --------- | --- | ------- |
|
||||
|
|
|
@ -4,7 +4,10 @@ group: Runner
|
|||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
---
|
||||
|
||||
# SaaS runners on macOS (Beta) **(FREE SAAS)**
|
||||
# SaaS runners on macOS (beta) **(FREE SAAS)**
|
||||
|
||||
SaaS runners on macOS are in [Beta](../../../policy/alpha-beta-support.md#beta-features)
|
||||
and shouldn't be relied upon for mission-critical production jobs.
|
||||
|
||||
SaaS runners on macOS provide an on-demand macOS build environment integrated with
|
||||
GitLab SaaS [CI/CD](../../../ci/index.md).
|
||||
|
@ -12,9 +15,6 @@ Use these runners to build, test, and deploy apps for the Apple ecosystem (macOS
|
|||
of all the capabilities of the GitLab single DevOps platform and not have to manage or operate a
|
||||
build environment.
|
||||
|
||||
SaaS runners on macOS are in [Beta](../../../policy/alpha-beta-support.md#beta-features)
|
||||
and shouldn't be relied upon for mission-critical production jobs.
|
||||
|
||||
## Quickstart
|
||||
|
||||
To start using SaaS runners on macOS, you must submit an access request [issue](https://gitlab.com/gitlab-com/macos-buildcloud-runners-beta/-/issues/new?issuable_template=beta_access_request). After your
|
||||
|
|
|
@ -35,6 +35,7 @@ The hand-raise lead form accepts the following parameters via provide or inject.
|
|||
|
||||
```javascript
|
||||
provide: {
|
||||
small,
|
||||
user: {
|
||||
namespaceId,
|
||||
userName,
|
||||
|
@ -43,9 +44,18 @@ The hand-raise lead form accepts the following parameters via provide or inject.
|
|||
companyName,
|
||||
glmContent,
|
||||
},
|
||||
ctaTracking: {
|
||||
action,
|
||||
label,
|
||||
property,
|
||||
value,
|
||||
experiment,
|
||||
},
|
||||
},
|
||||
```
|
||||
|
||||
The `ctaTracking` parameters follow [the `data-track` attributes](../snowplow/implementation.md#data-track-attributes) for implementing Snowplow tracking. The provided tracking attributes are attached to the button inside the `HandRaiseLeadButton` component, which triggers the hand-raise lead modal when selected.
|
||||
|
||||
### Monitor the lead location
|
||||
|
||||
When embedding a new hand raise form, use a unique `glmContent` or `glm_content` field that is different to any existing values.
|
||||
|
|
|
@ -234,7 +234,7 @@ For example, if you have a query value of `53.6`, adding `%` as the unit results
|
|||
## Gauge
|
||||
|
||||
WARNING:
|
||||
This panel type is an _alpha_ feature, and is subject to change at any time
|
||||
This panel type is an [Alpha](../../../policy/alpha-beta-support.md#alpha-features) feature, and is subject to change at any time
|
||||
without prior notice!
|
||||
|
||||
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/207044) in GitLab 13.3.
|
||||
|
|
|
@ -27,7 +27,7 @@ described [in Using Variables](variables.md).
|
|||
## `text` variable type
|
||||
|
||||
WARNING:
|
||||
This variable type is an _alpha_ feature, and is subject to change at any time
|
||||
This variable type is an [Alpha](../../../policy/alpha-beta-support.md#alpha-features) feature, and is subject to change at any time
|
||||
without prior notice!
|
||||
|
||||
For each `text` variable defined in the dashboard YAML, a free text field displays
|
||||
|
@ -64,7 +64,7 @@ templating:
|
|||
## `custom` variable type
|
||||
|
||||
WARNING:
|
||||
This variable type is an _alpha_ feature, and is subject to change at any time
|
||||
This variable type is an [Alpha](../../../policy/alpha-beta-support.md#alpha-features) feature, and is subject to change at any time
|
||||
without prior notice!
|
||||
|
||||
Each `custom` variable defined in the dashboard YAML creates a dropdown
|
||||
|
@ -112,7 +112,7 @@ templating:
|
|||
## `metric_label_values` variable type
|
||||
|
||||
WARNING:
|
||||
This variable type is an _alpha_ feature, and is subject to change at any time
|
||||
This variable type is an [Alpha](../../../policy/alpha-beta-support.md#alpha-features) feature, and is subject to change at any time
|
||||
without prior notice!
|
||||
|
||||
### Full syntax
|
||||
|
|
|
@ -180,7 +180,7 @@ used the `v0.17.0` chart, add `AUTO_DEVOPS_FORCE_DEPLOY_V2`.
|
|||
|
||||
## Early adopters
|
||||
|
||||
If you want to use the latest beta or unstable version of `auto-deploy-image`, include
|
||||
If you want to use the latest [Beta](../../policy/alpha-beta-support.md#beta-features) or unstable version of `auto-deploy-image`, include
|
||||
the latest Auto Deploy template into your `.gitlab-ci.yml`:
|
||||
|
||||
```yaml
|
||||
|
@ -190,7 +190,7 @@ include:
|
|||
```
|
||||
|
||||
WARNING:
|
||||
Using a beta or unstable `auto-deploy-image` could cause unrecoverable damage to
|
||||
Using a [Beta](../../policy/alpha-beta-support.md#beta-features) or unstable `auto-deploy-image` could cause unrecoverable damage to
|
||||
your environments. Do not test it with important projects or environments.
|
||||
|
||||
The next stable template update is [planned for GitLab v14.0](https://gitlab.com/gitlab-org/gitlab/-/issues/232788).
|
||||
|
|
|
@ -114,6 +114,18 @@ To view all available options, open a terminal and run this command:
|
|||
|
||||
```shell
|
||||
docker run --pull=always --rm registry.gitlab.com/gitlab-org/cluster-integration/gitlab-agent/cli:stable generate --help
|
||||
|
||||
Usage:
|
||||
cli generate [flags]
|
||||
|
||||
Flags:
|
||||
--agent-token string Access token registered for agent
|
||||
--agent-version string Version of the agentk image to use (default "v14.8.1")
|
||||
-h, --help help for generate
|
||||
--kas-address string GitLab Kubernetes Agent Server address
|
||||
--name-prefix string The prefix to use for names of Kubernetes objects
|
||||
--namespace string Kubernetes namespace to create resources in (default "gitlab-agent")
|
||||
--no-rbac Do not include corresponding Roles and RoleBindings for the agent service account
|
||||
```
|
||||
|
||||
WARNING:
|
||||
|
|
|
@ -253,7 +253,7 @@ To change this setting globally, see [Default project creation protection](../ad
|
|||
|
||||
## Group activity analytics **(PREMIUM)**
|
||||
|
||||
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/207164) in GitLab 12.10 as a [beta feature](https://about.gitlab.com/handbook/product/#beta).
|
||||
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/207164) in GitLab 12.10 as a [Beta feature](../../policy/alpha-beta-support.md#beta-features).
|
||||
|
||||
For a group, you can view how many merge requests, issues, and members were created in the last 90 days.
|
||||
|
||||
|
|
|
@ -39,7 +39,7 @@ The default theme is Indigo. You can choose between 10 themes:
|
|||
|
||||
## Dark mode
|
||||
|
||||
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28252) in GitLab 13.1 as an Alpha release.
|
||||
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28252) in GitLab 13.1 as an [Alpha](../../policy/alpha-beta-support.md#alpha-features) release.
|
||||
|
||||
GitLab has started work on dark mode! The dark mode Alpha release is available in the
|
||||
spirit of iteration and the lower expectations of
|
||||
|
|
|
@ -289,7 +289,7 @@ An example `package.json`:
|
|||
> [Moved](https://gitlab.com/gitlab-org/gitlab/-/issues/211685) from GitLab Ultimate to GitLab Free in 13.1.
|
||||
|
||||
WARNING:
|
||||
Interactive Web Terminals for the Web IDE is currently in **Beta**.
|
||||
Interactive Web Terminals for the Web IDE is currently in [**Beta**](../../../policy/alpha-beta-support.md#beta-features).
|
||||
GitLab.com shared runners [do not yet support Interactive Web Terminals](https://gitlab.com/gitlab-org/gitlab/-/issues/24674),
|
||||
so you must use your own private runner to make use of this feature.
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
|
|||
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/334812) in GitLab 14.5 [with a flag](../administration/feature_flags.md) named `work_items`. Disabled by default.
|
||||
|
||||
WARNING:
|
||||
Tasks are in **Alpha**. Current implementation does not have any API requests and works with mocked data.
|
||||
Tasks are in [**Alpha**](../policy/alpha-beta-support.md#alpha-features). Current implementation does not have any API requests and works with mocked data.
|
||||
For the latest updates, check the [Tasks Roadmap](https://gitlab.com/groups/gitlab-org/-/epics/7103).
|
||||
|
||||
FLAG:
|
||||
|
|
|
@ -2016,7 +2016,7 @@ msgstr ""
|
|||
msgid "Activity"
|
||||
msgstr ""
|
||||
|
||||
msgid "Activity|An error occured while retrieving activity. Reload the page to try again."
|
||||
msgid "Activity|An error occurred while retrieving activity. Reload the page to try again."
|
||||
msgstr ""
|
||||
|
||||
msgid "Add"
|
||||
|
@ -20971,9 +20971,6 @@ msgstr ""
|
|||
msgid "Job Failed #%{build_id}"
|
||||
msgstr ""
|
||||
|
||||
msgid "Job ID"
|
||||
msgstr ""
|
||||
|
||||
msgid "Job artifact"
|
||||
msgstr ""
|
||||
|
||||
|
@ -37428,7 +37425,7 @@ msgstr ""
|
|||
msgid "This group can't be removed because it is linked to a subscription. To remove this group, %{linkStart}link the subscription%{linkEnd} with a different group."
|
||||
msgstr ""
|
||||
|
||||
msgid "This group can't be transfered because it is linked to a subscription. To transfer this group, %{linkStart}link the subscription%{linkEnd} with a different group."
|
||||
msgid "This group can't be transferred because it is linked to a subscription. To transfer this group, %{linkStart}link the subscription%{linkEnd} with a different group."
|
||||
msgstr ""
|
||||
|
||||
msgid "This group cannot be invited to a project inside a group with enforced SSO"
|
||||
|
@ -41499,7 +41496,7 @@ msgstr ""
|
|||
msgid "WikiPageConflictMessage|Someone edited the page the same time you did. Please check out %{wikiLinkStart}the page%{wikiLinkEnd} and make sure your changes will not unintentionally remove theirs."
|
||||
msgstr ""
|
||||
|
||||
msgid "WikiPage|An error occured while trying to render the content editor. Please try again later."
|
||||
msgid "WikiPage|An error occurred while trying to render the content editor. Please try again later."
|
||||
msgstr ""
|
||||
|
||||
msgid "WikiPage|Are you sure you want to switch back to the classic editor?"
|
||||
|
|
|
@ -30,23 +30,7 @@ RSpec.describe 'Commits' do
|
|||
project.add_reporter(user)
|
||||
end
|
||||
|
||||
describe 'Commit builds with jobs_tab_vue feature flag off' do
|
||||
before do
|
||||
stub_feature_flags(jobs_tab_vue: false)
|
||||
visit builds_project_pipeline_path(project, pipeline)
|
||||
end
|
||||
|
||||
it { expect(page).to have_content pipeline.sha[0..7] }
|
||||
|
||||
it 'contains generic commit status build' do
|
||||
page.within('.table-holder') do
|
||||
expect(page).to have_content "##{status.id}" # build id
|
||||
expect(page).to have_content 'generic' # build name
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe 'Commit builds with jobs_tab_vue feature flag on', :js do
|
||||
describe 'Commit builds', :js do
|
||||
before do
|
||||
visit builds_project_pipeline_path(project, pipeline)
|
||||
|
||||
|
@ -107,20 +91,7 @@ RSpec.describe 'Commits' do
|
|||
end
|
||||
end
|
||||
|
||||
context 'Download artifacts with jobs_tab_vue feature flag off' do
|
||||
before do
|
||||
stub_feature_flags(jobs_tab_vue: false)
|
||||
create(:ci_job_artifact, :archive, file: artifacts_file, job: build)
|
||||
end
|
||||
|
||||
it do
|
||||
visit pipeline_path(pipeline)
|
||||
click_on 'Download artifacts'
|
||||
expect(page.response_headers['Content-Type']).to eq(artifacts_file.content_type)
|
||||
end
|
||||
end
|
||||
|
||||
context 'Download artifacts with jobs_tab_vue feature flag on', :js do
|
||||
context 'Download artifacts', :js do
|
||||
before do
|
||||
create(:ci_job_artifact, :archive, file: artifacts_file, job: build)
|
||||
end
|
||||
|
@ -149,28 +120,7 @@ RSpec.describe 'Commits' do
|
|||
end
|
||||
end
|
||||
|
||||
context "when logged as reporter and with jobs_tab_vue feature flag off" do
|
||||
before do
|
||||
stub_feature_flags(jobs_tab_vue: false)
|
||||
project.add_reporter(user)
|
||||
create(:ci_job_artifact, :archive, file: artifacts_file, job: build)
|
||||
visit pipeline_path(pipeline)
|
||||
end
|
||||
|
||||
it 'renders header', :js do
|
||||
expect(page).to have_content pipeline.sha[0..7]
|
||||
expect(page).to have_content pipeline.git_commit_message.gsub!(/\s+/, ' ')
|
||||
expect(page).to have_content pipeline.user.name
|
||||
expect(page).not_to have_link('Cancel running')
|
||||
expect(page).not_to have_link('Retry')
|
||||
end
|
||||
|
||||
it do
|
||||
expect(page).to have_link('Download artifacts')
|
||||
end
|
||||
end
|
||||
|
||||
context "when logged as reporter and with jobs_tab_vue feature flag on", :js do
|
||||
context "when logged as reporter", :js do
|
||||
before do
|
||||
project.add_reporter(user)
|
||||
create(:ci_job_artifact, :archive, file: artifacts_file, job: build)
|
||||
|
|
|
@ -916,111 +916,7 @@ RSpec.describe 'Pipeline', :js do
|
|||
end
|
||||
end
|
||||
|
||||
describe 'GET /:project/-/pipelines/:id/builds with jobs_tab_vue feature flag turned off' do
|
||||
include_context 'pipeline builds'
|
||||
|
||||
let_it_be(:project) { create(:project, :repository) }
|
||||
|
||||
let(:pipeline) { create(:ci_pipeline, project: project, ref: 'master', sha: project.commit.id) }
|
||||
|
||||
before do
|
||||
stub_feature_flags(jobs_tab_vue: false)
|
||||
visit builds_project_pipeline_path(project, pipeline)
|
||||
end
|
||||
|
||||
it 'shows a list of jobs' do
|
||||
expect(page).to have_content('Test')
|
||||
expect(page).to have_content(build_passed.id)
|
||||
expect(page).to have_content('Deploy')
|
||||
expect(page).to have_content(build_failed.id)
|
||||
expect(page).to have_content(build_running.id)
|
||||
expect(page).to have_content(build_external.id)
|
||||
expect(page).to have_content('Retry')
|
||||
expect(page).to have_content('Cancel running')
|
||||
expect(page).to have_link('Play')
|
||||
end
|
||||
|
||||
it 'shows jobs tab pane as active' do
|
||||
expect(page).to have_css('#js-tab-builds.active')
|
||||
end
|
||||
|
||||
context 'page tabs' do
|
||||
it 'shows Pipeline, Jobs and DAG tabs with link' do
|
||||
expect(page).to have_link('Pipeline')
|
||||
expect(page).to have_link('Jobs')
|
||||
expect(page).to have_link('Needs')
|
||||
end
|
||||
|
||||
it 'shows counter in Jobs tab' do
|
||||
expect(page.find('.js-builds-counter').text).to eq(pipeline.total_size.to_s)
|
||||
end
|
||||
|
||||
it 'shows Jobs tab as active' do
|
||||
expect(page).to have_css('li.js-builds-tab-link .active')
|
||||
end
|
||||
end
|
||||
|
||||
context 'retrying jobs' do
|
||||
it { expect(page).not_to have_content('retried') }
|
||||
|
||||
context 'when retrying' do
|
||||
before do
|
||||
find('[data-testid="retryPipeline"]').click
|
||||
end
|
||||
|
||||
it 'does not show a "Retry" button', :sidekiq_might_not_need_inline do
|
||||
expect(page).not_to have_content('Retry')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'canceling jobs' do
|
||||
it { expect(page).not_to have_selector('.ci-canceled') }
|
||||
|
||||
context 'when canceling' do
|
||||
before do
|
||||
click_on 'Cancel running'
|
||||
end
|
||||
|
||||
it 'does not show a "Cancel running" button', :sidekiq_might_not_need_inline do
|
||||
expect(page).not_to have_content('Cancel running')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'playing manual job' do
|
||||
before do
|
||||
within '.pipeline-holder' do
|
||||
click_link('Play')
|
||||
end
|
||||
end
|
||||
|
||||
it { expect(build_manual.reload).to be_pending }
|
||||
end
|
||||
|
||||
context 'when user unschedules a delayed job' do
|
||||
before do
|
||||
within '.pipeline-holder' do
|
||||
click_link('Unschedule')
|
||||
end
|
||||
end
|
||||
|
||||
it 'unschedules the delayed job and shows play button as a manual job' do
|
||||
expect(page).to have_content('Trigger this manual action')
|
||||
end
|
||||
end
|
||||
|
||||
context 'failed jobs' do
|
||||
it 'displays a tooltip with the failure reason' do
|
||||
page.within('.ci-table') do
|
||||
failed_job_link = page.find('.ci-failed')
|
||||
expect(failed_job_link[:title]).to eq('Failed - (unknown failure)')
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe 'GET /:project/-/pipelines/:id/builds with jobs_tab_vue feature flag turned on' do
|
||||
describe 'GET /:project/-/pipelines/:id/builds' do
|
||||
include_context 'pipeline builds'
|
||||
|
||||
let_it_be(:project) { create(:project, :repository) }
|
||||
|
|
|
@ -553,7 +553,7 @@
|
|||
* The concert starts at <time datetime="20:00">20:00</time> and you'll be able to enjoy the band for at least <time datetime="PT2H30M">2h 30m</time>.
|
||||
* Press <kbd>Ctrl</kbd> + <kbd>C</kbd> to copy text (Windows).
|
||||
* WWF's goal is to: <q>Build a future where people live in harmony with nature.</q> We hope they succeed.
|
||||
* The error occured was: <samp>Keyboard not found. Press F1 to continue.</samp>
|
||||
* The error occurred was: <samp>Keyboard not found. Press F1 to continue.</samp>
|
||||
* The area of a triangle is: 1/2 x <var>b</var> x <var>h</var>, where <var>b</var> is the base, and <var>h</var> is the vertical height.
|
||||
* <ruby>漢<rt>ㄏㄢˋ</rt></ruby>
|
||||
* C<sub>7</sub>H<sub>16</sub> + O<sub>2</sub> → CO<sub>2</sub> + H<sub>2</sub>O
|
||||
|
@ -572,7 +572,7 @@
|
|||
<li data-sourcepos="8:1-8:149">The concert starts at <time datetime="20:00">20:00</time> and you'll be able to enjoy the band for at least <time datetime="PT2H30M">2h 30m</time>.</li>
|
||||
<li data-sourcepos="9:1-9:62">Press <kbd>Ctrl</kbd> + <kbd>C</kbd> to copy text (Windows).</li>
|
||||
<li data-sourcepos="10:1-10:105">WWF's goal is to: <q>Build a future where people live in harmony with nature.</q> We hope they succeed.</li>
|
||||
<li data-sourcepos="11:1-11:79">The error occured was: <samp>Keyboard not found. Press F1 to continue.</samp>
|
||||
<li data-sourcepos="11:1-11:79">The error occurred was: <samp>Keyboard not found. Press F1 to continue.</samp>
|
||||
</li>
|
||||
<li data-sourcepos="12:1-12:136">The area of a triangle is: 1/2 x <var>b</var> x <var>h</var>, where <var>b</var> is the base, and <var>h</var> is the vertical height.</li>
|
||||
<li data-sourcepos="13:1-13:35"><ruby>漢<rt>ㄏㄢˋ</rt></ruby></li>
|
||||
|
|
|
@ -109,7 +109,7 @@ describe('ValueStreamMetrics', () => {
|
|||
});
|
||||
|
||||
describe('filterFn', () => {
|
||||
const transferedMetricsData = prepareTimeMetricsData(metricsData, METRICS_POPOVER_CONTENT);
|
||||
const transferredMetricsData = prepareTimeMetricsData(metricsData, METRICS_POPOVER_CONTENT);
|
||||
|
||||
it('with a filter function, will call the function with the metrics data', async () => {
|
||||
const filteredData = [
|
||||
|
@ -123,7 +123,7 @@ describe('ValueStreamMetrics', () => {
|
|||
|
||||
await waitForPromises();
|
||||
|
||||
expect(mockFilterFn).toHaveBeenCalledWith(transferedMetricsData);
|
||||
expect(mockFilterFn).toHaveBeenCalledWith(transferredMetricsData);
|
||||
expect(wrapper.vm.metrics).toEqual(filteredData);
|
||||
});
|
||||
|
||||
|
@ -133,7 +133,7 @@ describe('ValueStreamMetrics', () => {
|
|||
await waitForPromises();
|
||||
|
||||
expect(mockFilterFn).not.toHaveBeenCalled();
|
||||
expect(wrapper.vm.metrics).toEqual(transferedMetricsData);
|
||||
expect(wrapper.vm.metrics).toEqual(transferredMetricsData);
|
||||
});
|
||||
});
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# frozen_string_literal: true
|
||||
RSpec.shared_examples 'avoid N+1 on environments serialization' do |ee: false|
|
||||
# Investigating in https://gitlab.com/gitlab-org/gitlab/-/issues/353209
|
||||
let(:query_threshold) { 50 + (ee ? 4 : 0) }
|
||||
let(:query_threshold) { 9 + (ee ? 4 : 0) }
|
||||
|
||||
it 'avoids N+1 database queries with grouping', :request_store do
|
||||
create_environment_with_associations(project)
|
||||
|
|
Loading…
Reference in a new issue