Add latest changes from gitlab-org/gitlab@master
This commit is contained in:
parent
79c94e595b
commit
c3ddbeb162
|
|
@ -15,6 +15,7 @@ import notesEventHub from '~/notes/event_hub';
|
|||
import { generateTreeList } from '~/diffs/utils/tree_worker_utils';
|
||||
import { sortTree } from '~/ide/stores/utils';
|
||||
import { containsSensitiveToken, confirmSensitiveAction } from '~/lib/utils/secret_detection';
|
||||
import { isCollapsed } from '~/diffs/utils/diff_file';
|
||||
import {
|
||||
PARALLEL_DIFF_VIEW_TYPE,
|
||||
INLINE_DIFF_VIEW_TYPE,
|
||||
|
|
@ -73,6 +74,7 @@ import {
|
|||
prepareLineForRenamedFile,
|
||||
parseUrlHashAsFileHash,
|
||||
isUrlHashNoteLink,
|
||||
findDiffFile,
|
||||
} from './utils';
|
||||
|
||||
export const setBaseConfig = ({ commit }, options) => {
|
||||
|
|
@ -1041,8 +1043,15 @@ export function reviewFile({ commit, state }, { file, reviewed = true }) {
|
|||
|
||||
export const disableVirtualScroller = ({ commit }) => commit(types.DISABLE_VIRTUAL_SCROLLING);
|
||||
|
||||
export const toggleFileCommentForm = ({ commit }, filePath) =>
|
||||
commit(types.TOGGLE_FILE_COMMENT_FORM, filePath);
|
||||
export const toggleFileCommentForm = ({ state, commit }, filePath) => {
|
||||
const file = findDiffFile(state.diffFiles, filePath, 'file_path');
|
||||
if (isCollapsed(file)) {
|
||||
commit(types.SET_FILE_COMMENT_FORM, { filePath, expanded: true });
|
||||
} else {
|
||||
commit(types.TOGGLE_FILE_COMMENT_FORM, filePath);
|
||||
}
|
||||
commit(types.SET_FILE_COLLAPSED, { filePath, collapsed: false });
|
||||
};
|
||||
|
||||
export const addDraftToFile = ({ commit }, { filePath, draft }) =>
|
||||
commit(types.ADD_DRAFT_TO_FILE, { filePath, draft });
|
||||
|
|
|
|||
|
|
@ -53,4 +53,5 @@ export const TOGGLE_LINE_DISCUSSIONS = 'TOGGLE_LINE_DISCUSSIONS';
|
|||
export const DISABLE_VIRTUAL_SCROLLING = 'DISABLE_VIRTUAL_SCROLLING';
|
||||
|
||||
export const TOGGLE_FILE_COMMENT_FORM = 'TOGGLE_FILE_COMMENT_FORM';
|
||||
export const SET_FILE_COMMENT_FORM = 'SET_FILE_COMMENT_FORM';
|
||||
export const ADD_DRAFT_TO_FILE = 'ADD_DRAFT_TO_FILE';
|
||||
|
|
|
|||
|
|
@ -394,6 +394,11 @@ export default {
|
|||
|
||||
file.hasCommentForm = !file.hasCommentForm;
|
||||
},
|
||||
[types.SET_FILE_COMMENT_FORM](state, { filePath, expanded }) {
|
||||
const file = findDiffFile(state.diffFiles, filePath, 'file_path');
|
||||
|
||||
file.hasCommentForm = expanded;
|
||||
},
|
||||
[types.ADD_DRAFT_TO_FILE](state, { filePath, draft }) {
|
||||
const file = findDiffFile(state.diffFiles, filePath, 'file_path');
|
||||
|
||||
|
|
|
|||
|
|
@ -562,7 +562,7 @@ export default {
|
|||
|
||||
<slot name="header">
|
||||
<issue-header
|
||||
class="gl-p-0 gl-mt-2 gl-sm-mt-0"
|
||||
class="gl-p-0 gl-mt-2"
|
||||
:class="headerClasses"
|
||||
:author="author"
|
||||
:confidential="isConfidential"
|
||||
|
|
|
|||
|
|
@ -308,7 +308,7 @@ export default {
|
|||
|
||||
<template>
|
||||
<div class="detail-page-header-actions gl-display-flex gl-align-self-start gl-sm-gap-3">
|
||||
<div class="gl-sm-display-none! w-100">
|
||||
<div class="gl-md-display-none! gl-w-full">
|
||||
<gl-disclosure-dropdown
|
||||
v-if="hasMobileDropdown"
|
||||
ref="issuableActionsDropdownMobile"
|
||||
|
|
@ -398,7 +398,7 @@ export default {
|
|||
v-gl-tooltip.bottom
|
||||
:title="$options.i18n.editTitleAndDescription"
|
||||
:aria-label="$options.i18n.editTitleAndDescription"
|
||||
class="js-issuable-edit gl-display-none! gl-sm-display-block!"
|
||||
class="js-issuable-edit gl-display-none! gl-md-display-block!"
|
||||
data-testid="edit-button"
|
||||
@click="edit"
|
||||
>
|
||||
|
|
@ -410,7 +410,7 @@ export default {
|
|||
id="new-actions-header-dropdown"
|
||||
ref="issuableActionsDropdownDesktop"
|
||||
v-gl-tooltip.hover
|
||||
class="gl-display-none gl-sm-display-inline-flex!"
|
||||
class="gl-display-none gl-md-display-inline-flex!"
|
||||
icon="ellipsis_v"
|
||||
category="tertiary"
|
||||
placement="left"
|
||||
|
|
|
|||
|
|
@ -133,8 +133,7 @@ export default {
|
|||
item.classList.toggle('gl-display-none', !isSummaryTab);
|
||||
});
|
||||
|
||||
editButton?.classList.toggle('gl-display-none', !isSummaryTab);
|
||||
editButton?.classList.toggle('gl-sm-display-inline-flex!', isSummaryTab);
|
||||
editButton?.classList.toggle('gl-md-display-block!', isSummaryTab);
|
||||
}
|
||||
},
|
||||
},
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ export default {
|
|||
|
||||
<template>
|
||||
<div
|
||||
class="gl-display-flex gl-align-items-flex-start gl-flex-direction-column gl-sm-flex-direction-row gl-gap-3 gl-pt-3"
|
||||
class="gl-display-flex gl-align-items-flex-start gl-flex-direction-column gl-md-flex-direction-row gl-gap-3 gl-pt-3"
|
||||
>
|
||||
<h1
|
||||
v-safe-html="titleHtml"
|
||||
|
|
|
|||
|
|
@ -155,8 +155,8 @@ export default {
|
|||
</script>
|
||||
|
||||
<template>
|
||||
<div class="detail-page-header gl-flex-direction-column gl-sm-flex-direction-row">
|
||||
<div class="detail-page-header-body gl-flex-wrap gl-gap-2">
|
||||
<div class="detail-page-header gl-flex-direction-column gl-md-flex-direction-row">
|
||||
<div class="detail-page-header-body gl-flex-wrap gl-column-gap-2">
|
||||
<gl-badge :variant="badgeVariant" data-testid="issue-state-badge">
|
||||
<gl-icon v-if="statusIcon" :name="statusIcon" :class="statusIconClass" />
|
||||
<span class="gl-display-none gl-sm-display-block" :class="{ 'gl-ml-2': statusIcon }">
|
||||
|
|
|
|||
|
|
@ -0,0 +1,27 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
module AutocompleteSources
|
||||
module ExpiresIn
|
||||
extend ActiveSupport::Concern
|
||||
|
||||
AUTOCOMPLETE_EXPIRES_IN = 3.minutes
|
||||
AUTOCOMPLETE_CACHED_ACTIONS = [:members, :commands, :labels].freeze
|
||||
|
||||
included do
|
||||
before_action :set_expires_in, only: AUTOCOMPLETE_CACHED_ACTIONS
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def set_expires_in
|
||||
case action_name.to_sym
|
||||
when :members
|
||||
expires_in AUTOCOMPLETE_EXPIRES_IN if Feature.enabled?(:cache_autocomplete_sources_members, current_user)
|
||||
when :commands
|
||||
expires_in AUTOCOMPLETE_EXPIRES_IN if Feature.enabled?(:cache_autocomplete_sources_commands, current_user)
|
||||
when :labels
|
||||
expires_in AUTOCOMPLETE_EXPIRES_IN if Feature.enabled?(:cache_autocomplete_sources_labels, current_user)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
@ -1,6 +1,8 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class Groups::AutocompleteSourcesController < Groups::ApplicationController
|
||||
include AutocompleteSources::ExpiresIn
|
||||
|
||||
feature_category :groups_and_projects, [:members]
|
||||
feature_category :team_planning, [:issues, :labels, :milestones, :commands]
|
||||
feature_category :code_review_workflow, [:merge_requests]
|
||||
|
|
@ -8,11 +10,6 @@ class Groups::AutocompleteSourcesController < Groups::ApplicationController
|
|||
urgency :low, [:issues, :labels, :milestones, :commands, :merge_requests, :members]
|
||||
|
||||
def members
|
||||
if Feature.enabled?(:cache_autocomplete_sources_members, current_user)
|
||||
# Cache the response on the frontend
|
||||
expires_in 3.minutes
|
||||
end
|
||||
|
||||
render json: ::Groups::ParticipantsService.new(@group, current_user).execute(target)
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class Projects::AutocompleteSourcesController < Projects::ApplicationController
|
||||
include AutocompleteSources::ExpiresIn
|
||||
|
||||
before_action :authorize_read_milestone!, only: :milestones
|
||||
before_action :authorize_read_crm_contact!, only: :contacts
|
||||
|
||||
|
|
@ -13,11 +15,6 @@ class Projects::AutocompleteSourcesController < Projects::ApplicationController
|
|||
urgency :low, [:issues, :labels, :milestones, :commands, :contacts]
|
||||
|
||||
def members
|
||||
if Feature.enabled?(:cache_autocomplete_sources_members, current_user)
|
||||
# Cache the response on the frontend
|
||||
expires_in 3.minutes
|
||||
end
|
||||
|
||||
render json: ::Projects::ParticipantsService.new(@project, current_user).execute(target)
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,8 @@
|
|||
---
|
||||
name: approval_group_rules
|
||||
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/137268
|
||||
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/432248
|
||||
milestone: '16.7'
|
||||
type: development
|
||||
group: 'group::source code'
|
||||
default_enabled: false
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
---
|
||||
name: cache_autocomplete_sources_commands
|
||||
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/138226
|
||||
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/433168
|
||||
milestone: '16.7'
|
||||
type: development
|
||||
group: group::global search
|
||||
default_enabled: false
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
---
|
||||
name: cache_autocomplete_sources_labels
|
||||
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/138226
|
||||
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/433170
|
||||
milestone: '16.7'
|
||||
type: development
|
||||
group: group::global search
|
||||
default_enabled: false
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
---
|
||||
name: group_level_vulnerability_report_grouping
|
||||
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/137778
|
||||
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/432778
|
||||
milestone: '16.7'
|
||||
type: development
|
||||
group: group::threat insights
|
||||
default_enabled: false
|
||||
|
|
@ -181,7 +181,6 @@ options:
|
|||
- p_ci_templates_terraform_module_base
|
||||
- p_ci_templates_terraform_module
|
||||
- p_ci_templates_pages_zola
|
||||
- p_ci_templates_diffblue_cover
|
||||
distribution:
|
||||
- ce
|
||||
- ee
|
||||
|
|
|
|||
|
|
@ -1,24 +0,0 @@
|
|||
---
|
||||
key_path: redis_hll_counters.ci_templates.p_ci_templates_diffblue_cover_monthly
|
||||
description: Count of pipelines using the Diffblue Cover template
|
||||
product_section: ci
|
||||
product_stage: pipeline_authoring
|
||||
product_group: pipeline_authoring
|
||||
value_type: number
|
||||
status: active
|
||||
milestone: "16.7"
|
||||
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/137047
|
||||
time_frame: 28d
|
||||
data_source: redis_hll
|
||||
data_category: optional
|
||||
instrumentation_class: RedisHLLMetric
|
||||
distribution:
|
||||
- ce
|
||||
- ee
|
||||
tier:
|
||||
- free
|
||||
- premium
|
||||
- ultimate
|
||||
options:
|
||||
events:
|
||||
- p_ci_templates_diffblue_cover
|
||||
|
|
@ -182,7 +182,6 @@ options:
|
|||
- p_ci_templates_terraform_module_base
|
||||
- p_ci_templates_terraform_module
|
||||
- p_ci_templates_pages_zola
|
||||
- p_ci_templates_diffblue_cover
|
||||
distribution:
|
||||
- ce
|
||||
- ee
|
||||
|
|
|
|||
|
|
@ -1,24 +0,0 @@
|
|||
---
|
||||
key_path: redis_hll_counters.ci_templates.p_ci_templates_diffblue_cover_weekly
|
||||
description: Count of pipelines using the Diffblue Cover template
|
||||
product_section: ci
|
||||
product_stage: pipeline_authoring
|
||||
product_group: pipeline_authoring
|
||||
value_type: number
|
||||
status: active
|
||||
milestone: "16.7"
|
||||
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/137047
|
||||
time_frame: 7d
|
||||
data_source: redis_hll
|
||||
data_category: optional
|
||||
instrumentation_class: RedisHLLMetric
|
||||
distribution:
|
||||
- ce
|
||||
- ee
|
||||
tier:
|
||||
- free
|
||||
- premium
|
||||
- ultimate
|
||||
options:
|
||||
events:
|
||||
- p_ci_templates_diffblue_cover
|
||||
|
|
@ -117,8 +117,7 @@ This allows the administrator to "see what the user sees," and take actions on b
|
|||
You can impersonate a user in the following ways:
|
||||
|
||||
- Through the UI:
|
||||
1. On the left sidebar, select **Search or go to**.
|
||||
1. Select **Admin Area**.
|
||||
1. On the left sidebar, at the bottom, select **Admin Area**.
|
||||
1. On the left sidebar, select **Overview > Users**.
|
||||
1. From the list of users, select a user.
|
||||
1. Select **Impersonate**.
|
||||
|
|
|
|||
|
|
@ -167,8 +167,7 @@ may see the following message: `Access denied for your LDAP account`.
|
|||
|
||||
We have a workaround, based on toggling the access level of affected users:
|
||||
|
||||
1. As an administrator, on the left sidebar, select **Search or go to**.
|
||||
1. Select **Admin Area**.
|
||||
1. On the left sidebar, at the bottom, select **Admin Area**.
|
||||
1. On the left sidebar, select **Overview > Users**.
|
||||
1. Select the name of the affected user.
|
||||
1. In the upper-right corner, select **Edit**.
|
||||
|
|
@ -368,8 +367,7 @@ things to debug the situation.
|
|||
- Ensure the correct [LDAP group link is added to the GitLab group](ldap_synchronization.md#add-group-links).
|
||||
- Check that the user has an LDAP identity:
|
||||
1. Sign in to GitLab as an administrator user.
|
||||
1. On the left sidebar, select **Search or go to**.
|
||||
1. Select **Admin Area**.
|
||||
1. On the left sidebar, at the bottom, select **Admin Area**.
|
||||
1. On the left sidebar, select **Overview > Users**.
|
||||
1. Search for the user.
|
||||
1. Open the user by selecting their name. Do not select **Edit**.
|
||||
|
|
|
|||
|
|
@ -88,8 +88,7 @@ To prepare the new server:
|
|||
```
|
||||
|
||||
1. Disable periodic background jobs:
|
||||
1. On the left sidebar, select **Search or go to**.
|
||||
1. Select **Admin Area**.
|
||||
1. On the left sidebar, at the bottom, select **Admin Area**.
|
||||
1. On the left sidebar, select **Monitoring > Background Jobs**.
|
||||
1. Under the Sidekiq dashboard, select **Cron** tab and then
|
||||
**Disable All**.
|
||||
|
|
|
|||
|
|
@ -40,8 +40,7 @@ An administrator can flag a user as external by either of the following methods:
|
|||
|
||||
- [Through the API](../api/users.md#user-modification).
|
||||
- Using the GitLab UI:
|
||||
1. On the left sidebar, select **Search or go to**.
|
||||
1. Select **Admin Area**.
|
||||
1. On the left sidebar, at the bottom, select **Admin Area**.
|
||||
1. On the left sidebar, select **Overview > Users** to create a new user or edit an existing one.
|
||||
There, you can find the option to flag the user as external.
|
||||
|
||||
|
|
|
|||
|
|
@ -98,8 +98,7 @@ sudo gitlab-rake geo:verification:wiki:reset
|
|||
If the **primary** and **secondary** sites have a checksum verification mismatch, the cause may not be apparent. To find the cause of a checksum mismatch:
|
||||
|
||||
1. On the **primary** site:
|
||||
1. On the left sidebar, select **Search or go to**.
|
||||
1. Select **Admin Area**.
|
||||
1. On the left sidebar, at the bottom, select **Admin Area**.
|
||||
1. On the left sidebar, select **Overview > Projects**.
|
||||
1. Find the project that you want to check the checksum differences and
|
||||
select its name.
|
||||
|
|
|
|||
|
|
@ -208,8 +208,7 @@ be disabled on the **primary** site:
|
|||
1. If you are manually replicating any data not managed by Geo, trigger the
|
||||
final replication process now.
|
||||
1. On the **primary** site:
|
||||
1. On the left sidebar, select **Search or go to**.
|
||||
1. Select **Admin Area**.
|
||||
1. On the left sidebar, at the bottom, select **Admin Area**.
|
||||
1. On the left sidebar, select **Monitoring > Background Jobs**.
|
||||
1. On the Sidekiq dashboard, select **Queues**, and wait for all queues except
|
||||
those with `geo` in the name to drop to 0.
|
||||
|
|
@ -224,8 +223,7 @@ be disabled on the **primary** site:
|
|||
- The Geo log cursor is up to date (0 events behind).
|
||||
|
||||
1. On the **secondary** site:
|
||||
1. On the left sidebar, select **Search or go to**.
|
||||
1. Select **Admin Area**.
|
||||
1. On the left sidebar, at the bottom, select **Admin Area**.
|
||||
1. On the left sidebar, select **Monitoring > Background Jobs**.
|
||||
1. On the Sidekiq dashboard, select **Queues**, and wait for all the `geo`
|
||||
queues to drop to 0 queued and 0 running jobs.
|
||||
|
|
|
|||
|
|
@ -104,8 +104,7 @@ follow these steps to avoid unnecessary data loss:
|
|||
[data not managed by Geo](../../replication/datatypes.md#limitations-on-replicationverification),
|
||||
trigger the final replication process now.
|
||||
1. On the **primary** site:
|
||||
1. On the left sidebar, select **Search or go to**.
|
||||
1. Select **Admin Area**.
|
||||
1. On the left sidebar, at the bottom, select **Admin Area**.
|
||||
1. On the left sidebar, select **Monitoring > Background Jobs**.
|
||||
1. On the Sidekiq dashboard, select **Queues**, and wait for all queues except
|
||||
those with `geo` in the name to drop to 0.
|
||||
|
|
@ -120,8 +119,7 @@ follow these steps to avoid unnecessary data loss:
|
|||
- The Geo log cursor is up to date (0 events behind).
|
||||
|
||||
1. On the **secondary** site:
|
||||
1. On the left sidebar, select **Search or go to**.
|
||||
1. Select **Admin Area**.
|
||||
1. On the left sidebar, at the bottom, select **Admin Area**.
|
||||
1. On the left sidebar, select **Monitoring > Background Jobs**.
|
||||
1. On the Sidekiq dashboard, select **Queues**, and wait for all the `geo`
|
||||
queues to drop to 0 queued and 0 running jobs.
|
||||
|
|
|
|||
|
|
@ -115,8 +115,7 @@ follow these steps to avoid unnecessary data loss:
|
|||
connection.
|
||||
|
||||
1. On the **primary** site:
|
||||
1. On the left sidebar, select **Search or go to**.
|
||||
1. Select **Admin Area**.
|
||||
1. On the left sidebar, at the bottom, select **Admin Area**..
|
||||
1. On the left sidebar, select **Monitoring > Background Jobs**.
|
||||
1. On the Sidekiq dashboard, select **Cron**.
|
||||
1. Select `Disable All` to disable any non-Geo periodic background jobs.
|
||||
|
|
@ -134,8 +133,7 @@ follow these steps to avoid unnecessary data loss:
|
|||
[data not managed by Geo](../../replication/datatypes.md#limitations-on-replicationverification),
|
||||
trigger the final replication process now.
|
||||
1. On the **primary** site:
|
||||
1. On the left sidebar, select **Search or go to**.
|
||||
1. Select **Admin Area**.
|
||||
1. On the left sidebar, at the bottom, select **Admin Area**.
|
||||
1. On the left sidebar, select **Monitoring > Background Jobs**.
|
||||
1. On the Sidekiq dashboard, select **Queues**, and wait for all queues except
|
||||
those with `geo` in the name to drop to 0.
|
||||
|
|
@ -150,8 +148,7 @@ follow these steps to avoid unnecessary data loss:
|
|||
- The Geo log cursor is up to date (0 events behind).
|
||||
|
||||
1. On the **secondary** site:
|
||||
1. On the left sidebar, select **Search or go to**.
|
||||
1. Select **Admin Area**.
|
||||
1. On the left sidebar, at the bottom, select **Admin Area**.
|
||||
1. On the left sidebar, select **Monitoring > Background Jobs**.
|
||||
1. On the Sidekiq dashboard, select **Queues**, and wait for all the `geo`
|
||||
queues to drop to 0 queued and 0 running jobs.
|
||||
|
|
|
|||
|
|
@ -217,8 +217,7 @@ In the following steps, replace `<ssh_host_key_path>` with the one you're using:
|
|||
```
|
||||
|
||||
1. Navigate to the Primary Node GitLab Instance:
|
||||
1. On the left sidebar, select **Search or go to**.
|
||||
1. Select **Admin Area**.
|
||||
1. On the left sidebar, at the bottom, select **Admin Area**.
|
||||
1. On the left sidebar, select **Geo > Sites**.
|
||||
1. Select **Add site**.
|
||||

|
||||
|
|
|
|||
|
|
@ -683,7 +683,7 @@ when checking the database.
|
|||
|
||||
### Message: `FATAL: could not map anonymous shared memory: Cannot allocate memory`
|
||||
|
||||
If you see this message, it means that the secondary site's PostgreSQL tries to request memory that is higher than the available memory. There is an [issue](https://gitlab.com/gitlab-org/gitlab/-/issues/381585) that tracks this problem.
|
||||
If you see this message, it means that the secondary site's PostgreSQL tries to request memory that is higher than the available memory. There is an [issue](https://gitlab.com/gitlab-org/gitlab/-/issues/381585) that tracks this problem.
|
||||
|
||||
Example error message in Patroni logs (located at `/var/log/gitlab/patroni/current` for Linux package installations):
|
||||
|
||||
|
|
|
|||
|
|
@ -306,8 +306,7 @@ secondary site is a read-only copy.
|
|||
```
|
||||
|
||||
1. Go to the primary node GitLab instance:
|
||||
1. On the left sidebar, select **Search or go to**.
|
||||
1. Select **Admin Area**.
|
||||
1. On the left sidebar, at the bottom, select **Admin Area**..
|
||||
1. Select **Geo > Sites**.
|
||||
1. Select **Add site**.
|
||||
|
||||
|
|
|
|||
|
|
@ -552,8 +552,7 @@ You must manually replicate the secret file across all of your secondary sites,
|
|||
```
|
||||
|
||||
1. Navigate to the primary node GitLab instance:
|
||||
1. On the left sidebar, select **Search or go to**.
|
||||
1. Select **Admin Area**.
|
||||
1. On the left sidebar, at the bottom, select **Admin Area**.
|
||||
1. Select **Geo > Sites**.
|
||||
1. Select **Add site**.
|
||||
|
||||
|
|
|
|||
|
|
@ -1326,8 +1326,7 @@ Particular attention should be shown to:
|
|||
|
||||
1. Check that the Praefect storage is configured to store new repositories:
|
||||
|
||||
1. On the left sidebar, select **Search or go to**.
|
||||
1. Select **Admin Area**.
|
||||
1. On the left sidebar, at the bottom, select **Admin Area**.
|
||||
1. On the left sidebar, select **Settings > Repository**.
|
||||
1. Expand the **Repository storage** section.
|
||||
|
||||
|
|
|
|||
|
|
@ -21,8 +21,7 @@ Maintenance Mode allows most external actions that do not change internal state.
|
|||
Enable Maintenance Mode as an administrator in one of these ways:
|
||||
|
||||
- **Web UI**:
|
||||
1. On the left sidebar, select **Search or go to**.
|
||||
1. Select **Admin Area**.
|
||||
1. On the left sidebar, at the bottom, select **Admin Area**.
|
||||
1. On the left sidebar, select **Settings > General**.
|
||||
1. Expand **Maintenance Mode**, and toggle **Enable Maintenance Mode**.
|
||||
You can optionally add a message for the banner as well.
|
||||
|
|
@ -46,8 +45,7 @@ Enable Maintenance Mode as an administrator in one of these ways:
|
|||
Disable Maintenance Mode in one of three ways:
|
||||
|
||||
- **Web UI**:
|
||||
1. On the left sidebar, select **Search or go to**.
|
||||
1. Select **Admin Area**.
|
||||
1. On the left sidebar, at the bottom, select **Admin Area**.
|
||||
1. On the left sidebar, select **Settings > General**.
|
||||
1. Expand **Maintenance Mode**, and toggle **Enable Maintenance Mode**.
|
||||
You can optionally add a message for the banner as well.
|
||||
|
|
|
|||
|
|
@ -140,8 +140,7 @@ This overview is brief. Refer to the above instructions for more context.
|
|||
|
||||
1. [Rebuild the `authorized_keys` file](../raketasks/maintenance.md#rebuild-authorized_keys-file).
|
||||
1. Enable writes to the `authorized_keys` file.
|
||||
1. On the left sidebar, select **Search or go to**.
|
||||
1. Select **Admin Area**.
|
||||
1. On the left sidebar, at the bottom, select **Admin Area**.
|
||||
1. On the left sidebar, select **Settings > Network**.
|
||||
1. Expand **Performance optimization**.
|
||||
1. Select the **Use authorized_keys file to authenticate SSH keys** checkbox.
|
||||
|
|
|
|||
|
|
@ -213,8 +213,7 @@ You may see this error if `pages_external_url` was updated at some point of time
|
|||
|
||||
1. Check the [System OAuth application](../../integration/oauth_provider.md#create-an-instance-wide-application):
|
||||
|
||||
1. On the left sidebar, select **Search or go to**.
|
||||
1. Select **Admin Area**.
|
||||
1. On the left sidebar, at the bottom, select **Admin Area**.
|
||||
1. Select **Applications** and then **Add new application**.
|
||||
1. Ensure the **Callback URL/Redirect URI** is using the protocol (HTTP or HTTPS) that
|
||||
`pages_external_url` is configured to use.
|
||||
|
|
|
|||
|
|
@ -134,8 +134,7 @@ These settings can be found in:
|
|||
1. Fill in the **Repository size limit (MiB)** field in the **Naming, visibility** section.
|
||||
1. Select **Save changes**.
|
||||
- GitLab global settings:
|
||||
1. On the left sidebar, select **Search or go to**.
|
||||
1. Select **Admin Area**.
|
||||
1. On the left sidebar, at the bottom, select **Admin Area**.
|
||||
1. Select **Settings > General**.
|
||||
1. Expand the **Account and limit** section.
|
||||
1. Fill in the **Size limit per repository (MiB)** field.
|
||||
|
|
|
|||
|
|
@ -93,8 +93,7 @@ The value is in MB, and the default is 100 MB per job. An administrator can chan
|
|||
|
||||
- Instance level:
|
||||
|
||||
1. On the left sidebar, select **Search or go to**.
|
||||
1. Select **Admin Area**.
|
||||
1. On the left sidebar, at the bottom, select **Admin Area**.
|
||||
1. On the left sidebar, select **Settings > CI/CD > Continuous Integration and Deployment**.
|
||||
1. Change the value of **Maximum artifacts size (MB)**.
|
||||
1. Select **Save changes** for the changes to take effect.
|
||||
|
|
|
|||
|
|
@ -298,8 +298,7 @@ To resolve this issue, disable the **Jira Connect Proxy URL** setting.
|
|||
|
||||
- In GitLab 15.8 and later:
|
||||
|
||||
1. On the left sidebar, select **Search or go to**.
|
||||
1. Select **Admin Area**.
|
||||
1. On the left sidebar, at the bottom, select **Admin Area**.
|
||||
1. On the left sidebar, select **Settings > General**.
|
||||
1. Expand **GitLab for Jira App**.
|
||||
1. Clear the **Jira Connect Proxy URL** text box.
|
||||
|
|
|
|||
|
|
@ -26,8 +26,7 @@ the activity feed.
|
|||
To modify this setting:
|
||||
|
||||
- In the Admin Area:
|
||||
1. On the left sidebar, select **Search or go to**.
|
||||
1. Select **Admin Area**.
|
||||
1. On the left sidebar, at the bottom, select **Admin Area**.
|
||||
1. Select **Settings > Network**.
|
||||
1. Expand **Performance optimization**.
|
||||
- Through the [Application settings API](../../api/settings.md#list-of-settings-that-can-be-accessed-via-api-calls)
|
||||
|
|
|
|||
|
|
@ -26,8 +26,7 @@ To create a GitLab for Slack app:
|
|||
|
||||
- **In GitLab**:
|
||||
|
||||
1. On the left sidebar, select **Search or go to**.
|
||||
1. Select **Admin Area**.
|
||||
1. On the left sidebar, at the bottom, select **Admin Area**.
|
||||
1. On the left sidebar, select **Settings > General**.
|
||||
1. Expand **GitLab for Slack app**.
|
||||
1. Select **Create Slack app**.
|
||||
|
|
@ -79,8 +78,7 @@ To update your copy of the GitLab for Slack app:
|
|||
|
||||
- **In GitLab**:
|
||||
|
||||
1. On the left sidebar, select **Search or go to**.
|
||||
1. Select **Admin Area**.
|
||||
1. On the left sidebar, at the bottom, select **Admin Area**.
|
||||
1. On the left sidebar, select **Settings > General**.
|
||||
1. Expand **GitLab for Slack app**.
|
||||
1. Select **Download latest manifest file** to download `slack_manifest.json`.
|
||||
|
|
|
|||
|
|
@ -25,8 +25,7 @@ There are multiple ways to enable Silent Mode:
|
|||
|
||||
- **Web UI**
|
||||
|
||||
1. On the left sidebar, select **Search or go to**.
|
||||
1. Select **Admin Area**.
|
||||
1. On the left sidebar, at the bottom, select **Admin Area**..
|
||||
1. On the left sidebar, select **Settings > General**.
|
||||
1. Expand **Silent Mode**, and toggle **Enable Silent Mode**.
|
||||
1. Changes are saved immediately.
|
||||
|
|
@ -55,8 +54,7 @@ There are multiple ways to disable Silent Mode:
|
|||
|
||||
- **Web UI**
|
||||
|
||||
1. On the left sidebar, select **Search or go to**.
|
||||
1. Select **Admin Area**.
|
||||
1. On the left sidebar, at the bottom, select **Admin Area**.
|
||||
1. On the left sidebar, select **Settings > General**.
|
||||
1. Expand **Silent Mode**, and toggle **Enable Silent Mode**.
|
||||
1. Changes are saved immediately.
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ The examples documented here can be run using:
|
|||
|
||||
### GraphiQL
|
||||
|
||||
GraphiQL (pronounced "graphical") allows you to run real GraphQL queries against the API interactively.
|
||||
GraphiQL (pronounced "graphical") allows you to run real GraphQL queries against the API interactively.
|
||||
It makes exploring the schema easier by providing a UI with syntax highlighting and autocompletion.
|
||||
|
||||
For most people, using GraphiQL will be the easiest way to explore the GitLab GraphQL API.
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ For example:
|
|||
| Stateless | does not need database, Cells provide all routing information | medium |
|
||||
| Secrets-based | can make routing decision based on secret (e.g. JWT) | medium |
|
||||
| Observability | can use existing observability tooling | low |
|
||||
| Self-managed | can be eventually used by [self-managed](goals.md#self-managed) | low |
|
||||
| Self-managed | can be eventually used by [self-managed](goals.md#self-managed) | low |
|
||||
| Regional | can route requests to different [regions](goals.md#regions) | low |
|
||||
|
||||
## Non-Goals
|
||||
|
|
|
|||
|
|
@ -22,15 +22,15 @@ As GitLab works towards providing a single platform for the whole DevSecOps cycl
|
|||
its offering should not stop at pipelines, but should include the deployment and release management, as well as
|
||||
observability of user-developed and third party applications.
|
||||
|
||||
While GitLab offers some concepts, like the `environment` syntax in GitLab pipelines,
|
||||
it does not offer any concept on what is running in a given environment. While the environment might answer the "where" is
|
||||
While GitLab offers some concepts, like the `environment` syntax in GitLab pipelines,
|
||||
it does not offer any concept on what is running in a given environment. While the environment might answer the "where" is
|
||||
something running, it does not answer the question of "what" is running there. We should
|
||||
introduce [service](https://about.gitlab.com/direction/delivery/glossary.html#service) and [release artifact](https://about.gitlab.com/direction/delivery/glossary.html#release) to answer this question. The [Delivery glossary](https://about.gitlab.com/direction/delivery/glossary.html#service) defines
|
||||
introduce [service](https://about.gitlab.com/direction/delivery/glossary.html#service) and [release artifact](https://about.gitlab.com/direction/delivery/glossary.html#release) to answer this question. The [Delivery glossary](https://about.gitlab.com/direction/delivery/glossary.html#service) defines
|
||||
a service as
|
||||
|
||||
> a logical concept that is a (mostly) independently deployable part of an application that is loosely coupled with other services to serve specific functionalities for the application.
|
||||
|
||||
A service would connect to the SCM, registry or issues through release artifacts and would be a focused view into the [environments](https://about.gitlab.com/direction/delivery/glossary.html#environment) where
|
||||
A service would connect to the SCM, registry or issues through release artifacts and would be a focused view into the [environments](https://about.gitlab.com/direction/delivery/glossary.html#environment) where
|
||||
a specific version of the given release artifact is deployed (or being deployed).
|
||||
|
||||
Having a concept of services allows our users to track their applications in production, not only in CI/CD pipelines. This opens up possibilities, like cost management.
|
||||
|
|
|
|||
|
|
@ -180,7 +180,7 @@ steps:
|
|||
name: ${{ steps.previous_step.outputs.name }}
|
||||
```
|
||||
|
||||
Therefore evaluation of expressions will done in two different kinds
|
||||
Therefore evaluation of expressions will done in two different kinds
|
||||
of context. One as a GitLab CI Step and one as a step definition.
|
||||
|
||||
### Step Inputs
|
||||
|
|
@ -309,7 +309,7 @@ A provision is made for passing complex structures to steps, which
|
|||
is to serialize them as JSON (see Inputs above). In this way the actual
|
||||
step to be run can be merely a parameter to step running in container.
|
||||
So the outer step is a `docker/run` step with a command that executes
|
||||
`step-runner` with a `steps` input parameter. The `docker/run` step will
|
||||
`step-runner` with a `steps` input parameter. The `docker/run` step will
|
||||
run the container and then extract the output files from the container
|
||||
and re-emit them to the outer steps.
|
||||
|
||||
|
|
|
|||
|
|
@ -602,8 +602,7 @@ To determine which runners need to be upgraded:
|
|||
1. On the left sidebar, select **Search or go to** and find your group.
|
||||
1. Select **Build > Runners**.
|
||||
- For the instance:
|
||||
1. On the left sidebar, select **Search or go to**.
|
||||
1. Select **Admin Area**.
|
||||
1. On the left sidebar, at the bottom, select **Admin Area**.
|
||||
1. Select **CI/CD > Runners**.
|
||||
|
||||
1. Above the list of runners, view the status:
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ to access it. In this case, you can use an SSH key pair.
|
|||
1. Create a new [file type CI/CD variable](../variables/index.md#for-a-project).
|
||||
- In the **Key** field, enter `SSH_PRIVATE_KEY`.
|
||||
- In the **Value** field, paste the content of your _private_ key from the key pair that you created earlier.
|
||||
Make sure the file ends with a newline. To add a newline, press
|
||||
Make sure the file ends with a newline. To add a newline, press
|
||||
<kbd>Enter</kbd> or <kbd>Return</kbd> at the end of the last line of the SSH key before saving your changes.
|
||||
|
||||
1. Modify your `.gitlab-ci.yml` with a `before_script` action. In the following
|
||||
|
|
|
|||
|
|
@ -92,7 +92,7 @@ To copy the name of a single failed test:
|
|||
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/235525) in Test Reports in GitLab 13.9.
|
||||
|
||||
If a test failed in the project's default branch in the last 14 days, a message like
|
||||
`Failed {n} time(s) in {default_branch} in the last 14 days` is displayed for that test.
|
||||
`Failed {n} time(s) in {default_branch} in the last 14 days` is displayed for that test.
|
||||
|
||||
The calculation includes failed tests in completed pipelines, but not [blocked pipelines](../jobs/job_control.md#types-of-manual-jobs).
|
||||
[Issue 431265](https://gitlab.com/gitlab-org/gitlab/-/issues/431265) proposes to
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ to AI that you think could benefit from being in this list, please add it!
|
|||
- **Model Validation**: group within the AI-powered Stage working on the Prompt
|
||||
Library and researching AI/ML models to support other use-cases for AI at GitLab.
|
||||
[Team handbook section](https://about.gitlab.com/handbook/product/categories/features/#ai-poweredai-model-validation-group).
|
||||
- **Prompt library**: The ["Prompt Library"](https://gitlab.com/gitlab-org/modelops/applied-ml/code-suggestions/prompt-library) is a Python library that provides a CLI for testing different prompting techniques with LLMs. It enables data-driven improvements to LLM applications by facilitating hypothesis testing. Key features include the ability to manage and run dataflow pipelines using Apache Beam, and the execution of multiple evaluation experiments in a single pipeline run.
|
||||
- **Prompt library**: The ["Prompt Library"](https://gitlab.com/gitlab-org/modelops/applied-ml/code-suggestions/prompt-library) is a Python library that provides a CLI for testing different prompting techniques with LLMs. It enables data-driven improvements to LLM applications by facilitating hypothesis testing. Key features include the ability to manage and run dataflow pipelines using Apache Beam, and the execution of multiple evaluation experiments in a single pipeline run.
|
||||
on prompts with various third-party AI Services.
|
||||
[Code](https://gitlab.com/gitlab-org/modelops/applied-ml/code-suggestions/prompt-library).
|
||||
- **Prompt Registry**: stored, versioned prompts used to interact with third-party
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ Do **not** create publicly viewable issues for suspected security vulnerabilitie
|
|||
|
||||
### Feature proposals
|
||||
|
||||
To create a feature proposal, open an issue in the issue tracker using the
|
||||
To create a feature proposal, open an issue in the issue tracker using the
|
||||
[**Feature Proposal - detailed** issue template](https://gitlab.com/gitlab-org/gitlab/-/issues/new?issuable_template=Feature%20proposal%20-%20detailed).
|
||||
|
||||
In order to help track feature proposals, we use the
|
||||
|
|
|
|||
|
|
@ -133,16 +133,14 @@ version of the product:
|
|||
1. Enable **Allow use of licensed EE features** to make licensed EE features available to projects
|
||||
only if the project namespace's plan includes the feature.
|
||||
|
||||
1. On the left sidebar, select **Search or go to**.
|
||||
1. Select **Admin Area**.
|
||||
1. On the left sidebar, at the bottom, select **Admin Area**.
|
||||
1. On the left sidebar, select **Settings > General**.
|
||||
1. Expand **Account and limit**.
|
||||
1. Select the **Allow use of licensed EE features** checkbox.
|
||||
1. Select **Save changes**.
|
||||
|
||||
1. Ensure the group you want to test the EE feature for is actually using an EE plan:
|
||||
1. On the left sidebar, select **Search or go to**.
|
||||
1. Select **Admin Area**.
|
||||
1. On the left sidebar, at the bottom, select **Admin Area**.
|
||||
1. On the left sidebar, select **Overview > Groups**.
|
||||
1. Identify the group you want to modify, and select **Edit**.
|
||||
1. Scroll to **Permissions and group features**. For **Plan**, select `Ultimate`.
|
||||
|
|
|
|||
|
|
@ -142,8 +142,7 @@ checking the configuration file of your GitLab instance:
|
|||
|
||||
- Using the Admin Area:
|
||||
|
||||
1. On the left sidebar, select **Search or go to**.
|
||||
1. Select **Admin Area**.
|
||||
1. On the left sidebar, at the bottom, select **Admin Area**.
|
||||
1. On the left sidebar, select **Settings > Metrics and profiling**.
|
||||
1. Expand **Usage statistics**.
|
||||
1. Are you able to check or uncheck the checkbox to disable Service Ping?
|
||||
|
|
@ -200,8 +199,7 @@ To work around this bug, you have two options:
|
|||
sudo gitlab-ctl reconfigure
|
||||
```
|
||||
|
||||
1. On the left sidebar, select **Search or go to**.
|
||||
1. Select **Admin Area**.
|
||||
1. On the left sidebar, at the bottom, select **Admin Area**.
|
||||
1. On the left sidebar, select **Settings > Metrics and profiling**.
|
||||
1. Expand **Usage statistics**.
|
||||
1. Clear the **Enable Service Ping** checkbox.
|
||||
|
|
|
|||
|
|
@ -27,8 +27,7 @@ project, group, or instance level:
|
|||
1. *For project-level or group-level integrations:* In GitLab, go to your project or group.
|
||||
1. *For instance-level integrations:*
|
||||
1. Sign in to GitLab as a user with administrator access.
|
||||
1. On the left sidebar, select **Search or go to**.
|
||||
1. Select **Admin Area**.
|
||||
1. On the left sidebar, at the bottom, select **Admin Area**.
|
||||
1. On the left sidebar, select **Settings > Integrations**.
|
||||
1. Scroll to **Add an integration**, and select **Datadog**.
|
||||
1. Select **Active** to enable the integration.
|
||||
|
|
|
|||
|
|
@ -45,8 +45,7 @@ With the Gitpod integration enabled for your GitLab instance, to enable it for y
|
|||
For self-managed GitLab instances, a GitLab administrator must:
|
||||
|
||||
1. Enable the Gitpod integration in GitLab:
|
||||
1. On the left sidebar, select **Search or go to**.
|
||||
1. Select **Admin Area**.
|
||||
1. On the left sidebar, at the bottom, select **Admin Area**.
|
||||
1. On the left sidebar, select **Settings > General**.
|
||||
1. Expand the **Gitpod** configuration section.
|
||||
1. Select the **Enable Gitpod integration** checkbox.
|
||||
|
|
|
|||
|
|
@ -147,8 +147,7 @@ With that information at hand:
|
|||
```
|
||||
|
||||
1. As an administrator, you can confirm the new, blocked account:
|
||||
1. On the left sidebar, select **Search or go to**.
|
||||
1. Select **Admin Area**.
|
||||
1. On the left sidebar, at the bottom, select **Admin Area**.
|
||||
1. On the left sidebar, select **Overview > Users** and review the **Blocked** tab.
|
||||
1. You can enable the user.
|
||||
1. If `block_auto_created_users` is false, the Kerberos user is
|
||||
|
|
|
|||
|
|
@ -29,26 +29,26 @@ This page attempts to index the ways in which GitLab can integrate with AWS. It
|
|||
|
||||
- **AWS CodeStar Connections** - enables SCM connections to multiple AWS Services. **Currently for GitLab.com SaaS only**. [Configure GitLab](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-create-gitlab.html). [Supported Providers](https://docs.aws.amazon.com/dtconsole/latest/userguide/supported-versions-connections.html). [Supported AWS Services](https://docs.aws.amazon.com/dtconsole/latest/userguide/integrations-connections.html) - each one may have to make updates to support GitLab, so here is the subset that currently support GitLab `[AWS Built]`
|
||||
- [AWS CodePipeline Integration](https://docs.aws.amazon.com/codepipeline/latest/userguide/connections-gitlab.html) - use GitLab as source for CodePipeline. `[AWS Built]`
|
||||
- **AWS CodeBuild Integration** - indirectly through CodePipeline support. `[AWS Built]`
|
||||
- **AWS CodeBuild Integration** - indirectly through CodePipeline support. `[AWS Built]`
|
||||
- **Amazon CodeWhisperer Customization Capability** [can connect to a GitLab repo](https://aws.amazon.com/blogs/aws/new-customization-capability-in-amazon-codewhisperer-generates-even-better-suggestions-preview/). `[AWS Built]`
|
||||
- **AWS Service Catalog** directly inherits CodeStar Connections, there is not any specific documentation about GitLab since it just uses any GitLab CodeStar Connection that has been created in the account. `[AWS Built]`
|
||||
- **AWS Proton** directly inherits CodeStar Connections, there is not any specific documentation about GitLab since it just uses any GitLab CodeStar Connection that has been created in the account. `[AWS Built]`
|
||||
- **AWS Glue Notebook Jobs** directly inherit CodeStar Connections, there is not any specific documentation about GitLab since it just uses any GitLab CodeStar Connection that has been created in the account. `[AWS Built]`
|
||||
- **Amazon SageMaker MLOps Projects** are done in CodePipeline and so directly inherit CodeStar Connections ([as noted here](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-projects-walkthrough-3rdgit.html#sagemaker-proejcts-walkthrough-connect-3rdgit)), there is not any specific documentation about GitLab since it just uses any GitLab CodeStar Connection that has been created in the account. `[AWS Built]`
|
||||
- **Amazon SageMaker MLOps Projects** are done in CodePipeline and so directly inherit CodeStar Connections ([as noted here](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-projects-walkthrough-3rdgit.html#sagemaker-proejcts-walkthrough-connect-3rdgit)), there is not any specific documentation about GitLab since it just uses any GitLab CodeStar Connection that has been created in the account. `[AWS Built]`
|
||||
- **Amazon SageMaker Notebooks** [allow Git repositories to be specified by the Git clone URL](https://docs.aws.amazon.com/sagemaker/latest/dg/nbi-git-resource.html) and configuration of a secret - so GitLab is configurable. `[AWS Configuration]`
|
||||
- **AWS CloudFormation** publishing of public extensions - **not yet supported**. `[AWS Built]`
|
||||
- **Amazon CodeGuru Reviewer Repositories** - **not yet supported**. `[AWS Built]`
|
||||
- **AWS CloudFormation** publishing of public extensions - **not yet supported**. `[AWS Built]`
|
||||
- **Amazon CodeGuru Reviewer Repositories** - **not yet supported**. `[AWS Built]`
|
||||
- [GitLab Push Mirroring to CodeCommit](../../../user/project/repository/mirror/push.md#set-up-a-push-mirror-from-gitlab-to-aws-codecommit) Workaround enables GitLab repositories to leverage CodePipeline SCM Triggers. GitLab can already leverage S3 and Container Triggers for CodePipeline. **Still required for Self-Managed and Dedicated for the time being.** `[GitLab Configuration]`
|
||||
|
||||
### CI Integrations
|
||||
|
||||
- **Direct CI Integrations That Use Keys, IAM or OIDC/JWT to Authenticate to AWS Services from GitLab Runners**
|
||||
- **Amazon CodeGuru Reviewer CI workflows using GitLab CI** - can be done, not yet documented. `[AWS Solution]` `[CI Solution]`
|
||||
- [Amazon CodeGuru Secure Scanning using GitLab CI](https://docs.aws.amazon.com/codeguru/latest/security-ug/get-started-gitlab.html) `[AWS Solution]` `[CI Solution]`
|
||||
- **Amazon CodeGuru Reviewer CI workflows using GitLab CI** - can be done, not yet documented. `[AWS Solution]` `[CI Solution]`
|
||||
- [Amazon CodeGuru Secure Scanning using GitLab CI](https://docs.aws.amazon.com/codeguru/latest/security-ug/get-started-gitlab.html) `[AWS Solution]` `[CI Solution]`
|
||||
|
||||
### CD and Operations Integrations
|
||||
|
||||
- **AWS CodeDeploy Integration** - indirectly through CodePipeline support. `[AWS Built]`
|
||||
- **AWS CodeDeploy Integration** - indirectly through CodePipeline support. `[AWS Built]`
|
||||
- [Integrate EKS clusters for application deployment](../../../user/infrastructure/clusters/connect/new_eks_cluster.md). `[GitLab Built]`
|
||||
|
||||
## Solutions For Specific Development Frameworks and Ecosystems
|
||||
|
|
|
|||
|
|
@ -118,8 +118,7 @@ to your instance and then upgrade it for any relevant features you're using.
|
|||
[turning on maintenance mode](../administration/maintenance_mode/index.md) during the
|
||||
upgrade.
|
||||
- About PostgreSQL:
|
||||
1. On the left sidebar, select **Search or go to**.
|
||||
1. Select **Admin Area**.
|
||||
1. On the left sidebar, at the bottom, select **Admin Area**..
|
||||
1. Look for the version of PostgreSQL you are using.
|
||||
If [a PostgreSQL upgrade is needed](../administration/package_information/postgresql_versions.md),
|
||||
account for the relevant
|
||||
|
|
|
|||
|
|
@ -244,7 +244,7 @@ Specific information applies to installations using Geo:
|
|||
| 16.3 | 16.3.0 - 16.3.5 | 16.3.6 |
|
||||
| 16.4 | 16.4.0 - 16.4.1 | 16.4.2 |
|
||||
|
||||
- After [Group Wiki](../../user/project/wiki/group.md) verification was added in GitLab 16.3, missing Group Wiki repositories are being incorrectly flagged as failing verification. This issue is not a result of an actual replication/verification failure but an invalid internal state for these missing repositories inside Geo and results in errors in the logs and the verification progress reporting a failed state for these Group Wiki repositories.
|
||||
- After [Group Wiki](../../user/project/wiki/group.md) verification was added in GitLab 16.3, missing Group Wiki repositories are being incorrectly flagged as failing verification. This issue is not a result of an actual replication/verification failure but an invalid internal state for these missing repositories inside Geo and results in errors in the logs and the verification progress reporting a failed state for these Group Wiki repositories.
|
||||
|
||||
See details of the problem and workaround in issue [#426571](https://gitlab.com/gitlab-org/gitlab/-/issues/426571)
|
||||
|
||||
|
|
|
|||
|
|
@ -209,7 +209,7 @@ The below reflects the current retention periods of GitLab AI model [Sub-Process
|
|||
- Anthropic retains input and output data for 30 days.
|
||||
- Google discards input and output data immediately after the output is provided. Google currently does not store data for abuse monitoring.
|
||||
|
||||
All of these AI providers are under data protection agreements with GitLab that prohibit the use of Customer Content for their own purposes, except to perform their independent legal obligations.
|
||||
All of these AI providers are under data protection agreements with GitLab that prohibit the use of Customer Content for their own purposes, except to perform their independent legal obligations.
|
||||
|
||||
### Telemetry
|
||||
|
||||
|
|
|
|||
|
|
@ -139,7 +139,7 @@ FLAG:
|
|||
On self-managed GitLab, by default this feature is not available. To make it available per project or for your entire instance, an administrator can [enable the feature flag](../../administration/feature_flags.md) named `dora_configuration`.
|
||||
On GitLab.com, this feature is not available.
|
||||
|
||||
This feature is an [Experiment](../../policy/experiment-beta-support.md).
|
||||
This feature is an [Experiment](../../policy/experiment-beta-support.md).
|
||||
To join the list of users testing this feature, [here is a suggested test flow](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/96561#steps-to-check-on-localhost).
|
||||
If you find a bug, [open an issue here](https://gitlab.com/groups/gitlab-org/-/epics/11490).
|
||||
To share your use cases and feedback, comment in [epic 11490](https://gitlab.com/groups/gitlab-org/-/epics/11490).
|
||||
|
|
|
|||
|
|
@ -15,10 +15,10 @@ stored secrets, injecting code to take over accounts, or executing OS commands.
|
|||
## Remediation
|
||||
|
||||
Never pass user input directly into functions which evaluate string data as code, such as `eval`,
|
||||
`send`, `public_send`, `instance_eval` or `class_eval`. There is almost no benefit of passing string
|
||||
`send`, `public_send`, `instance_eval` or `class_eval`. There is almost no benefit of passing string
|
||||
values to these methods, as such the best recommendation is to replace the current logic with more safe
|
||||
implementations of dynamically evaluating logic with user input. If using `send` or `public_send` ensure
|
||||
the first argument is to a known, hardcoded method/symbol and does not come from user input.
|
||||
the first argument is to a known, hardcoded method/symbol and does not come from user input.
|
||||
|
||||
For `eval`, `instance_eval` and `class_eval`, user input should never be sent directly to these methods.
|
||||
One alternative is to store functions or methods in a Hash that can be looked up using a key. If the key
|
||||
|
|
|
|||
|
|
@ -62,8 +62,7 @@ To associate a cluster management project with your cluster:
|
|||
- [Group-level cluster](../group/clusters/index.md), go to your group's **Kubernetes**
|
||||
page.
|
||||
- [Instance-level cluster](../instance/clusters/index.md):
|
||||
1. On the left sidebar, select **Search or go to**.
|
||||
1. Select **Admin Area**.
|
||||
1. On the left sidebar, at the bottom, select **Admin Area**.
|
||||
1. Select **Kubernetes**.
|
||||
1. Expand **Advanced settings**.
|
||||
1. From the **Cluster management project** dropdown list, select the cluster management project
|
||||
|
|
|
|||
|
|
@ -241,8 +241,7 @@ curl --request PUT --header "Content-Type: application/json" --header "Authoriza
|
|||
After you have made sure no group members have that custom role, delete the
|
||||
custom role.
|
||||
|
||||
1. On the left sidebar, select **Search or go to**.
|
||||
1. GitLab.com only. Select **Admin Area**.
|
||||
1. On the left sidebar, at the bottom, select **Admin Area**.
|
||||
1. Select **Settings > Roles and Permissions**.
|
||||
1. Select **Custom Roles**.
|
||||
1. In the **Actions** column, select **Delete role** (**{remove}**) and confirm.
|
||||
|
|
|
|||
|
|
@ -222,7 +222,7 @@ to [reset their password](https://gitlab.com/users/password/new) if both:
|
|||
Users might get an error that states "SAML Name ID and email address do not match your user account. Contact an administrator."
|
||||
This means:
|
||||
|
||||
- The NameID value sent by SAML does not match the existing SAML identity `extern_uid` value. Both the NameID and the `extern_uid` are case sensitive. For more information, see [manage user SAML identity](index.md#manage-user-saml-identity).
|
||||
- The NameID value sent by SAML does not match the existing SAML identity `extern_uid` value. Both the NameID and the `extern_uid` are case sensitive. For more information, see [manage user SAML identity](index.md#manage-user-saml-identity).
|
||||
- Either the SAML response did not include an email address or the email address did not match the user's GitLab email address.
|
||||
|
||||
The workaround is that a GitLab group Owner uses the [SAML API](../../../api/saml.md) to update the user's SAML `extern_uid`.
|
||||
|
|
|
|||
|
|
@ -105,8 +105,7 @@ To change who can create subgroups on a group:
|
|||
1. Select a role from **Roles allowed to create subgroups**.
|
||||
1. Select **Save changes**.
|
||||
- As an administrator:
|
||||
1. On the left sidebar, select **Search or go to**.
|
||||
1. Select **Admin Area**.
|
||||
1. On the left sidebar, at the bottom, select **Admin Area**.
|
||||
1. On the left sidebar, select **Overview > Groups**.
|
||||
1. In the group's row select **Edit**.
|
||||
1. Select a role from **Allowed to create subgroups**.
|
||||
|
|
|
|||
|
|
@ -142,8 +142,8 @@ If multiple packages have the same name, version, and filename, then the most re
|
|||
|
||||
Prerequisites:
|
||||
|
||||
- You need to [authenticate with the API](../../../api/rest/index.md#authentication).
|
||||
- If authenticating with a deploy token, it must be configured with the `read_package_registry` and/or `write_package_registry` scope.
|
||||
- You need to [authenticate with the API](../../../api/rest/index.md#authentication).
|
||||
- If authenticating with a deploy token, it must be configured with the `read_package_registry` and/or `write_package_registry` scope.
|
||||
- Project access tokens require the `read_api` scope and at least the `Reporter` role.
|
||||
|
||||
```plaintext
|
||||
|
|
|
|||
|
|
@ -26,8 +26,7 @@ notifications:
|
|||
1. To enable the integration for your group or project:
|
||||
1. In your group or project, on the left sidebar, select **Settings > Integrations**.
|
||||
1. To enable the integration for your instance:
|
||||
1. On the left sidebar, select **Search or go to**.
|
||||
1. Select **Admin Area**.
|
||||
1. On the left sidebar, at the bottom, select **Admin Area**.
|
||||
1. On the left sidebar, select **Settings > Integrations**.
|
||||
1. Select the **Pumble** integration.
|
||||
1. Ensure that the **Active** toggle is enabled.
|
||||
|
|
|
|||
|
|
@ -43,8 +43,7 @@ After you invite the bot to a Telegram channel, you can configure GitLab to send
|
|||
1. On the left sidebar, select **Search or go to** and find your project or group.
|
||||
1. Select **Settings > Integrations**.
|
||||
- **For your instance:**
|
||||
1. On the left sidebar, select **Search or go to**.
|
||||
1. Select **Admin Area**.
|
||||
1. On the left sidebar, at the bottom, select **Admin Area**.
|
||||
1. Select **Settings > Integrations**.
|
||||
1. Select **Telegram**.
|
||||
1. Under **Enable integration**, select the **Active** checkbox.
|
||||
|
|
|
|||
|
|
@ -29,8 +29,7 @@ notifications:
|
|||
1. On the left sidebar, select **Search or go to** and find your project or group.
|
||||
1. Select **Settings > Integrations**.
|
||||
- At the instance level:
|
||||
1. On the left sidebar, select **Search or go to**.
|
||||
1. Select **Admin Area**.
|
||||
1. On the left sidebar, at the bottom, select **Admin Area**.
|
||||
1. Select **Settings > Integrations**.
|
||||
1. Select the **Webex Teams** integration.
|
||||
1. Ensure that the **Active** toggle is enabled.
|
||||
|
|
|
|||
|
|
@ -1,88 +0,0 @@
|
|||
# This template is provided and maintained by Diffblue.
|
||||
# You can copy and paste this template into a new `.gitlab-ci.yml` file.
|
||||
# This template is designed to be used with the Cover Pipeline for GitLab integration from Diffblue.
|
||||
# It will download the latest version of Diffblue Cover, build the associated project, and
|
||||
# automatically write Java unit tests for the project.
|
||||
# Note that additional config is required:
|
||||
# https://docs.diffblue.com/features/cover-pipeline/cover-pipeline-for-gitlab
|
||||
# You should not add this template to an existing `.gitlab-ci.yml` file by using the `include:` keyword.
|
||||
#
|
||||
# To contribute improvements to CI/CD templates, please follow the Development guide at:
|
||||
# https://docs.gitlab.com/ee/development/cicd/templates.html
|
||||
# This specific template is located at:
|
||||
# https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Diffblue-Cover.gitlab-ci.yml
|
||||
|
||||
variables:
|
||||
# Configure the following via the Diffblue Cover integration config for your project, or by
|
||||
# using CI/CD masked Variables.
|
||||
# For details, see https://docs.diffblue.com/features/cover-pipeline/cover-pipeline-for-gitlab
|
||||
|
||||
# Diffblue Cover license key: DIFFBLUE_LICENSE_KEY
|
||||
# Refer to your welcome email or you can obtain a free trial key from
|
||||
# https://www.diffblue.com/try-cover/gitlab
|
||||
|
||||
# GitLab access token: DIFFBLUE_ACCESS_TOKEN, DIFFBLUE_ACCESS_TOKEN_NAME
|
||||
# The access token should have a role of Developer or better and should have
|
||||
# api and write_repository permissions.
|
||||
|
||||
# Diffblue Cover requires a minimum of 4GB of memory.
|
||||
JVM_ARGS: -Xmx4g
|
||||
|
||||
stages:
|
||||
- build
|
||||
|
||||
diffblue-cover:
|
||||
stage: build
|
||||
|
||||
# Select the Cover CLI docker image to use with your CI tool.
|
||||
# Tag variations are produced for each supported JDK version.
|
||||
# Go to https://hub.docker.com/r/diffblue/cover-cli for details.
|
||||
# Note: To use the latest version of Diffblue Cover, use one of the latest-jdk<nn> tags.
|
||||
# To use a specific release version, use one of the yyyy.mm.dd-jdk<nn> tags.
|
||||
image: diffblue/cover-cli:latest-jdk17
|
||||
|
||||
# Diffblue Cover currently only supports running on merge_request_events.
|
||||
rules:
|
||||
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
|
||||
|
||||
# Diffblue Cover log files are saved to a .diffblue/ directory in the pipeline artifacts,
|
||||
# and are available for download once the pipeline completes.
|
||||
artifacts:
|
||||
paths:
|
||||
- "**/.diffblue/"
|
||||
|
||||
script:
|
||||
|
||||
# Diffblue Cover requires the project to be built before creating any tests.
|
||||
# Either specify the build command here (one of the following), or provide
|
||||
# prebuilt artifacts via a job dependency.
|
||||
|
||||
# Maven project example (comment out the Gradle version if used):
|
||||
- mvn test-compile --batch-mode --no-transfer-progress
|
||||
|
||||
# Gradle project example (comment out the Maven version if used):
|
||||
# - gradle testClasses
|
||||
|
||||
# Diffblue Cover commands and options to run.
|
||||
# dcover – the core Diffblue Cover command
|
||||
# ci – enable the GitLab CI/CD integration via environment variables
|
||||
# activate - activate the license key
|
||||
# validate - remove non-compiling and failing tests
|
||||
# create - create new tests for your project
|
||||
# --maven – use the maven build tool
|
||||
# For detailed information on Cover CLI commands and options, see
|
||||
# https://docs.diffblue.com/features/cover-cli/commands-and-arguments
|
||||
- dcover
|
||||
ci
|
||||
activate
|
||||
validate --maven
|
||||
create --maven
|
||||
|
||||
# Diffblue Cover will also respond to specific project labels:
|
||||
# Diffblue Cover: Baseline
|
||||
# Used to mark a merge request as requiring a full suite of tests to be written.
|
||||
# This overrides the default behaviour where Cover will only write tests related
|
||||
# to the code changes already in the merge request. This is useful when running Diffblue
|
||||
# Cover for the first time on a project and when new product enhancements are released.
|
||||
# Diffblue Cover: Skip
|
||||
# Used to mark a merge request as requiring no tests to be written.
|
||||
|
|
@ -58063,6 +58063,9 @@ msgstr ""
|
|||
msgid "must be before %{expiry_date}"
|
||||
msgstr ""
|
||||
|
||||
msgid "must be enabled."
|
||||
msgstr ""
|
||||
|
||||
msgid "must be false when email confirmation setting is off"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
|||
71
package.json
71
package.json
|
|
@ -74,41 +74,41 @@
|
|||
"@snowplow/browser-plugin-timezone": "^3.9.0",
|
||||
"@snowplow/browser-tracker": "^3.9.0",
|
||||
"@sourcegraph/code-host-integration": "0.0.91",
|
||||
"@tiptap/core": "^2.1.12",
|
||||
"@tiptap/extension-blockquote": "^2.1.12",
|
||||
"@tiptap/extension-bold": "^2.1.12",
|
||||
"@tiptap/extension-bubble-menu": "^2.1.12",
|
||||
"@tiptap/extension-bullet-list": "^2.1.12",
|
||||
"@tiptap/extension-code": "^2.1.12",
|
||||
"@tiptap/extension-code-block": "^2.1.12",
|
||||
"@tiptap/extension-code-block-lowlight": "^2.1.12",
|
||||
"@tiptap/extension-document": "^2.1.12",
|
||||
"@tiptap/extension-dropcursor": "^2.1.12",
|
||||
"@tiptap/extension-gapcursor": "^2.1.12",
|
||||
"@tiptap/extension-hard-break": "^2.1.12",
|
||||
"@tiptap/extension-heading": "^2.1.12",
|
||||
"@tiptap/extension-highlight": "^2.1.12",
|
||||
"@tiptap/extension-history": "^2.1.12",
|
||||
"@tiptap/extension-horizontal-rule": "^2.1.12",
|
||||
"@tiptap/extension-image": "^2.1.12",
|
||||
"@tiptap/extension-italic": "^2.1.12",
|
||||
"@tiptap/extension-link": "^2.1.12",
|
||||
"@tiptap/extension-list-item": "^2.1.12",
|
||||
"@tiptap/extension-ordered-list": "^2.1.12",
|
||||
"@tiptap/extension-paragraph": "^2.1.12",
|
||||
"@tiptap/extension-strike": "^2.1.12",
|
||||
"@tiptap/extension-subscript": "^2.1.12",
|
||||
"@tiptap/extension-superscript": "^2.1.12",
|
||||
"@tiptap/extension-table": "^2.1.12",
|
||||
"@tiptap/extension-table-cell": "^2.1.12",
|
||||
"@tiptap/extension-table-header": "^2.1.12",
|
||||
"@tiptap/extension-table-row": "^2.1.12",
|
||||
"@tiptap/extension-task-item": "^2.1.12",
|
||||
"@tiptap/extension-task-list": "^2.1.12",
|
||||
"@tiptap/extension-text": "^2.1.12",
|
||||
"@tiptap/pm": "^2.1.12",
|
||||
"@tiptap/suggestion": "^2.1.12",
|
||||
"@tiptap/vue-2": "^2.1.12",
|
||||
"@tiptap/core": "^2.1.13",
|
||||
"@tiptap/extension-blockquote": "^2.1.13",
|
||||
"@tiptap/extension-bold": "^2.1.13",
|
||||
"@tiptap/extension-bubble-menu": "^2.1.13",
|
||||
"@tiptap/extension-bullet-list": "^2.1.13",
|
||||
"@tiptap/extension-code": "^2.1.13",
|
||||
"@tiptap/extension-code-block": "^2.1.13",
|
||||
"@tiptap/extension-code-block-lowlight": "^2.1.13",
|
||||
"@tiptap/extension-document": "^2.1.13",
|
||||
"@tiptap/extension-dropcursor": "^2.1.13",
|
||||
"@tiptap/extension-gapcursor": "^2.1.13",
|
||||
"@tiptap/extension-hard-break": "^2.1.13",
|
||||
"@tiptap/extension-heading": "^2.1.13",
|
||||
"@tiptap/extension-highlight": "^2.1.13",
|
||||
"@tiptap/extension-history": "^2.1.13",
|
||||
"@tiptap/extension-horizontal-rule": "^2.1.13",
|
||||
"@tiptap/extension-image": "^2.1.13",
|
||||
"@tiptap/extension-italic": "^2.1.13",
|
||||
"@tiptap/extension-link": "^2.1.13",
|
||||
"@tiptap/extension-list-item": "^2.1.13",
|
||||
"@tiptap/extension-ordered-list": "^2.1.13",
|
||||
"@tiptap/extension-paragraph": "^2.1.13",
|
||||
"@tiptap/extension-strike": "^2.1.13",
|
||||
"@tiptap/extension-subscript": "^2.1.13",
|
||||
"@tiptap/extension-superscript": "^2.1.13",
|
||||
"@tiptap/extension-table": "^2.1.13",
|
||||
"@tiptap/extension-table-cell": "^2.1.13",
|
||||
"@tiptap/extension-table-header": "^2.1.13",
|
||||
"@tiptap/extension-table-row": "^2.1.13",
|
||||
"@tiptap/extension-task-item": "^2.1.13",
|
||||
"@tiptap/extension-task-list": "^2.1.13",
|
||||
"@tiptap/extension-text": "^2.1.13",
|
||||
"@tiptap/pm": "^2.1.13",
|
||||
"@tiptap/suggestion": "^2.1.13",
|
||||
"@tiptap/vue-2": "^2.1.13",
|
||||
"@vue/apollo-components": "^4.0.0-beta.4",
|
||||
"@vue/apollo-option": "^4.0.0-beta.4",
|
||||
"apollo-upload-client": "15.0.0",
|
||||
|
|
@ -252,6 +252,7 @@
|
|||
"axios-mock-adapter": "^1.15.0",
|
||||
"babel-jest": "^28.1.3",
|
||||
"chalk": "^2.4.1",
|
||||
"chokidar": "^3.5.3",
|
||||
"commander": "^2.20.3",
|
||||
"custom-jquery-matchers": "^2.1.0",
|
||||
"eslint": "8.54.0",
|
||||
|
|
|
|||
|
|
@ -128,7 +128,7 @@ module QA
|
|||
max: 3,
|
||||
interval: 1,
|
||||
retry_block: ->(exception:, **) { logger.warn("Request to GitHub failed: '#{exception}', retrying") },
|
||||
exceptions: [Octokit::InternalServerError, Octokit::ServerError, Net::OpenTimeout]
|
||||
exceptions: [Faraday::ServerError, Faraday::TimeoutError]
|
||||
)
|
||||
builder.use(Faraday::Response::RaiseError) # faraday retry swallows errors, so it needs to be re-raised
|
||||
end
|
||||
|
|
|
|||
|
|
@ -0,0 +1,69 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
require 'spec_helper'
|
||||
|
||||
RSpec.describe AutocompleteSources::ExpiresIn, feature_category: :global_search do
|
||||
controller(ActionController::Base) do
|
||||
include AutocompleteSources::ExpiresIn
|
||||
|
||||
def members
|
||||
render json: []
|
||||
end
|
||||
|
||||
def commands
|
||||
render json: []
|
||||
end
|
||||
|
||||
def labels
|
||||
render json: []
|
||||
end
|
||||
|
||||
def not_cached
|
||||
render json: []
|
||||
end
|
||||
end
|
||||
|
||||
before do
|
||||
routes.draw do
|
||||
get "members" => "anonymous#members"
|
||||
get "commands" => "anonymous#commands"
|
||||
get "labels" => "anonymous#labels"
|
||||
get "not_cached" => "anonymous#not_cached"
|
||||
end
|
||||
end
|
||||
|
||||
let(:expected_cache_control) { "max-age=#{described_class::AUTOCOMPLETE_EXPIRES_IN}, private" }
|
||||
|
||||
described_class::AUTOCOMPLETE_CACHED_ACTIONS.each do |action|
|
||||
context "when action is #{action} with feature flag enabled" do
|
||||
it "sets correct cache-control" do
|
||||
get action
|
||||
|
||||
expect(response).to have_gitlab_http_status(:ok)
|
||||
expect(response.headers['Cache-Control']).to eq(expected_cache_control)
|
||||
end
|
||||
end
|
||||
|
||||
context "when action is #{action} with feature flag disabled" do
|
||||
before do
|
||||
stub_feature_flags("cache_autocomplete_sources_#{action}" => false)
|
||||
end
|
||||
|
||||
it 'does not set cache-control' do
|
||||
get action
|
||||
|
||||
expect(response).to have_gitlab_http_status(:ok)
|
||||
expect(response.headers['Cache-Control']).to be_nil
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'when action is not in AUTOCOMPLETE_CACHED_ACTIONS' do
|
||||
it 'does not set cache-control' do
|
||||
get :not_cached
|
||||
|
||||
expect(response).to have_gitlab_http_status(:ok)
|
||||
expect(response.headers['Cache-Control']).to be_nil
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
@ -2062,11 +2062,48 @@ describe('DiffsStoreActions', () => {
|
|||
|
||||
describe('toggleFileCommentForm', () => {
|
||||
it('commits TOGGLE_FILE_COMMENT_FORM', () => {
|
||||
const file = getDiffFileMock();
|
||||
return testAction(
|
||||
diffActions.toggleFileCommentForm,
|
||||
'path',
|
||||
{},
|
||||
[{ type: types.TOGGLE_FILE_COMMENT_FORM, payload: 'path' }],
|
||||
file.file_path,
|
||||
{
|
||||
diffFiles: [file],
|
||||
},
|
||||
[
|
||||
{ type: types.TOGGLE_FILE_COMMENT_FORM, payload: file.file_path },
|
||||
{
|
||||
type: types.SET_FILE_COLLAPSED,
|
||||
payload: { filePath: file.file_path, collapsed: false },
|
||||
},
|
||||
],
|
||||
[],
|
||||
);
|
||||
});
|
||||
|
||||
it('always opens if file is collapsed', () => {
|
||||
const file = {
|
||||
...getDiffFileMock(),
|
||||
viewer: {
|
||||
...getDiffFileMock().viewer,
|
||||
manuallyCollapsed: true,
|
||||
},
|
||||
};
|
||||
return testAction(
|
||||
diffActions.toggleFileCommentForm,
|
||||
file.file_path,
|
||||
{
|
||||
diffFiles: [file],
|
||||
},
|
||||
[
|
||||
{
|
||||
type: types.SET_FILE_COMMENT_FORM,
|
||||
payload: { filePath: file.file_path, expanded: true },
|
||||
},
|
||||
{
|
||||
type: types.SET_FILE_COLLAPSED,
|
||||
payload: { filePath: file.file_path, collapsed: false },
|
||||
},
|
||||
],
|
||||
[],
|
||||
);
|
||||
});
|
||||
|
|
|
|||
|
|
@ -1045,6 +1045,17 @@ describe('DiffsStoreMutations', () => {
|
|||
});
|
||||
});
|
||||
|
||||
describe('SET_FILE_COMMENT_FORM', () => {
|
||||
it('toggles diff files hasCommentForm', () => {
|
||||
const state = { diffFiles: [{ file_path: 'path', hasCommentForm: false }] };
|
||||
const expanded = true;
|
||||
|
||||
mutations[types.SET_FILE_COMMENT_FORM](state, { filePath: 'path', expanded });
|
||||
|
||||
expect(state.diffFiles[0].hasCommentForm).toEqual(expanded);
|
||||
});
|
||||
});
|
||||
|
||||
describe('ADD_DRAFT_TO_FILE', () => {
|
||||
it('adds draft to diff file', () => {
|
||||
const state = { diffFiles: [{ file_path: 'path', drafts: [] }] };
|
||||
|
|
|
|||
|
|
@ -1,26 +0,0 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
require 'spec_helper'
|
||||
|
||||
RSpec.describe 'Diffblue-Cover.gitlab-ci.yml', feature_category: :continuous_integration do
|
||||
subject(:template) { Gitlab::Template::GitlabCiYmlTemplate.find('Diffblue-Cover') }
|
||||
|
||||
describe 'the created pipeline' do
|
||||
let(:pipeline_branch) { 'patch-1' }
|
||||
let_it_be(:project) { create(:project, :repository, create_branch: 'patch-1') }
|
||||
let(:user) { project.first_owner }
|
||||
|
||||
let(:mr_service) { MergeRequests::CreatePipelineService.new(project: project, current_user: user) }
|
||||
let(:merge_request) { create(:merge_request, :simple, source_project: project, source_branch: pipeline_branch) }
|
||||
let(:mr_pipeline) { mr_service.execute(merge_request).payload }
|
||||
let(:mr_build_names) { mr_pipeline.builds.pluck(:name) }
|
||||
|
||||
before do
|
||||
stub_ci_pipeline_yaml_file(template.content)
|
||||
end
|
||||
|
||||
it 'creates diffblue-cover jobs' do
|
||||
expect(mr_build_names).to include('diffblue-cover')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
@ -20,7 +20,6 @@ RSpec.describe 'CI YML Templates' do
|
|||
|
||||
context 'that support autodevops' do
|
||||
exceptions = [
|
||||
'Diffblue-Cover.gitlab-ci.yml', # no auto-devops
|
||||
'Security/DAST.gitlab-ci.yml', # DAST stage is defined inside AutoDevops yml
|
||||
'Security/DAST-API.gitlab-ci.yml', # no auto-devops
|
||||
'Security/API-Fuzzing.gitlab-ci.yml', # no auto-devops
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ import { defineConfig } from 'vite';
|
|||
import vue from '@vitejs/plugin-vue2';
|
||||
import graphql from '@rollup/plugin-graphql';
|
||||
import RubyPlugin from 'vite-plugin-ruby';
|
||||
import chokidar from 'chokidar';
|
||||
import { viteCommonjs } from '@originjs/vite-plugin-commonjs';
|
||||
import webpackConfig from './config/webpack.config';
|
||||
import {
|
||||
|
|
@ -58,6 +59,23 @@ const JH_ALIAS_FALLBACK = [
|
|||
},
|
||||
];
|
||||
|
||||
const autoRestartPlugin = {
|
||||
configureServer(server) {
|
||||
const watcher = chokidar.watch(['node_modules/.yarn-integrity'], {
|
||||
ignoreInitial: true,
|
||||
});
|
||||
|
||||
// GDK will restart Vite server for us
|
||||
const stop = () => server.stop();
|
||||
|
||||
watcher.on('add', stop);
|
||||
watcher.on('change', stop);
|
||||
watcher.on('unlink', stop);
|
||||
|
||||
server.httpServer?.addListener?.('close', () => watcher.close());
|
||||
},
|
||||
};
|
||||
|
||||
export default defineConfig({
|
||||
cacheDir: path.resolve(__dirname, 'tmp/cache/vite'),
|
||||
resolve: {
|
||||
|
|
@ -76,6 +94,8 @@ export default defineConfig({
|
|||
],
|
||||
},
|
||||
plugins: [
|
||||
// VITE_ENABLED is present when running with GDK
|
||||
process.env.VITE_ENABLED ? autoRestartPlugin : null,
|
||||
fixedRubyPlugin,
|
||||
vue({
|
||||
template: {
|
||||
|
|
|
|||
292
yarn.lock
292
yarn.lock
|
|
@ -2199,181 +2199,181 @@
|
|||
dom-accessibility-api "^0.5.1"
|
||||
pretty-format "^26.4.2"
|
||||
|
||||
"@tiptap/core@^2.1.12":
|
||||
version "2.1.12"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/core/-/core-2.1.12.tgz#904fdf147e91b5e60561c76e7563c1b5a32f54ab"
|
||||
integrity sha512-ZGc3xrBJA9KY8kln5AYTj8y+GDrKxi7u95xIl2eccrqTY5CQeRu6HRNM1yT4mAjuSaG9jmazyjGRlQuhyxCKxQ==
|
||||
"@tiptap/core@^2.1.13":
|
||||
version "2.1.13"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/core/-/core-2.1.13.tgz#e21f566e81688c826c6f26d2940886734189e193"
|
||||
integrity sha512-cMC8bgTN63dj1Mv82iDeeLl6sa9kY0Pug8LSalxVEptRmyFVsVxGgu2/6Y3T+9aCYScxfS06EkA8SdzFMAwYTQ==
|
||||
|
||||
"@tiptap/extension-blockquote@^2.1.12":
|
||||
version "2.1.12"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-blockquote/-/extension-blockquote-2.1.12.tgz#97b43419606acf9bfd93b9f482a1827dcac8c3e9"
|
||||
integrity sha512-Qb3YRlCfugx9pw7VgLTb+jY37OY4aBJeZnqHzx4QThSm13edNYjasokbX0nTwL1Up4NPTcY19JUeHt6fVaVVGg==
|
||||
"@tiptap/extension-blockquote@^2.1.13":
|
||||
version "2.1.13"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-blockquote/-/extension-blockquote-2.1.13.tgz#abf01e3a00d72434b08be7f3d7e318c7320db486"
|
||||
integrity sha512-oe6wSQACmODugoP9XH3Ouffjy4BsOBWfTC+dETHNCG6ZED6ShHN3CB9Vr7EwwRgmm2WLaKAjMO1sVumwH+Z1rg==
|
||||
|
||||
"@tiptap/extension-bold@^2.1.12":
|
||||
version "2.1.12"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-bold/-/extension-bold-2.1.12.tgz#5dbf41105fc0fbde8adbff629312187fbebc39b0"
|
||||
integrity sha512-AZGxIxcGU1/y6V2YEbKsq6BAibL8yQrbRm6EdcBnby41vj1WziewEKswhLGmZx5IKM2r2ldxld03KlfSIlKQZg==
|
||||
"@tiptap/extension-bold@^2.1.13":
|
||||
version "2.1.13"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-bold/-/extension-bold-2.1.13.tgz#fb0c8916269be61269e4aef9d1da417daf52b7f1"
|
||||
integrity sha512-6cHsQTh/rUiG4jkbJer3vk7g60I5tBwEBSGpdxmEHh83RsvevD8+n92PjA24hYYte5RNlATB011E1wu8PVhSvw==
|
||||
|
||||
"@tiptap/extension-bubble-menu@^2.1.12":
|
||||
version "2.1.12"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-bubble-menu/-/extension-bubble-menu-2.1.12.tgz#4103a21a6433e58690c8f742ece39fad78dc26eb"
|
||||
integrity sha512-gAGi21EQ4wvLmT7klgariAc2Hf+cIjaNU2NWze3ut6Ku9gUo5ZLqj1t9SKHmNf4d5JG63O8GxpErqpA7lHlRtw==
|
||||
"@tiptap/extension-bubble-menu@^2.1.13":
|
||||
version "2.1.13"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-bubble-menu/-/extension-bubble-menu-2.1.13.tgz#884cd2e4e0c9586998baac3d0a14621b177f1859"
|
||||
integrity sha512-Hm7e1GX3AI6lfaUmr6WqsS9MMyXIzCkhh+VQi6K8jj4Q4s8kY4KPoAyD/c3v9pZ/dieUtm2TfqrOCkbHzsJQBg==
|
||||
dependencies:
|
||||
tippy.js "^6.3.7"
|
||||
|
||||
"@tiptap/extension-bullet-list@^2.1.12":
|
||||
version "2.1.12"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-bullet-list/-/extension-bullet-list-2.1.12.tgz#7c905a577ce30ef2cb335870a23f9d24fd26f6aa"
|
||||
integrity sha512-vtD8vWtNlmAZX8LYqt2yU9w3mU9rPCiHmbp4hDXJs2kBnI0Ju/qAyXFx6iJ3C3XyuMnMbJdDI9ee0spAvFz7cQ==
|
||||
"@tiptap/extension-bullet-list@^2.1.13":
|
||||
version "2.1.13"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-bullet-list/-/extension-bullet-list-2.1.13.tgz#0a26731ebf98ddfd268884ff1712f7189be7b63c"
|
||||
integrity sha512-NkWlQ5bLPUlcROj6G/d4oqAxMf3j3wfndGOPp0z8OoXJtVbVoXl/aMSlLbVgE6n8r6CS8MYxKhXNxrb7Ll2foA==
|
||||
|
||||
"@tiptap/extension-code-block-lowlight@^2.1.12":
|
||||
version "2.1.12"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-code-block-lowlight/-/extension-code-block-lowlight-2.1.12.tgz#ccbca5d0d92bee373dc8e2e2ae6c27f62f66437c"
|
||||
integrity sha512-dtIbpI9QrWa9TzNO4v5q/zf7+d83wpy5i9PEccdJAVtRZ0yOI8JIZAWzG5ex3zAoCA0CnQFdsPSVykYSDdxtDA==
|
||||
"@tiptap/extension-code-block-lowlight@^2.1.13":
|
||||
version "2.1.13"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-code-block-lowlight/-/extension-code-block-lowlight-2.1.13.tgz#91110f44d6cc8a12d95ac92aee0c848fdedefb0d"
|
||||
integrity sha512-PlU0lzAEbUGqPykl7fYqlAiY7/zFRtQExsbrpi2kctSIzxC+jgMM4vEpWxLS4jZEXl7jVHvBRH6lRNINDHWmQA==
|
||||
|
||||
"@tiptap/extension-code-block@^2.1.12":
|
||||
version "2.1.12"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-code-block/-/extension-code-block-2.1.12.tgz#20416baef1b5fc839490a8416e97fdcbb5fdf918"
|
||||
integrity sha512-RXtSYCVsnk8D+K80uNZShClfZjvv1EgO42JlXLVGWQdIgaNyuOv/6I/Jdf+ZzhnpsBnHufW+6TJjwP5vJPSPHA==
|
||||
"@tiptap/extension-code-block@^2.1.13":
|
||||
version "2.1.13"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-code-block/-/extension-code-block-2.1.13.tgz#3e441d171d3ed821e67291dbf4cbad7e2ea29809"
|
||||
integrity sha512-E3tweNExPOV+t1ODKX0MDVsS0aeHGWc1ECt+uyp6XwzsN0bdF2A5+pttQqM7sTcMnQkVACGFbn9wDeLRRcfyQg==
|
||||
|
||||
"@tiptap/extension-code@^2.1.12":
|
||||
version "2.1.12"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-code/-/extension-code-2.1.12.tgz#86d2eb5f63725af472c5fd858e5a9c7ccae06ef3"
|
||||
integrity sha512-CRiRq5OTC1lFgSx6IMrECqmtb93a0ZZKujEnaRhzWliPBjLIi66va05f/P1vnV6/tHaC3yfXys6dxB5A4J8jxw==
|
||||
"@tiptap/extension-code@^2.1.13":
|
||||
version "2.1.13"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-code/-/extension-code-2.1.13.tgz#27a5ca5705e59ca97390fad4d6631bf431690480"
|
||||
integrity sha512-f5fLYlSgliVVa44vd7lQGvo49+peC+Z2H0Fn84TKNCH7tkNZzouoJsHYn0/enLaQ9Sq+24YPfqulfiwlxyiT8w==
|
||||
|
||||
"@tiptap/extension-document@^2.1.12":
|
||||
version "2.1.12"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-document/-/extension-document-2.1.12.tgz#e19e4716dfad60cbeb6abaf2f362fed759963529"
|
||||
integrity sha512-0QNfAkCcFlB9O8cUNSwTSIQMV9TmoEhfEaLz/GvbjwEq4skXK3bU+OQX7Ih07waCDVXIGAZ7YAZogbvrn/WbOw==
|
||||
"@tiptap/extension-document@^2.1.13":
|
||||
version "2.1.13"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-document/-/extension-document-2.1.13.tgz#5b68fa08e8a79eebd41f1360982db2ddd28ad010"
|
||||
integrity sha512-wLwiTWsVmZTGIE5duTcHRmW4ulVxNW4nmgfpk95+mPn1iKyNGtrVhGWleLhBlTj+DWXDtcfNWZgqZkZNzhkqYQ==
|
||||
|
||||
"@tiptap/extension-dropcursor@^2.1.12":
|
||||
version "2.1.12"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-dropcursor/-/extension-dropcursor-2.1.12.tgz#9da0c275291c9d47497d3db41b4d70d96366b4ff"
|
||||
integrity sha512-0tT/q8nL4NBCYPxr9T0Brck+RQbWuczm9nV0bnxgt0IiQXoRHutfPWdS7GA65PTuVRBS/3LOco30fbjFhkfz/A==
|
||||
"@tiptap/extension-dropcursor@^2.1.13":
|
||||
version "2.1.13"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-dropcursor/-/extension-dropcursor-2.1.13.tgz#2e8908f2dec9e8e997a2f216a11d3b915fe062df"
|
||||
integrity sha512-NAyJi4BJxH7vl/2LNS1X0ndwFKjEtX+cRgshXCnMyh7qNpIRW6Plczapc/W1OiMncOEhZJfpZfkRSfwG01FWFg==
|
||||
|
||||
"@tiptap/extension-floating-menu@^2.1.12":
|
||||
version "2.1.12"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-floating-menu/-/extension-floating-menu-2.1.12.tgz#68a658b2b9bdd3a0fc1afc5165231838061a8fde"
|
||||
integrity sha512-uo0ydCJNg6AWwLT6cMUJYVChfvw2PY9ZfvKRhh9YJlGfM02jS4RUG/bJBts6R37f+a5FsOvAVwg8EvqPlNND1A==
|
||||
"@tiptap/extension-floating-menu@^2.1.13":
|
||||
version "2.1.13"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-floating-menu/-/extension-floating-menu-2.1.13.tgz#e12e6e73ee095319d4a723a9b46b8f7b1a9f4b1a"
|
||||
integrity sha512-9Oz7pk1Nts2+EyY+rYfnREGbLzQ5UFazAvRhF6zAJdvyuDmAYm0Jp6s0GoTrpV0/dJEISoFaNpPdMJOb9EBNRw==
|
||||
dependencies:
|
||||
tippy.js "^6.3.7"
|
||||
|
||||
"@tiptap/extension-gapcursor@^2.1.12":
|
||||
version "2.1.12"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-gapcursor/-/extension-gapcursor-2.1.12.tgz#63844c3abd1a38af915839cf0c097b6d2e5a86fe"
|
||||
integrity sha512-zFYdZCqPgpwoB7whyuwpc8EYLYjUE5QYKb8vICvc+FraBUDM51ujYhFSgJC3rhs8EjI+8GcK8ShLbSMIn49YOQ==
|
||||
"@tiptap/extension-gapcursor@^2.1.13":
|
||||
version "2.1.13"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-gapcursor/-/extension-gapcursor-2.1.13.tgz#994a54e1d4106dfaede0acce184c48457ab34450"
|
||||
integrity sha512-Cl5apsoTcyPPCgE3ThufxQxZ1wyqqh+9uxUN9VF9AbeTkid6oPZvKXwaILf6AFnkSy+SuKrb9kZD2iaezxpzXw==
|
||||
|
||||
"@tiptap/extension-hard-break@^2.1.12":
|
||||
version "2.1.12"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-hard-break/-/extension-hard-break-2.1.12.tgz#54d0c9996e1173594852394975a9356eec98bc9a"
|
||||
integrity sha512-nqKcAYGEOafg9D+2cy1E4gHNGuL12LerVa0eS2SQOb+PT8vSel9OTKU1RyZldsWSQJ5rq/w4uIjmLnrSR2w6Yw==
|
||||
"@tiptap/extension-hard-break@^2.1.13":
|
||||
version "2.1.13"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-hard-break/-/extension-hard-break-2.1.13.tgz#fc84d0ff7e2fe861bf421bc8000194ecc26979b0"
|
||||
integrity sha512-TGkMzMQayuKg+vN4du0x1ahEItBLcCT1jdWeRsjdM8gHfzbPLdo4PQhVsvm1I0xaZmbJZelhnVsUwRZcIu1WNA==
|
||||
|
||||
"@tiptap/extension-heading@^2.1.12":
|
||||
version "2.1.12"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-heading/-/extension-heading-2.1.12.tgz#05ae4684d6f29ae611495ab114038e14a5d1dff6"
|
||||
integrity sha512-MoANP3POAP68Ko9YXarfDKLM/kXtscgp6m+xRagPAghRNujVY88nK1qBMZ3JdvTVN6b/ATJhp8UdrZX96TLV2w==
|
||||
"@tiptap/extension-heading@^2.1.13":
|
||||
version "2.1.13"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-heading/-/extension-heading-2.1.13.tgz#94a6219448d97ffed0915fa1bf411074c39f4103"
|
||||
integrity sha512-PEmc19QLmlVUTiHWoF0hpgNTNPNU0nlaFmMKskzO+cx5Df4xvHmv/UqoIwp7/UFbPMkfVJT1ozQU7oD1IWn9Hg==
|
||||
|
||||
"@tiptap/extension-highlight@^2.1.12":
|
||||
version "2.1.12"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-highlight/-/extension-highlight-2.1.12.tgz#184efb75238c9cbc6c18d523b735de4329f78ecc"
|
||||
integrity sha512-buen31cYPyiiHA2i0o2i/UcjRTg/42mNDCizGr1OJwvv3AELG3qOFc4Y58WJWIvWNv+1Dr4ZxHA3GNVn0ANWyg==
|
||||
"@tiptap/extension-highlight@^2.1.13":
|
||||
version "2.1.13"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-highlight/-/extension-highlight-2.1.13.tgz#d30221c178569264ab76327f87a0d81605493fcc"
|
||||
integrity sha512-ZivjJma5WwPYcG0rpnynVDGis32OGdtpTwETEb+2OOjZBCBlyYQ4tcRk5gS3nzBAjLl/Qu84VVbawLhHXB6few==
|
||||
|
||||
"@tiptap/extension-history@^2.1.12":
|
||||
version "2.1.12"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-history/-/extension-history-2.1.12.tgz#03bcb9422e8ea2b82dc45207d1a1b0bc0241b055"
|
||||
integrity sha512-6b7UFVkvPjq3LVoCTrYZAczt5sQrQUaoDWAieVClVZoFLfjga2Fwjcfgcie8IjdPt8YO2hG/sar/c07i9vM0Sg==
|
||||
"@tiptap/extension-history@^2.1.13":
|
||||
version "2.1.13"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-history/-/extension-history-2.1.13.tgz#50478c602143fa77bb3b45c9c9cae4ddb743e0ed"
|
||||
integrity sha512-1ouitThGTBUObqw250aDwGLMNESBH5PRXIGybsCFO1bktdmWtEw7m72WY41EuX2BH8iKJpcYPerl3HfY1vmCNw==
|
||||
|
||||
"@tiptap/extension-horizontal-rule@^2.1.12":
|
||||
version "2.1.12"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-2.1.12.tgz#2191d4ff68ed39381d65971ad8e2aa1be43e6d6b"
|
||||
integrity sha512-RRuoK4KxrXRrZNAjJW5rpaxjiP0FJIaqpi7nFbAua2oHXgsCsG8qbW2Y0WkbIoS8AJsvLZ3fNGsQ8gpdliuq3A==
|
||||
"@tiptap/extension-horizontal-rule@^2.1.13":
|
||||
version "2.1.13"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-2.1.13.tgz#4884dbf912c8dabbbc69e041ff5529d6337e638e"
|
||||
integrity sha512-7OgjgNqZXvBejgULNdMSma2M1nzv4bbZG+FT5XMFZmEOxR9IB1x/RzChjPdeicff2ZK2sfhMBc4Y9femF5XkUg==
|
||||
|
||||
"@tiptap/extension-image@^2.1.12":
|
||||
version "2.1.12"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-image/-/extension-image-2.1.12.tgz#ab035db82f0961b1d906c4d426bf68be563fdcd3"
|
||||
integrity sha512-VCgOTeNLuoR89WoCESLverpdZpPamOd7IprQbDIeG14sUySt7RHNgf2AEfyTYJEHij12rduvAwFzerPldVAIJg==
|
||||
"@tiptap/extension-image@^2.1.13":
|
||||
version "2.1.13"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-image/-/extension-image-2.1.13.tgz#835fc6759b2c1184fb54d3704c538029d523dbf6"
|
||||
integrity sha512-7oVAos+BU4KR/zQsfltrd8hgIxKxyxZ19dhwb1BJI2Nt3Mnx+yFPRlRSehID6RT9dYqgW4UW5d6vh/3HQcYYYw==
|
||||
|
||||
"@tiptap/extension-italic@^2.1.12":
|
||||
version "2.1.12"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-italic/-/extension-italic-2.1.12.tgz#e99480eb77f8b4e5444fc236add8a831d5aa2343"
|
||||
integrity sha512-/XYrW4ZEWyqDvnXVKbgTXItpJOp2ycswk+fJ3vuexyolO6NSs0UuYC6X4f+FbHYL5VuWqVBv7EavGa+tB6sl3A==
|
||||
"@tiptap/extension-italic@^2.1.13":
|
||||
version "2.1.13"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-italic/-/extension-italic-2.1.13.tgz#1e9521dea002c8d6de833d9fd928d4617623eab8"
|
||||
integrity sha512-HyDJfuDn5hzwGKZiANcvgz6wcum6bEgb4wmJnfej8XanTMJatNVv63TVxCJ10dSc9KGpPVcIkg6W8/joNXIEbw==
|
||||
|
||||
"@tiptap/extension-link@^2.1.12":
|
||||
version "2.1.12"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-link/-/extension-link-2.1.12.tgz#a18f83a0b54342e6274ff9e5a5907ef7f15aa723"
|
||||
integrity sha512-Sti5hhlkCqi5vzdQjU/gbmr8kb578p+u0J4kWS+SSz3BknNThEm/7Id67qdjBTOQbwuN07lHjDaabJL0hSkzGQ==
|
||||
"@tiptap/extension-link@^2.1.13":
|
||||
version "2.1.13"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-link/-/extension-link-2.1.13.tgz#ae4abd7c43292e3a1841488bfc7a687b2f014249"
|
||||
integrity sha512-wuGMf3zRtMHhMrKm9l6Tft5M2N21Z0UP1dZ5t1IlOAvOeYV2QZ5UynwFryxGKLO0NslCBLF/4b/HAdNXbfXWUA==
|
||||
dependencies:
|
||||
linkifyjs "^4.1.0"
|
||||
|
||||
"@tiptap/extension-list-item@^2.1.12":
|
||||
version "2.1.12"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-list-item/-/extension-list-item-2.1.12.tgz#3eb28dc998490a98f14765783770b3cf6587d39e"
|
||||
integrity sha512-Gk7hBFofAPmNQ8+uw8w5QSsZOMEGf7KQXJnx5B022YAUJTYYxO3jYVuzp34Drk9p+zNNIcXD4kc7ff5+nFOTrg==
|
||||
"@tiptap/extension-list-item@^2.1.13":
|
||||
version "2.1.13"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-list-item/-/extension-list-item-2.1.13.tgz#3c62127df97974f3196866ec00ee397f4c9acdc4"
|
||||
integrity sha512-6e8iiCWXOiJTl1XOwVW2tc0YG18h70HUtEHFCx2m5HspOGFKsFEaSS3qYxOheM9HxlmQeDt8mTtqftRjEFRxPQ==
|
||||
|
||||
"@tiptap/extension-ordered-list@^2.1.12":
|
||||
version "2.1.12"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-ordered-list/-/extension-ordered-list-2.1.12.tgz#f41a45bc66b4d19e379d4833f303f2e0cd6b9d60"
|
||||
integrity sha512-tF6VGl+D2avCgn9U/2YLJ8qVmV6sPE/iEzVAFZuOSe6L0Pj7SQw4K6AO640QBob/d8VrqqJFHCb6l10amJOnXA==
|
||||
"@tiptap/extension-ordered-list@^2.1.13":
|
||||
version "2.1.13"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-ordered-list/-/extension-ordered-list-2.1.13.tgz#31f4b3a21fbcc2f605c48662e08b5253a304c8c7"
|
||||
integrity sha512-UO4ZAL5Vrr1WwER5VjgmeNIWHpqy9cnIRo1En07gZ0OWTjs1eITPcu+4TCn1ZG6DhoFvAQzE5DTxxdhIotg+qw==
|
||||
|
||||
"@tiptap/extension-paragraph@^2.1.12":
|
||||
version "2.1.12"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-paragraph/-/extension-paragraph-2.1.12.tgz#922447b2aa1c7184787d351ceec593a74d24ed03"
|
||||
integrity sha512-hoH/uWPX+KKnNAZagudlsrr4Xu57nusGekkJWBcrb5MCDE91BS+DN2xifuhwXiTHxnwOMVFjluc0bPzQbkArsw==
|
||||
"@tiptap/extension-paragraph@^2.1.13":
|
||||
version "2.1.13"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-paragraph/-/extension-paragraph-2.1.13.tgz#30f8ae3f8833c606b339f3554b9ffdbe1e604463"
|
||||
integrity sha512-cEoZBJrsQn69FPpUMePXG/ltGXtqKISgypj70PEHXt5meKDjpmMVSY4/8cXvFYEYsI9GvIwyAK0OrfAHiSoROA==
|
||||
|
||||
"@tiptap/extension-strike@^2.1.12":
|
||||
version "2.1.12"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-strike/-/extension-strike-2.1.12.tgz#2b049aedf2985e9c9e3c3f1cc0b203a574c85bd8"
|
||||
integrity sha512-HlhrzIjYUT8oCH9nYzEL2QTTn8d1ECnVhKvzAe6x41xk31PjLMHTUy8aYjeQEkWZOWZ34tiTmslV1ce6R3Dt8g==
|
||||
"@tiptap/extension-strike@^2.1.13":
|
||||
version "2.1.13"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-strike/-/extension-strike-2.1.13.tgz#6605792fa98f0e36861be4c7ed4d4125de8c77aa"
|
||||
integrity sha512-VN6zlaCNCbyJUCDyBFxavw19XmQ4LkCh8n20M8huNqW77lDGXA2A7UcWLHaNBpqAijBRu9mWI8l4Bftyf2fcAw==
|
||||
|
||||
"@tiptap/extension-subscript@^2.1.12":
|
||||
version "2.1.12"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-subscript/-/extension-subscript-2.1.12.tgz#19f4114d779775bb772eee45dcf31b5ef9363f86"
|
||||
integrity sha512-tb1jysEvf4SIiXwEOgDTXiyrG39RVNHvn/zsGMg5wy5t9qUp9m1k7kKYTH084ktuKDAPQonCcpn3hwc+ngTFzg==
|
||||
"@tiptap/extension-subscript@^2.1.13":
|
||||
version "2.1.13"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-subscript/-/extension-subscript-2.1.13.tgz#4363473b760ba3805d6e5e4bd45e63dcc7099f56"
|
||||
integrity sha512-+kqK0P669Dsl/7IPSQNM/bN35Er45MKtHn8eQmudcLpFmBTsL6DlxG/080/Lqr49a6OLcefQfLaENz+QQVfBag==
|
||||
|
||||
"@tiptap/extension-superscript@^2.1.12":
|
||||
version "2.1.12"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-superscript/-/extension-superscript-2.1.12.tgz#6964d9c9b7591101bdc8e7058e88a75fe164d0a9"
|
||||
integrity sha512-ek6L+DNsrjiJieArlgTvQt1VfJ56d8V19WAPW/ciRhq88YRlTEY9nSO3QuUCSUO1nGmE5OWQpgrsiW/XZbONVw==
|
||||
"@tiptap/extension-superscript@^2.1.13":
|
||||
version "2.1.13"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-superscript/-/extension-superscript-2.1.13.tgz#c508ef30340457f362b9d179a5aa65f619df134a"
|
||||
integrity sha512-wZr9Ls7YYvzbVInBqqpQkn+/YwG3b78Rg3U1TldCcbg0IprwFyPsFHvu0NZnqYEG4MHhaF3F1sZRtPdZ0hDy8g==
|
||||
|
||||
"@tiptap/extension-table-cell@^2.1.12":
|
||||
version "2.1.12"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-table-cell/-/extension-table-cell-2.1.12.tgz#b13938d345065a3750610c66a81ea107edbbcea7"
|
||||
integrity sha512-hextcfVTdwX8G7s8Q/V6LW2aUhGvPgu1dfV+kVVO42AFHxG+6PIkDOUuHphGajG3Nrs129bjMDWb8jphj38dUg==
|
||||
"@tiptap/extension-table-cell@^2.1.13":
|
||||
version "2.1.13"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-table-cell/-/extension-table-cell-2.1.13.tgz#28efbc99480d53346200dcbf50cfb32bade180d1"
|
||||
integrity sha512-30pyVt2PxGAk8jmsXKxDheql8K/xIRA9FiDo++kS2Kr6Y7I42/kNPQttJ2W+Q1JdRJvedNfQtziQfKWDRLLCNA==
|
||||
|
||||
"@tiptap/extension-table-header@^2.1.12":
|
||||
version "2.1.12"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-table-header/-/extension-table-header-2.1.12.tgz#87ac2efa073a212c6114e0b137cf4afc3d75c35f"
|
||||
integrity sha512-a4WZ5Z7gqQ/QlK8cK2d1ONYdma/J5+yH/0SNtQhkfELoS45GsLJh89OyKO0W0FnY6Mg0RoH1FsoBD+cqm0yazA==
|
||||
"@tiptap/extension-table-header@^2.1.13":
|
||||
version "2.1.13"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-table-header/-/extension-table-header-2.1.13.tgz#8d64a0e5a6a5ea128708b866e56a0e04e34d7a5b"
|
||||
integrity sha512-FwIV5iso5kmpu01QyvrPCjJqZfqxRTjtjMsDyut2uIgx9v5TXk0V5XvMWobx435ANIDJoGTYCMRlIqcgtyqwAQ==
|
||||
|
||||
"@tiptap/extension-table-row@^2.1.12":
|
||||
version "2.1.12"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-table-row/-/extension-table-row-2.1.12.tgz#27bee7d046b2bea4fe6bf46260e0d89305b75663"
|
||||
integrity sha512-0kPr+zngQC1YQRcU6+Fl3CpIW/SdJhVJ5qOLpQleXrLPdjmZQd3Z1DXvOSDphYjXCowGPCxeUa++6bo7IoEMJw==
|
||||
"@tiptap/extension-table-row@^2.1.13":
|
||||
version "2.1.13"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-table-row/-/extension-table-row-2.1.13.tgz#ef75d6de9c7695bbb90f745aabd72d327f161ac3"
|
||||
integrity sha512-27Mb9/oYbiLd+/BUFMhQzRIqMd2Z5j1BZMYsktwtDG8vGdYVlaW257UVaoNR9TmiXyIzd3Dh1mOil8G35+HRHg==
|
||||
|
||||
"@tiptap/extension-table@^2.1.12":
|
||||
version "2.1.12"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-table/-/extension-table-2.1.12.tgz#173cc4eac75c650b440dfcae433d3c74e78aa1bc"
|
||||
integrity sha512-q/DuKZ4j1ycRfuFdb9rBJ3MglGNxlM2BQ1csScX/BrVIsAQI5B8sdzy1BrIlepQ6DRu4DCzHcKMI8u4/edUSWA==
|
||||
"@tiptap/extension-table@^2.1.13":
|
||||
version "2.1.13"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-table/-/extension-table-2.1.13.tgz#cfe3fc2665d12d2c946fc83b2cce9d1485ff29a0"
|
||||
integrity sha512-yMWt2LqotOsWJhLwFNo8fyTwJNLPtnk+eCUxKLlMXP23mJ/lpF+jvTihhHVVic5GqV9vLYZFU2Tn+5k/Vd5P1w==
|
||||
|
||||
"@tiptap/extension-task-item@^2.1.12":
|
||||
version "2.1.12"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-task-item/-/extension-task-item-2.1.12.tgz#944eacf6f0ed1a430d807217d62b49ccef3956e1"
|
||||
integrity sha512-uqrDTO4JwukZUt40GQdvB6S+oDhdp4cKNPMi0sbteWziQugkSMLlkYvxU0Hfb/YeziaWWwFI7ssPu/hahyk6dQ==
|
||||
"@tiptap/extension-task-item@^2.1.13":
|
||||
version "2.1.13"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-task-item/-/extension-task-item-2.1.13.tgz#f049b774f8151b9568d7afbbb5b8fbcb30f35755"
|
||||
integrity sha512-0E1woY0BXpv0SBOGPl5Cmo2RuH+Zchn7dYcTILtOsqHu6onJ4eP0N76+jGFLGV3T0PnPf7JDuwsO/B6pC7yMSg==
|
||||
|
||||
"@tiptap/extension-task-list@^2.1.12":
|
||||
version "2.1.12"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-task-list/-/extension-task-list-2.1.12.tgz#adbfb5a5b990d6f189c776b45de2d2c5bb77e963"
|
||||
integrity sha512-BUpYlEWK+Q3kw9KIiOqvhd0tUPhMcOf1+fJmCkluJok+okAxMbP1umAtCEQ3QkoCwLr+vpHJov7h3yi9+dwgeQ==
|
||||
"@tiptap/extension-task-list@^2.1.13":
|
||||
version "2.1.13"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-task-list/-/extension-task-list-2.1.13.tgz#1a1c40f5886111a1a74386637e7bd0c4ca4158d9"
|
||||
integrity sha512-WfTo4KN0PqpmZxx23rak08M7flfBhv9IcPVpuJ4JthZOlexYdOZxaE/Yd4vlqZhq6cibG7CFljp8VzkfTUa1Ew==
|
||||
|
||||
"@tiptap/extension-text@^2.1.12":
|
||||
version "2.1.12"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-text/-/extension-text-2.1.12.tgz#466e3244bdd9b2db2304c0c9a1d51ce59f5327d0"
|
||||
integrity sha512-rCNUd505p/PXwU9Jgxo4ZJv4A3cIBAyAqlx/dtcY6cjztCQuXJhuQILPhjGhBTOLEEL4kW2wQtqzCmb7O8i2jg==
|
||||
"@tiptap/extension-text@^2.1.13":
|
||||
version "2.1.13"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-text/-/extension-text-2.1.13.tgz#ac17a0220aef1bae1bbd646a91491353e57bb5d1"
|
||||
integrity sha512-zzsTTvu5U67a8WjImi6DrmpX2Q/onLSaj+LRWPh36A1Pz2WaxW5asZgaS+xWCnR+UrozlCALWa01r7uv69jq0w==
|
||||
|
||||
"@tiptap/pm@^2.1.12":
|
||||
version "2.1.12"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/pm/-/pm-2.1.12.tgz#88a4b19be0eabb13d42ddd540c19ba1bbe74b322"
|
||||
integrity sha512-Q3MXXQABG4CZBesSp82yV84uhJh/W0Gag6KPm2HRWPimSFELM09Z9/5WK9RItAYE0aLhe4Krnyiczn9AAa1tQQ==
|
||||
"@tiptap/pm@^2.1.13":
|
||||
version "2.1.13"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/pm/-/pm-2.1.13.tgz#857753691580be760da13629fab2712c52750741"
|
||||
integrity sha512-zNbA7muWsHuVg12GrTgN/j119rLePPq5M8dZgkKxUwdw8VmU3eUyBp1SihPEXJ2U0MGdZhNhFX7Y74g11u66sg==
|
||||
dependencies:
|
||||
prosemirror-changeset "^2.2.0"
|
||||
prosemirror-collab "^1.3.0"
|
||||
|
|
@ -2394,18 +2394,18 @@
|
|||
prosemirror-transform "^1.7.0"
|
||||
prosemirror-view "^1.28.2"
|
||||
|
||||
"@tiptap/suggestion@^2.1.12":
|
||||
version "2.1.12"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/suggestion/-/suggestion-2.1.12.tgz#a13782d1e625ec03b3f61b6839ecc95b6b685d3f"
|
||||
integrity sha512-rhlLWwVkOodBGRMK0mAmE34l2a+BqM2Y7q1ViuQRBhs/6sZ8d83O4hARHKVwqT5stY4i1l7d7PoemV3uAGI6+g==
|
||||
"@tiptap/suggestion@^2.1.13":
|
||||
version "2.1.13"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/suggestion/-/suggestion-2.1.13.tgz#0a8317260baed764a523a09099c0889a0e5b507e"
|
||||
integrity sha512-Y05TsiXTFAJ5SrfoV+21MAxig5UNbY0AVa03lQlh/yicTRPpIc6hgZzblB0uxDSYoj6+kaHE4MIZvPvhUD8BJQ==
|
||||
|
||||
"@tiptap/vue-2@^2.1.12":
|
||||
version "2.1.12"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/vue-2/-/vue-2-2.1.12.tgz#1858057fb3bb2925228ac8d245e8e971c2b92e4f"
|
||||
integrity sha512-QMalZecf10kXsug76zozaZGyDKMUBP4IKj5L4PP+KNHSLMHTHgZGpjs/l8G80+pCivYb9Ww4D1yz6ZWxLbwVxw==
|
||||
"@tiptap/vue-2@^2.1.13":
|
||||
version "2.1.13"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/vue-2/-/vue-2-2.1.13.tgz#e84c144fa36f79c36db3cf6913aef197002bd298"
|
||||
integrity sha512-OsCINarPGyT3sDIXDrhVyaoH0I0VxeDDm+NgS5P0fPbBCnsHZ8csvxD9UB9/KZ/UoxYDfJ1zLplKQn1AIlnRzg==
|
||||
dependencies:
|
||||
"@tiptap/extension-bubble-menu" "^2.1.12"
|
||||
"@tiptap/extension-floating-menu" "^2.1.12"
|
||||
"@tiptap/extension-bubble-menu" "^2.1.13"
|
||||
"@tiptap/extension-floating-menu" "^2.1.13"
|
||||
vue-ts-types "^1.6.0"
|
||||
|
||||
"@tootallnate/once@2":
|
||||
|
|
|
|||
Loading…
Reference in New Issue