Add latest changes from gitlab-org/gitlab@master

This commit is contained in:
GitLab Bot 2022-09-30 18:08:31 +00:00
parent 4dd542c935
commit 7510df057e
38 changed files with 205 additions and 208 deletions

View File

@ -2,11 +2,11 @@
# project here: https://gitlab.com/gitlab-org/gitlab/-/project_members
# As described in https://docs.gitlab.com/ee/user/project/code_owners.html
* @gitlab-org/maintainers/rails-backend @gitlab-org/maintainers/frontend @gitlab-org/maintainers/database @gl-quality/qe-maintainers @gitlab-org/delivery @gitlab-org/maintainers/cicd-templates @kwiebers @nolith @jacobvosmaer-gitlab
* @gitlab-org/maintainers/rails-backend @gitlab-org/maintainers/frontend @gitlab-org/maintainers/database @gl-quality/qe-maintainers @gitlab-org/delivery @gitlab-org/maintainers/cicd-templates @kwiebers @nolith @jacobvosmaer-gitlab @gitlab-org/tw-leadership
CODEOWNERS @clefelhocz1 @timzallmann @cdu1 @wayne @dsatcher @sgoldstein @jeromezng @stanhu @susantacker @dianalogan @kpaizee @sselhorn
docs/CODEOWNERS @clefelhocz1 @timzallmann @cdu1 @wayne @dsatcher @sgoldstein @jeromezng @stanhu @susantacker @dianalogan @kpaizee @sselhorn
.gitlab/CODEOWNERS @clefelhocz1 @timzallmann @cdu1 @wayne @dsatcher @sgoldstein @jeromezng @stanhu @susantacker @dianalogan @kpaizee @sselhorn
CODEOWNERS @clefelhocz1 @timzallmann @cdu1 @wayne @dsatcher @sgoldstein @jeromezng @stanhu @gitlab-org/tw-leadership
docs/CODEOWNERS @clefelhocz1 @timzallmann @cdu1 @wayne @dsatcher @sgoldstein @jeromezng @stanhu @gitlab-org/tw-leadership
.gitlab/CODEOWNERS @clefelhocz1 @timzallmann @cdu1 @wayne @dsatcher @sgoldstein @jeromezng @stanhu @gitlab-org/tw-leadership
## Allows release tooling to update the Gitaly Version
GITALY_SERVER_VERSION @project_278964_bot6 @gitlab-org/maintainers/rails-backend @gitlab-org/delivery
@ -20,6 +20,14 @@ GITALY_SERVER_VERSION @project_278964_bot6 @gitlab-org/maintainers/rails-backend
/data/deprecations/*.yml
/data/removals/*.yml
## Technical writing files that do need approval
/data/deprecations/templates/ @marcel.amirault @gitlab-org/tw-leadership @sarahgerman
/data/removals/templates/ @marcel.amirault @gitlab-org/tw-leadership @sarahgerman
.markdownlint.yml @marcel.amirault @eread @aqualls @gitlab-org/tw-leadership
/doc/.markdownlint/ @marcel.amirault @eread @aqualls @gitlab-org/tw-leadership
/doc/.vale/ @marcel.amirault @eread @aqualls @gitlab-org/tw-leadership
/lib/tasks/gitlab/tw/codeowners.rake @aqualls @gitlab-org/tw-leadership
^[Backend]
*.rb @gitlab-org/maintainers/rails-backend
*.rake @gitlab-org/maintainers/rails-backend
@ -333,10 +341,9 @@ ee/lib/ee/gitlab/checks/** @proglottis @toon @zj-gitlab
lib/gitlab/checks/** @proglottis @toon @zj-gitlab
^[Documentation Directories]
.markdownlint.yml @marcel.amirault @eread @aqualls @dianalogan @kpaizee
/doc/ @gl-docsteam
/doc/.markdownlint/ @marcel.amirault @eread @aqualls @dianalogan @kpaizee
/doc/.vale/ @marcel.amirault @eread @aqualls @dianalogan @kpaizee
/data/deprecations/ @gl-docsteam
/data/removals/ @gl-docsteam
^[Documentation Pages]
/doc/administration/application_settings_cache.md @sselhorn

View File

@ -56,6 +56,9 @@ If you include multiple screenshots it can be helpful to hide all but the first
<!-- Base labels. -->
/label ~Quality ~QA ~test
<!-- Work classification type label, please apply ignore type label until the investigation is complete and an [issue type](https://about.gitlab.com/handbook/engineering/metrics/#work-type-classification) is determined.-->
/label ~"type::ignore"
<!-- Test failure type label, please use just one.-->
/label ~"failure::broken-test" ~"failure::flaky-test" ~"failure::stale-test" ~"failure::test-environment" ~"failure::investigating" ~"failure::new"

View File

@ -81,18 +81,16 @@ export default {
:class="{
'gl-bg-orange-50': blocksMerge && !allResolved,
'gl-bg-gray-50': !blocksMerge || allResolved,
'gl-pr-2': !allResolved,
}"
data-testid="discussions-counter-text"
>
<template v-if="allResolved">
{{ __('All threads resolved!') }}
<gl-dropdown
v-gl-tooltip:discussionCounter.hover.bottom
size="small"
category="tertiary"
right
:title="__('Thread options')"
:aria-label="__('Thread options')"
toggle-class="btn-icon"
class="gl-pt-0! gl-px-2 gl-h-full gl-ml-2"
>
@ -135,12 +133,9 @@ export default {
@click="jumpNext"
/>
<gl-dropdown
v-gl-tooltip:discussionCounter.hover.bottom
size="small"
category="tertiary"
right
:title="__('Thread options')"
:aria-label="__('Thread options')"
toggle-class="btn-icon"
class="gl-pt-0! gl-px-2"
>

View File

@ -165,6 +165,7 @@ import { loadCSSFile } from '../lib/utils/css_utils';
setPreview() {
const filename = this.fileInput.val().replace(FILENAMEREGEX, '');
this.previewImage.attr('src', this.dataURL);
this.previewImage.attr('srcset', this.dataURL);
return this.filename.text(filename);
}

View File

@ -19,7 +19,7 @@ export default class Profile {
initAvatarGlCrop() {
const cropOpts = {
filename: '.js-avatar-filename',
previewImage: '.avatar-image .avatar',
previewImage: '.avatar-image .gl-avatar',
modalCrop: '.modal-profile-crop',
pickImageEl: '.js-choose-user-avatar-button',
uploadImageBtn: '.js-upload-user-avatar',

View File

@ -1,19 +1,6 @@
@import 'mixins_and_variables_and_functions';
@import 'framework/buttons';
.avatar-image {
margin-bottom: $grid-size;
.avatar {
float: none;
}
@include media-breakpoint-up(sm) {
float: left;
margin-bottom: 0;
}
}
.edit-user {
.emoji-menu-toggle-button {
@include emoji-menu-toggle-button;

View File

@ -215,7 +215,7 @@ module Ci
validates :maintenance_note, length: { maximum: 1024 }
alias_attribute :maintenance_note, :maintainer_note
alias_attribute :maintenance_note, :maintainer_note # NOTE: Need to keep until REST v5 is implemented
# Searches for runners matching the given query.
#
@ -345,7 +345,7 @@ module Ci
end
# DEPRECATED
# TODO Remove in %16.0 in favor of `status` for REST calls, see https://gitlab.com/gitlab-org/gitlab/-/issues/344648
# TODO Remove in v5 in favor of `status` for REST calls, see https://gitlab.com/gitlab-org/gitlab/-/issues/344648
def deprecated_rest_status
return :stale if stale?

View File

@ -26,7 +26,7 @@
.col-lg-8
.avatar-image
= link_to avatar_icon_for_user(@user, 400), target: '_blank', rel: 'noopener noreferrer' do
= image_tag avatar_icon_for_user(@user, 96), alt: '', class: 'avatar s96'
= render Pajamas::AvatarComponent.new(@user, size: 96, alt: "", class: 'gl-float-left gl-mr-5')
%h5.gl-mt-0= s_("Profiles|Upload new avatar")
.gl-display-flex.gl-align-items-center.gl-my-3
= render Pajamas::ButtonComponent.new(button_options: { class: 'js-choose-user-avatar-button' }) do

View File

@ -1,7 +1,8 @@
- display_issuable_type = issuable_display_type(@merge_request)
.float-left.btn-group.gl-md-ml-3.gl-display-flex.dropdown.gl-new-dropdown.gl-md-w-auto.gl-w-full
= button_tag type: 'button', class: "btn dropdown-toggle btn-default btn-md gl-button gl-dropdown-toggle btn-default-tertiary dropdown-icon-only dropdown-toggle-no-caret has-tooltip gl-display-none! gl-md-display-inline-flex!", data: { 'toggle' => 'dropdown' }, title: _('Merge request actions') , 'aria-label': _('Merge request actions') do
= button_tag type: 'button', class: "btn dropdown-toggle btn-default btn-md gl-button gl-dropdown-toggle btn-default-tertiary dropdown-icon-only dropdown-toggle-no-caret gl-display-none! gl-md-display-inline-flex!", data: { 'toggle' => 'dropdown' } do
%span.gl-sr-only= _('Toggle dropdown')
= sprite_icon "ellipsis_v", size: 16, css_class: "dropdown-icon gl-icon"
= button_tag type: 'button', class: "btn dropdown-toggle btn-default btn-md btn-block gl-button gl-dropdown-toggle gl-md-display-none!", data: { 'toggle' => 'dropdown' } do
%span.gl-new-dropdown-button-text= _('Merge request actions')

View File

@ -1,18 +0,0 @@
- commit = update
%tr
%td
= link_to project_commits_path(@project, commit.head.name) do
%strong
= commit.head.name
- if @project.root_ref?(commit.head.name)
%span.label default
%td
%div
= link_to project_commits_path(@project, commit.id) do
%code= commit.short_id
= image_tag avatar_icon_for_email(commit.author_email), class: "", width: 16, alt: ''
= markdown(truncate(commit.title, length: 40), pipeline: :single_line, author: commit.author)
%td
%span.float-right.cgray
= time_ago_with_tooltip(commit.committed_date)

View File

@ -2,8 +2,8 @@
.col-lg-3.col-md-4.col-sm-12
.card
.card-body
= image_tag avatar_icon_for_user(starrer.user, 40), class: "avatar s40", alt: ''
.card-body.gl-display-flex
= render Pajamas::AvatarComponent.new(starrer.user, size: 48, alt: "", class: 'gl-mr-3')
.user-info
.block-truncated

View File

@ -2,7 +2,7 @@
- notes_count = @noteable_meta_data[snippet.id].user_notes_count
%li.snippet-row.py-3{ data: { qa_selector: 'snippet_link', qa_snippet_title: snippet.title } }
= image_tag avatar_icon_for_user(snippet.author), class: "avatar s40 d-none d-sm-block", alt: ''
= render Pajamas::AvatarComponent.new(snippet.author, size: 48, alt: "", class: 'gl-display-none gl-sm-display-block gl-float-left gl-mr-3')
= link_to gitlab_snippet_path(snippet), class: "title" do
= snippet.title

View File

@ -3,7 +3,7 @@
.col-lg-3.col-md-4.col-sm-12
= render Pajamas::CardComponent.new(card_options: { class: 'gl-mb-5' }) do |c|
= c.body do
= image_tag avatar_icon_for_user(user, 40), class: "avatar s40", alt: ''
= render Pajamas::AvatarComponent.new(user, size: 48, alt: "", class: 'gl-float-left gl-mr-3')
.user-info
.block-truncated

View File

@ -44,20 +44,9 @@ module Gitlab
# This exception will be more useful in development when a new
# Representation is created but the developer forgot to add a
# `:github_identifiers` field.
Gitlab::Import::ImportFailureService.track(
project_id: project.id,
error_source: importer_class.name,
exception: e,
fail_import: true
)
raise(e)
track_and_raise_exception(project, e, fail_import: true)
rescue StandardError => e
Gitlab::Import::ImportFailureService.track(
project_id: project.id,
error_source: importer_class.name,
exception: e
)
track_and_raise_exception(project, e)
end
def object_type
@ -90,6 +79,17 @@ module Gitlab
github_identifiers: github_identifiers
)
end
def track_and_raise_exception(project, exception, fail_import: false)
Gitlab::Import::ImportFailureService.track(
project_id: project.id,
error_source: importer_class.name,
exception: exception,
fail_import: fail_import
)
raise(exception)
end
end
end
end

View File

@ -1,11 +1,12 @@
- name: "REST and GraphQL API Runner status will not return `paused`"
- name: "GraphQL API Runner status will not return `paused`"
announcement_milestone: "14.5" # The milestone when this feature was first announced as deprecated.
announcement_date: "2021-11-22"
removal_milestone: "16.0" # the milestone when this feature is planned to be removed
removal_date: "2023-04-22" # the date of the milestone release when this feature is planned to be removed
breaking_change: true
body: | # Do not modify this line, instead modify the lines below.
The GitLab Runner REST and GraphQL API endpoints will not return `paused` or `active` as a status in GitLab 16.0.
The GitLab Runner GraphQL API endpoints will not return `paused` or `active` as a status in GitLab 16.0.
In a future v5 of the REST API, the endpoints for GitLab Runner will also not return `paused` or `active`.
A runner's status will only relate to runner contact status, such as:
`online`, `offline`, or `not_connected`. Status `paused` or `active` will no longer appear.

View File

@ -6,15 +6,16 @@
breaking_change: true
reporter: pedropombeiro
body: |
Occurrences of the `active` identifier in the GitLab Runner REST and GraphQL API endpoints will be
renamed to `paused` in GitLab 16.0, namely:
Occurrences of the `active` identifier in the GitLab Runner GraphQL API endpoints will be
renamed to `paused` in GitLab 16.0.
- GraphQL API:
- the `CiRunner` property;
- the `RunnerUpdateInput` input type for the `runnerUpdate` mutation;
- the `runners` and `Group.runners` queries.
- REST API:
- endpoints taking or returning `active` properties, such as:
- For the GraphQL API, this change affects:
- the `CiRunner` property
- the `RunnerUpdateInput` input type for the `runnerUpdate` mutation
- the `runners` and `Group.runners` queries
- In v4 of the REST API, starting in GitLab 14.8, you can use the `paused` property in place of `active`
- In v5 of the REST API, this change will affect:
- endpoints taking or returning `active` property, such as:
- `GET /runners`
- `GET /runners/all`
- `GET /runners/:id` / `PUT /runners/:id`
@ -22,9 +23,7 @@
- `GET /projects/:id/runners` / `POST /projects/:id/runners`
- `GET /groups/:id/runners`
The 16.0 release of the GitLab Runner will start using the `paused` property when registering runners, and therefore
will only be compatible with GitLab 16.0 and later. Until 16.0, GitLab will accept the deprecated `active` flag from
existing runners.
The 16.0 release of GitLab Runner will start using the `paused` property when registering runners.
stage: Verify
tiers: [Core, Premium, Ultimate]
issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/351109

View File

@ -1,15 +0,0 @@
- name: "REST API endpoint to list group runners no longer accepts `project_type` value for `type` argument"
announcement_milestone: "14.8"
announcement_date: "2022-02-22"
removal_milestone: "16.0"
removal_date: "2023-04-22"
breaking_change: true
reporter: pedropombeiro
body: |
The `GET /groups/:id/runners?type=project_type` endpoint will be removed in GitLab 16.0. The endpoint always returned an empty collection.
stage: Verify
tiers: [Core, Premium, Ultimate]
issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/351466
documentation_url: https://docs.gitlab.com/ee/api/runners.html
image_url: # (optional) This is a link to a thumbnail image depicting the feature
video_url: # (optional) Use the youtube thumbnail URL with the structure of https://img.youtube.com/vi/UNIQUEID/hqdefault.jpg

View File

@ -1,17 +1,20 @@
- name: "REST API Runner will not accept `status` filter values of `active` or `paused`"
- name: "GraphQL API Runner will not accept `status` filter values of `active` or `paused`"
announcement_milestone: "14.8" # The milestone when this feature was first announced as deprecated.
announcement_date: "2022-02-22"
removal_milestone: "16.0"
removal_date: "2023-04-22"
breaking_change: true
body: | # Do not modify this line, instead modify the lines below.
The GitLab Runner REST endpoints will stop accepting `paused` or `active` as a status value in GitLab 16.0.
The GitLab Runner GraphQL endpoints will stop accepting `paused` or `active` as a status value in GitLab 16.0.
A runner's status will only relate to runner contact status, such as: `online`, `offline`.
Status values `paused` or `active` will no longer be accepted and will be replaced by the `paused` query parameter.
When checking for paused runners, API users are advised to specify `paused=true` as the query parameter.
When checking for active runners, specify `paused=false`.
When checking for paused runners, API users are advised to specify `paused: true` as the query parameter.
When checking for active runners, specify `paused: false`.
The REST API endpoints will follow in the same direction in a future REST v5 API, however the new `paused`
status value can be used in place of `active` since GitLab 14.8.
stage: Verify
tiers: [Core, Premium, Ultimate]
issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/351109

View File

@ -982,14 +982,6 @@ Find this content in the [Container Registry troubleshooting documentation](../p
This content has been moved to [Troubleshooting Sidekiq](sidekiq.md).
## Redis
### Connect to Redis (omnibus)
```shell
/opt/gitlab/embedded/bin/redis-cli -s /var/opt/gitlab/redis/redis.socket
```
## LFS
### Get information about LFS objects and associated project

View File

@ -36,7 +36,10 @@ issue list with a search query, including labels or the test case's title.
Prerequisite:
- You must have at least the Guest role.
Whether you can view an test case depends on the [project visibility level](../../user/public_access.md):
- Public project: You don't have to be a member of the project.
- Private project: You must have at least the Guest role for the project.
To view a test case:

View File

@ -45,15 +45,27 @@ Once a test is in quarantine, there are 3 choices:
On our CI, we use [RSpec::Retry](https://github.com/NoRedInk/rspec-retry) to automatically retry a failing example a few
times (see [`spec/spec_helper.rb`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/spec/spec_helper.rb) for the precise retries count).
We also use a home-made `RspecFlaky::Listener` listener which records flaky
examples in a JSON report file on `main` (`retrieve-tests-metadata` and
`update-tests-metadata` jobs).
We also use a custom [`RspecFlaky::Listener`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/tooling/rspec_flaky/listener.rb).
This listener runs in the `update-tests-metadata` job in `maintenance` scheduled pipelines
on the `master` branch, and saves flaky examples to `rspec/flaky/report-suite.json`.
The report file is then retrieved by the `retrieve-tests-metadata` job in all pipelines.
This was originally implemented in: <https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/13021>.
If you want to enable retries locally, you can use the `RETRIES` environment variable.
For instance `RETRIES=1 bin/rspec ...` would retry the failing examples once.
To generate the reports locally, use the `FLAKY_RSPEC_GENERATE_REPORT` environment variable.
For example, `FLAKY_RSPEC_GENERATE_REPORT=1 bin/rspec ...`.
### Usage of the `rspec/flaky/report-suite.json` report
The `rspec/flaky/report-suite.json` report is:
- Used for [automatically skipping known flaky tests](../pipelines.md#automatic-skipping-of-flaky-tests).
- [Imported into Snowflake](https://gitlab.com/gitlab-data/analytics/-/blob/master/extract/gitlab_flaky_tests/upload.py)
once per day, for monitoring with the [internal dashboard](https://app.periscopedata.com/app/gitlab/888968/EP---Flaky-tests).
## Problems we had in the past at GitLab
- [`rspec-retry` is biting us when some API specs fail](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/29242): <https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/9825>

View File

@ -200,7 +200,6 @@ import { shallowMountExtended } from 'helpers/vue_test_utils_helper'
const wrapper = shallowMountExtended(ExampleComponent);
// In this example, `wrapper` is a `@vue/test-utils` wrapper returned from `mount` or `shallowMount`.
it('exists', () => {
// Best (especially for integration tests)
wrapper.findByRole('link', { name: /Click Me/i })

View File

@ -10,9 +10,6 @@ Incidents are critical entities in incident management workflows. They represent
a service disruption or outage that needs to be restored urgently. GitLab provides
tools for the triage, response, and remediation of incidents.
Users with at least Guest [permissions](../../user/permissions.md) can access
incidents [on public projects](../../user/permissions.md#project-members-permissions).
## Incident creation
You can create an incident manually or automatically.
@ -86,8 +83,14 @@ confirm that a GitLab incident is created from the incident.
## Incident list
For users with at least Guest [permissions](../../user/permissions.md), the
Incident list is available at **Monitor > Incidents**
Whether you can view an incident depends on the [project visibility level](../../user/public_access.md) and
the incident's confidentiality status:
- Public project and a non-confidential incident: You don't have to be a member of the project.
- Private project and non-confidential incident: You must have at least the Guest role for the project.
- Confidential incident (regardless of project visibility): You must have at least the Reporter.
The Incident list is available at **Monitor > Incidents**
in your project's sidebar. The list contains the following metrics:
![Incident List](img/incident_list_v14_9.png)
@ -138,10 +141,9 @@ For a live example of the incident list in action, visit this
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/230847) in GitLab 13.4.
Users with at least Guest [permissions](../../user/permissions.md) can view
the Incident Details page. Navigate to **Monitor > Incidents** in your project's
sidebar, and select an incident from the list.
1. On the top bar, select **Main menu > Projects** and find your project.
1. On the left sidebar, select **Monitor > Incidents**.
1. Select an incident from the list.
When you take any of these actions on an incident, GitLab logs a system note and
displays it in the Incident Details view:

View File

@ -809,6 +809,29 @@ To align with this change, API calls to list external status checks will also re
</div>
<div class="deprecation removal-160 breaking-change">
### GraphQL API Runner will not accept `status` filter values of `active` or `paused`
Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-04-22)
WARNING:
This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/).
Review the details carefully before upgrading.
The GitLab Runner GraphQL endpoints will stop accepting `paused` or `active` as a status value in GitLab 16.0.
A runner's status will only relate to runner contact status, such as: `online`, `offline`.
Status values `paused` or `active` will no longer be accepted and will be replaced by the `paused` query parameter.
When checking for paused runners, API users are advised to specify `paused: true` as the query parameter.
When checking for active runners, specify `paused: false`.
The REST API endpoints will follow in the same direction in a future REST v5 API, however the new `paused`
status value can be used in place of `active` since GitLab 14.8.
</div>
<div class="deprecation removal-150 breaking-change">
### GraphQL ID and GlobalID compatibility
@ -968,40 +991,6 @@ The `instanceStatisticsMeasurements` GraphQL node has been renamed to `usageTren
<div class="deprecation removal-160 breaking-change">
### REST API Runner will not accept `status` filter values of `active` or `paused`
Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-04-22)
WARNING:
This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/).
Review the details carefully before upgrading.
The GitLab Runner REST endpoints will stop accepting `paused` or `active` as a status value in GitLab 16.0.
A runner's status will only relate to runner contact status, such as: `online`, `offline`.
Status values `paused` or `active` will no longer be accepted and will be replaced by the `paused` query parameter.
When checking for paused runners, API users are advised to specify `paused=true` as the query parameter.
When checking for active runners, specify `paused=false`.
</div>
<div class="deprecation removal-160 breaking-change">
### REST API endpoint to list group runners no longer accepts `project_type` value for `type` argument
Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-04-22)
WARNING:
This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/).
Review the details carefully before upgrading.
The `GET /groups/:id/runners?type=project_type` endpoint will be removed in GitLab 16.0. The endpoint always returned an empty collection.
</div>
<div class="deprecation removal-160 breaking-change">
### REST and GraphQL API Runner usage of `active` replaced by `paused`
Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-04-22)
@ -1010,15 +999,16 @@ WARNING:
This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/).
Review the details carefully before upgrading.
Occurrences of the `active` identifier in the GitLab Runner REST and GraphQL API endpoints will be
renamed to `paused` in GitLab 16.0, namely:
Occurrences of the `active` identifier in the GitLab Runner GraphQL API endpoints will be
renamed to `paused` in GitLab 16.0.
- GraphQL API:
- the `CiRunner` property;
- the `RunnerUpdateInput` input type for the `runnerUpdate` mutation;
- the `runners` and `Group.runners` queries.
- REST API:
- endpoints taking or returning `active` properties, such as:
- For the GraphQL API, this change affects:
- the `CiRunner` property
- the `RunnerUpdateInput` input type for the `runnerUpdate` mutation
- the `runners` and `Group.runners` queries
- In v4 of the REST API, starting in GitLab 14.8, you can use the `paused` property in place of `active`
- In v5 of the REST API, this change will affect:
- endpoints taking or returning `active` property, such as:
- `GET /runners`
- `GET /runners/all`
- `GET /runners/:id` / `PUT /runners/:id`
@ -1026,9 +1016,7 @@ renamed to `paused` in GitLab 16.0, namely:
- `GET /projects/:id/runners` / `POST /projects/:id/runners`
- `GET /groups/:id/runners`
The 16.0 release of the GitLab Runner will start using the `paused` property when registering runners, and therefore
will only be compatible with GitLab 16.0 and later. Until 16.0, GitLab will accept the deprecated `active` flag from
existing runners.
The 16.0 release of GitLab Runner will start using the `paused` property when registering runners.
</div>
@ -1788,6 +1776,27 @@ Administrators who need to add runners for multiple projects can register a runn
</div>
<div class="deprecation removal-160 breaking-change">
### GraphQL API Runner status will not return `paused`
Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-04-22)
WARNING:
This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/).
Review the details carefully before upgrading.
The GitLab Runner GraphQL API endpoints will not return `paused` or `active` as a status in GitLab 16.0.
In a future v5 of the REST API, the endpoints for GitLab Runner will also not return `paused` or `active`.
A runner's status will only relate to runner contact status, such as:
`online`, `offline`, or `not_connected`. Status `paused` or `active` will no longer appear.
When checking if a runner is `paused`, API users are advised to check the boolean attribute
`paused` to be `true` instead. When checking if a runner is `active`, check if `paused` is `false`.
</div>
<div class="deprecation removal-150 breaking-change">
### Known host required for GitLab Runner SSH executor
@ -1820,26 +1829,6 @@ In milestone 16.0, we will remove the `pipelines` attribute from the API respons
</div>
<div class="deprecation removal-160 breaking-change">
### REST and GraphQL API Runner status will not return `paused`
Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-04-22)
WARNING:
This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/).
Review the details carefully before upgrading.
The GitLab Runner REST and GraphQL API endpoints will not return `paused` or `active` as a status in GitLab 16.0.
A runner's status will only relate to runner contact status, such as:
`online`, `offline`, or `not_connected`. Status `paused` or `active` will no longer appear.
When checking if a runner is `paused`, API users are advised to check the boolean attribute
`paused` to be `true` instead. When checking if a runner is `active`, check if `paused` is `false`.
</div>
<div class="deprecation removal-159 breaking-change">
### SaaS certificate-based integration with Kubernetes

View File

@ -182,7 +182,7 @@ To do this:
1. On the top bar, select **Main menu > Admin**.
1. On the left sidebar, select **Settings > General**.
1. Expand the **Account and limit** section.
1. Under **Dormant users**, check **Deactivate dormant users after 90 days of inactivity**.
1. Under **Dormant users**, check **Deactivate dormant users after a period of inactivity**.
1. Under **Period of inactivity (days)**, enter a period of time before deactivation.
1. Select **Save changes**.

View File

@ -98,6 +98,10 @@ and gives you the option to return to the search results page.
## Searching for specific terms
> - [Removed support for partial matches in issue searches](https://gitlab.com/gitlab-org/gitlab/-/issues/273784) in GitLab 14.9 [with a flag](../../administration/feature_flags.md) named `issues_full_text_search`. Disabled by default.
> - Feature flag [`issues_full_text_search` enabled on GitLab.com](https://gitlab.com/gitlab-org/gitlab/-/issues/273784) in GitLab 14.10.
> - Feature flag [`issues_full_text_search` enabled on self-managed](https://gitlab.com/gitlab-org/gitlab/-/issues/273784) in GitLab 15.2.
You can filter issues and merge requests by specific terms included in titles or descriptions.
- Syntax
@ -108,6 +112,9 @@ You can filter issues and merge requests by specific terms included in titles or
- For performance reasons, terms shorter than 3 chars are ignored. For example: searching
issues for `included in titles` is same as `included titles`
- Search is limited to 4096 characters and 64 terms per query.
- When searching issues, partial matches are not allowed. For example: searching for `play` will
not return issues that have the word `display`. But variations of words will still match, so searching
for `displays` also returns issues that have the word `display`.
## Retrieve search results as feed

View File

@ -7,7 +7,7 @@ module API
expose :id
expose :description
expose :ip_address
expose :active # TODO Remove in %16.0 in favor of `paused` for REST calls, see https://gitlab.com/gitlab-org/gitlab/-/issues/351109
expose :active # TODO Remove in v5 in favor of `paused` for REST calls, see https://gitlab.com/gitlab-org/gitlab/-/issues/375709
expose :paused do |runner|
!runner.active
end
@ -16,7 +16,7 @@ module API
expose :name
expose :online?, as: :online
# DEPRECATED
# TODO Remove in %16.0 in favor of `status` for REST calls, see https://gitlab.com/gitlab-org/gitlab/-/issues/344648
# TODO Remove in v5 in favor of `status` for REST calls, see https://gitlab.com/gitlab-org/gitlab/-/issues/375709
expose :deprecated_rest_status, as: :status
end
end

View File

@ -43,6 +43,8 @@ image: maven:3-openjdk-8
# Cache downloaded dependencies and plugins between builds.
# To keep cache across branches add 'key: "$CI_JOB_NAME"'
# Be aware that `mvn deploy` will install the built jar into this repository. If you notice your cache size
# increasing, consider adding `-Dmaven.install.skip=true` to `MAVEN_OPTS` or in `.mvn/maven.config`
cache:
paths:
- .m2/repository

View File

@ -41361,9 +41361,6 @@ msgstr ""
msgid "This will remove the fork relationship between this project and other projects in the fork network."
msgstr ""
msgid "Thread options"
msgstr ""
msgid "Thread to reply to cannot be found"
msgstr ""
@ -41962,6 +41959,9 @@ msgstr ""
msgid "Toggle commit list"
msgstr ""
msgid "Toggle dropdown"
msgstr ""
msgid "Toggle emoji award"
msgstr ""

View File

@ -226,7 +226,11 @@ module QA
end
def api_housekeeping_path
"/projects/#{id}/housekeeping"
"#{api_get_path}/housekeeping"
end
def api_protected_branches_path
"#{api_get_path}/protected_branches"
end
def api_post_body
@ -423,7 +427,7 @@ module QA
end
def wikis
response = get(request_url(api_wikis_path))
response = api_get_from(api_wikis_path)
parse_body(response)
end
@ -440,6 +444,11 @@ module QA
api_post_to(api_releases_path, tag_name: tag, ref: ref, **params)
end
def protected_branches
response = api_get_from(api_protected_branches_path)
parse_body(response)
end
# Uses the API to wait until a pull mirroring update is successful (pull mirroring is treated as an import)
def wait_for_pull_mirroring
mirror_succeeded = Support::Retrier.retry_until(

View File

@ -41,6 +41,7 @@ module QA
aggregate_failures do
verify_status_data
verify_repository_import
verify_protected_branches_import
verify_commits_import
verify_labels_import
verify_issues_import
@ -69,6 +70,21 @@ module QA
expect(imported_project.api_response[:import_error]).to be_nil
end
def verify_protected_branches_import
branches = imported_project.protected_branches.map do |branch|
branch.slice(:name, :allow_force_push, :code_owner_approval_required)
end
expect(branches.first).to include(
{
name: 'main'
# TODO: Add validation once https://gitlab.com/groups/gitlab-org/-/epics/8585 is closed
# At the moment both options are always set to false regardless of state in github
# allow_force_push: true,
# code_owner_approval_required: true
}
)
end
def verify_commits_import
expect(imported_project.commits.length).to eq(2)
end
@ -122,7 +138,7 @@ module QA
mr.iid = merge_requests.first[:iid]
mr.api_client = api_client
end.reload!
mr_comments = merge_request.comments.map { |comment| comment[:body] } # rubocop:disable Rails/Pluck
mr_comments = merge_request.comments.map { |comment| comment[:body] }
expect(merge_requests.length).to eq(1)
expect(merge_request.api_resource).to include(

View File

@ -24,14 +24,14 @@ RSpec.describe 'Issuables Close/Reopen/Report toggle' do
context 'close/reopen/report toggle' do
it 'opens a dropdown when toggle is clicked' do
click_button 'Merge request actions'
click_button 'Toggle dropdown'
expect(container).to have_link("Close merge request")
expect(container).to have_link('Report abuse')
end
it 'links to Report Abuse' do
click_button 'Merge request actions'
click_button 'Toggle dropdown'
click_link 'Report abuse'
expect(page).to have_content('Report abuse to admin')
@ -42,7 +42,7 @@ RSpec.describe 'Issuables Close/Reopen/Report toggle' do
let(:issuable) { create(:merge_request, :opened, source_project: project) }
it 'shows the `Edit` and `Mark as draft` buttons' do
click_button 'Merge request actions'
click_button 'Toggle dropdown'
expect(container).to have_link('Edit')
expect(container).to have_link('Mark as draft')
@ -56,7 +56,7 @@ RSpec.describe 'Issuables Close/Reopen/Report toggle' do
let(:issuable) { create(:merge_request, :closed, source_project: project) }
it 'shows both the `Edit` and `Reopen` button' do
click_button 'Merge request actions'
click_button 'Toggle dropdown'
expect(container).to have_link('Edit')
expect(container).to have_link('Report abuse')
@ -68,7 +68,7 @@ RSpec.describe 'Issuables Close/Reopen/Report toggle' do
let(:issuable) { create(:merge_request, :closed, source_project: project, author: user) }
it 'shows both the `Edit` and `Reopen` button' do
click_button 'Merge request actions'
click_button 'Toggle dropdown'
expect(container).to have_link('Edit')
expect(container).to have_link('Reopen merge request')

View File

@ -90,7 +90,7 @@ RSpec.describe 'Merge Request Discussion Lock', :js do
end
it 'the user can lock the merge_request' do
click_button 'Merge request actions'
click_button 'Toggle dropdown'
expect(page).to have_content('Lock merge request')
end
@ -103,7 +103,7 @@ RSpec.describe 'Merge Request Discussion Lock', :js do
end
it 'the user can unlock the merge_request' do
click_button 'Merge request actions'
click_button 'Toggle dropdown'
expect(page).to have_content('Unlock merge request')
end

View File

@ -43,7 +43,7 @@ RSpec.describe 'User manages subscription', :js do
it 'toggles subscription' do
wait_for_requests
click_button 'Merge request actions'
click_button 'Toggle dropdown'
expect(page).to have_selector('.gl-toggle:not(.is-checked)')
find('[data-testid="notifications-toggle"] .gl-toggle').click

View File

@ -16,12 +16,12 @@ RSpec.describe 'Merge request > User marks merge request as draft', :js do
end
it 'toggles draft status' do
click_button 'Merge request actions'
click_button 'Toggle dropdown'
click_link 'Mark as draft'
expect(page).to have_content("Draft: #{merge_request.title}")
click_button 'Merge request actions'
click_button 'Toggle dropdown'
page.within('.detail-page-header-actions') do
click_link 'Mark as ready'

View File

@ -31,7 +31,7 @@ RSpec.describe 'User uploads avatar to profile' do
wait_for_all_requests
data_uri = find('.avatar-image .avatar')['src']
data_uri = find('.avatar-image .gl-avatar')['src']
expect(page.find('.header-user-avatar')['src']).to eq data_uri
expect(page.find('[data-testid="sidebar-user-avatar"]')['src']).to eq data_uri
end

View File

@ -1147,7 +1147,7 @@ RSpec.describe API::Ci::Runners do
])
end
# TODO: Remove in %15.0 (https://gitlab.com/gitlab-org/gitlab/-/issues/351466)
# TODO: Remove when REST API v5 is implemented (https://gitlab.com/gitlab-org/gitlab/-/issues/351466)
it 'returns empty result when type does not match' do
get api("/groups/#{group.id}/runners?type=project_type", user)

View File

@ -159,11 +159,13 @@ RSpec.describe Gitlab::GithubImport::ObjectImporter, :aggregate_failures do
.with(
project_id: project.id,
exception: exception,
error_source: 'klass_name'
error_source: 'klass_name',
fail_import: false
)
.and_call_original
worker.import(project, client, { 'number' => 10, 'github_id' => 1 })
expect { worker.import(project, client, { 'number' => 10, 'github_id' => 1 }) }
.to raise_error(exception)
expect(project.import_state.reload.status).to eq('started')