Add latest changes from gitlab-org/gitlab@master

This commit is contained in:
GitLab Bot 2025-01-20 21:36:57 +00:00
parent 3637ba016d
commit bdcf532079
36 changed files with 439 additions and 106 deletions

View File

@ -76,7 +76,7 @@ review-docs-hugo-cleanup:
.docs-markdown-lint-image:
# When updating the image version here, update it in /scripts/lint-doc.sh too.
image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-docs/lint-markdown:alpine-3.20-vale-3.7.1-markdownlint2-0.14.0-lychee-0.15.1
image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-docs/lint-markdown:alpine-3.20-vale-3.9.3-markdownlint2-0.17.1-lychee-0.18.0
docs-lint markdown:
extends:

View File

@ -23,7 +23,6 @@ RSpec/BeEmpty:
- 'ee/spec/support/shared_examples/lib/sidebars/menus_shared_examples.rb'
- 'ee/spec/support/shared_examples/models/authz/member_roles_shared_examples.rb'
- 'ee/spec/support/shared_examples/quick_actions/merge_request/unassign_reviewer_shared_examples.rb'
- 'spec/controllers/search_controller_spec.rb'
- 'spec/finders/ci/group_variables_finder_spec.rb'
- 'spec/finders/group_members_finder_spec.rb'
- 'spec/finders/merge_request_target_project_finder_spec.rb'

View File

@ -1 +1 @@
45ec21f6346697cf3b653763f573fa0a968b7128
eb61ad156dd06f8adaee5743d180a0188dd9178a

View File

@ -45,7 +45,9 @@ class Projects::PipelineSchedulesController < Projects::ApplicationController
end
def play
job_id = RunPipelineScheduleWorker.perform_async(schedule.id, current_user.id) # rubocop:disable CodeReuse/Worker
job_id = Ci::PipelineSchedules::PlayService
.new(schedule.project, current_user)
.execute(schedule)
if job_id
pipelines_link_start = "<a href=\"#{project_pipelines_path(@project)}\">"

View File

@ -16,7 +16,7 @@ module Mutations
def resolve(id:)
schedule = authorized_find!(id: id)
job_id = ::Ci::PipelineScheduleService
job_id = ::Ci::PipelineSchedules::PlayService
.new(schedule.project, current_user)
.execute(schedule)

View File

@ -20,9 +20,6 @@ class Snippet < ApplicationRecord
include CreatedAtFilterable
include EachBatch
include Import::HasImportSource
include SafelyChangeColumnDefault
columns_changing_default :organization_id
MAX_FILE_COUNT = 10

View File

@ -1,24 +0,0 @@
# frozen_string_literal: true
module Ci
class PipelineScheduleService < BaseService
include Services::ReturnServiceResponses
def execute(schedule)
check_access!(schedule)
return error("Failed to schedule pipeline.", :bad_request) unless project.persisted?
# Ensure `next_run_at` is set properly before creating a pipeline.
# Otherwise, multiple pipelines could be created in a short interval.
schedule.schedule_next_run!
RunPipelineScheduleWorker.perform_async(schedule.id, current_user&.id)
end
private
def check_access!(schedule)
raise Gitlab::Access::AccessDeniedError unless can?(current_user, :play_pipeline_schedule, schedule)
end
end
end

View File

@ -0,0 +1,26 @@
# frozen_string_literal: true
module Ci
module PipelineSchedules
class PlayService < BaseService
include Services::ReturnServiceResponses
def execute(schedule)
check_access!(schedule)
return error("Failed to schedule pipeline.", :bad_request) unless project.persisted?
# Ensure `next_run_at` is set properly before creating a pipeline.
# Otherwise, multiple pipelines could be created in a short interval.
schedule.schedule_next_run!
RunPipelineScheduleWorker.perform_async(schedule.id, current_user&.id)
end
private
def check_access!(schedule)
raise Gitlab::Access::AccessDeniedError unless can?(current_user, :play_pipeline_schedule, schedule)
end
end
end
end

View File

@ -1,8 +1,9 @@
---
migration_job_name: BackfillPackagesDebianGroupArchitecturesGroupId
description: Backfills sharding key `packages_debian_group_architectures.group_id` from `packages_debian_group_distributions`.
description: Backfills sharding key `packages_debian_group_architectures.group_id`
from `packages_debian_group_distributions`.
feature_category: package_registry
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/158027
milestone: '17.2'
queued_migration_version: 20240702072519
finalized_by: # version of the migration that finalized this BBM
finalized_by: '20250115233143'

View File

@ -0,0 +1,21 @@
# frozen_string_literal: true
class FinalizeBackfillPackagesDebianGroupArchitecturesGroupId < Gitlab::Database::Migration[2.2]
milestone '17.9'
disable_ddl_transaction!
restrict_gitlab_migration gitlab_schema: :gitlab_main_cell
def up
ensure_batched_background_migration_is_finished(
job_class_name: 'BackfillPackagesDebianGroupArchitecturesGroupId',
table_name: :packages_debian_group_architectures,
column_name: :id,
job_arguments: [:group_id, :packages_debian_group_distributions, :group_id, :distribution_id],
finalize: true
)
end
def down; end
end

View File

@ -0,0 +1 @@
3ca65ec9f6fa26f6ec2ed629838c8864cbacbce81fb7c8b1129a8a81d48c5aaf

View File

@ -237,13 +237,13 @@ a job artifact served by GitLab Pages. This page warns about the potential for
malicious user-generated content, as described in
[issue 352611](https://gitlab.com/gitlab-org/gitlab/-/issues/352611).
Self-managed administrators can disable the external redirect warning page,
GitLab Self-Managed administrators can disable the external redirect warning page,
so you can view job artifact pages directly:
1. On the left sidebar, at the bottom, select **Admin**.
1. Select **Settings > CI/CD**.
1. Expand **Continuous Integration and Deployment**.
1. Deselect **Enable the external redirect page for job artifacts**.
1. Clear **Enable the external redirect page for job artifacts**.
## Archive jobs

View File

@ -163,8 +163,8 @@ could extend the wrong configuration. Make sure your pipeline and the component
any configuration with the same name, unless you intend to [override](../yaml/includes.md#override-included-configuration-values)
the component's configuration.
To use GitLab.com components in a self-managed instance, you must
[mirror the component project](#use-a-gitlabcom-component-in-a-self-managed-instance).
To use GitLab.com components on a GitLab Self-Managed instance, you must
[mirror the component project](#use-a-gitlabcom-component-on-gitlab-self-managed).
WARNING:
If a component requires the use of tokens, passwords, or other sensitive data to function,
@ -364,16 +364,16 @@ full URL and path for your instance (like `https://gitlab.com/api/v4`).
These [predefined variables](../variables/predefined_variables.md)
ensure that your component also works when used on another instance, for example when using
[a GitLab.com component in a self-managed instance](#use-a-gitlabcom-component-in-a-self-managed-instance).
[a GitLab.com component on a GitLab Self-Managed instance](#use-a-gitlabcom-component-on-gitlab-self-managed).
### Do not assume API resources are always public
Ensure that the component and its testing pipeline work also [in a self-managed instance](#use-a-gitlabcom-component-in-a-self-managed-instance).
Ensure that the component and its testing pipeline work also [on GitLab Self-Managed](#use-a-gitlabcom-component-on-gitlab-self-managed).
While some API resources of public projects on GitLab.com could be accessed via unauthenticated requests
on self-managed a component project could be mirrored as private or internal project.
on a GitLab Self-Managed instance a component project could be mirrored as private or internal project.
It's important that an access token can optionally be provided via inputs or variables to
authenticate requests on self-managed instances.
authenticate requests on GitLab Self-Managed instances.
### Avoid using global keywords
@ -719,7 +719,7 @@ can be converted to a CI/CD component:
You can learn more by following a practical example for [migrating the Go CI/CD template to CI/CD component](examples.md#cicd-component-migration-example-go).
## Use a GitLab.com component in a self-managed instance
## Use a GitLab.com component on GitLab Self-Managed
DETAILS:
**Tier:** Premium, Ultimate
@ -729,9 +729,9 @@ The CI/CD catalog of a fresh install of a GitLab instance starts with no publish
To populate your instance's catalog, you can:
- [Publish your own components](#publish-a-component-project).
- Mirror components from GitLab.com in your self-managed instance.
- Mirror components from GitLab.com in your GitLab Self-Managed instance.
To mirror a GitLab.com component in your self-managed instance:
To mirror a GitLab.com component in your GitLab Self-Managed instance:
1. Make sure that [network outbound requests](../../security/webhooks.md) are allowed for `gitlab.com`.
1. [Create a group](../../user/group/index.md#create-a-group) to host the component projects (recommended group: `components`).

View File

@ -427,7 +427,7 @@ To reduce the configuration size, you can:
- Use [parent and child pipelines](pipelines/downstream_pipelines.md#parent-child-pipelines) to move some
work to jobs in an independent child pipeline.
On a self-managed instance, you can [increase the size limits](../administration/instance_limits.md#maximum-size-and-depth-of-cicd-configuration-yaml-files).
On GitLab Self-Managed, you can [increase the size limits](../administration/instance_limits.md#maximum-size-and-depth-of-cicd-configuration-yaml-files).
### `500` error when editing the `.gitlab-ci.yml` file

View File

@ -52,7 +52,7 @@ runners on GitLab.com if you'd like.
If you don't use GitLab.com, you can:
- Register runners or use runners already registered for your self-managed instance.
- Register runners or use runners already registered for your GitLab Self-Managed instance.
- Create a runner on your local machine.
For more information, see:

View File

@ -87,7 +87,7 @@ project's pipeline:
If your project is public or internal, some publicly accessible resources can be accessed
with a job token from any project. These resources can also be [limited to only projects on the allowlist](#limit-job-token-scope-for-public-or-internal-projects).
Self-managed instance administrators can [override and enforce this setting](../../administration/settings/continuous_integration.md#job-token-permissions).
GitLab Self-Managed administrators can [override and enforce this setting](../../administration/settings/continuous_integration.md#job-token-permissions).
When the setting is enforced, the CI/CD job token is always restricted to the project's allowlist.
### Add a group or project to the job token allowlist

View File

@ -402,5 +402,5 @@ After disabling this setting, all new artifacts expire according to the `expire_
Artifacts in old pipelines continue to be kept until a new pipeline runs for the same ref.
Then the artifacts in the earlier pipeline for that ref are allowed to expire too.
You can disable this behavior for all projects on a self-managed instance in the
You can disable this behavior for all projects on GitLab Self-Managed in the
[instance's CI/CD settings](../../administration/settings/continuous_integration.md#keep-the-latest-artifacts-for-all-jobs-in-the-latest-successful-pipelines).

View File

@ -29,11 +29,11 @@ pre-configured features and integrations.
### Offerings
Atlassian offers Bamboo in its Cloud (SaaS) or Data center (Self-managed) options.
Atlassian offers Bamboo in its Cloud (SaaS) or Data center (self-hosted) options.
A third Server option is scheduled for [EOL on February 15, 2024](https://about.gitlab.com/blog/2023/09/26/atlassian-server-ending-move-to-a-single-devsecops-platform/).
These options are similar to GitLab [SaaS](../../subscriptions/gitlab_com/index.md)
and [Self-Managed](../../subscriptions/self_managed/index.md). GitLab also offers
These options are similar to [GitLab.com](../../subscriptions/gitlab_com/index.md)
and [GitLab Self-Managed](../../subscriptions/self_managed/index.md). GitLab also offers
[GitLab Dedicated](../../subscriptions/gitlab_dedicated/index.md), a fully isolated
single-tenant SaaS service.
@ -46,7 +46,7 @@ remote agents running external to the server.
GitLab uses a similar concept to agents called [runners](https://docs.gitlab.com/runner/)
which use [executors](https://docs.gitlab.com/runner/executors/) to run builds.
Examples of executors are shell, Docker, or Kubernetes. You can choose to use GitLab [SaaS runners](../runners/index.md)
Examples of executors are shell, Docker, or Kubernetes. You can choose to use [GitLab.com runners](../runners/index.md)
or deploy your own [self-managed runners](https://docs.gitlab.com/runner/install/index.html).
### Workflow

View File

@ -26,7 +26,10 @@ Additionally, there are some important differences between the two:
- GitLab CI/CD pipelines are all configured in a YAML format configuration file.
Jenkins uses either a Groovy format configuration file (declarative pipelines)
or Jenkins DSL (scripted pipelines).
- GitLab can run either on SaaS (cloud) or self-managed deployments. Jenkins deployments must be self-managed.
- GitLab offers [GitLab.com](../../subscriptions/gitlab_com/index.md), a multi-tenant SaaS service,
and [GitLab Dedicated](../../subscriptions/gitlab_dedicated/index.md), a fully isolated
single-tenant SaaS service. You can also run your own [GitLab Self-Managed](../../subscriptions/self_managed/index.md)
instance. Jenkins deployments must be self-hosted.
- GitLab provides source code management (SCM) out of the box. Jenkins requires a separate
SCM solution to store code.
- GitLab provides a built-in container registry. Jenkins requires a separate solution

View File

@ -30,7 +30,7 @@ On GitLab.com:
- You can [purchase additional compute minutes](../../subscriptions/gitlab_com/compute_minutes.md)
if you need more than the amount of compute in your monthly quota.
Compute quotas [are disabled by default on self-managed instances](../../administration/cicd/compute_minutes.md).
Compute quotas [are disabled by default on GitLab Self-Managed](../../administration/cicd/compute_minutes.md).
## View compute usage
@ -140,7 +140,7 @@ The default cost factors for jobs running on instance runners on GitLab.com are:
- Discounted dynamically for [community contributions to GitLab projects](#community-contributions-to-gitlab-projects).
- Increased if you use [different types of instance runners](#gitlab-hosted-runner-cost-factors).
The cost factors on self-managed instances [are different](../../administration/cicd/compute_minutes.md).
The cost factors on GitLab Self-Managed [are different](../../administration/cicd/compute_minutes.md).
#### Community contributions to GitLab projects

View File

@ -297,7 +297,7 @@ To trigger the pipeline when the upstream project is rebuilt:
1. Select **Subscribe**.
The maximum number of upstream pipeline subscriptions is 2 by default, for both the upstream and
downstream projects. On self-managed instances, an administrator can change this
downstream projects. On GitLab Self-Managed, an administrator can change this
[limit](../../administration/instance_limits.md#number-of-cicd-subscriptions-to-a-project).
<!--- end_remove -->

View File

@ -25,7 +25,7 @@ Use instance runners when you have multiple jobs with similar requirements. Rath
having multiple runners idling for many projects, you can have a few runners that handle
multiple projects.
If you are using a self-managed instance of GitLab, administrators can:
If you are using GitLab Self-Managed, administrators can:
- [Install GitLab Runner](https://docs.gitlab.com/runner/install/index.html) and register an instance runner.
- Configure a maximum number of instance runner [compute minutes for each group](../../administration/cicd/compute_minutes.md#set-the-compute-quota-for-a-group).
@ -134,7 +134,7 @@ To delete a single or multiple instance runners:
On GitLab.com, [instance runners](index.md) are enabled in all projects by
default.
On self-managed instances of GitLab, an administrator can
On GitLab Self-Managed, an administrator can
[enable them for all new projects](../../administration/settings/continuous_integration.md#enable-instance-runners-for-new-projects).
For existing projects, an administrator must

View File

@ -55,7 +55,7 @@ To enable Code Quality, either:
Code Quality now runs in pipelines.
WARNING:
On self-managed instances, if a malicious actor compromises the Code Quality job definition they
On GitLab Self-Managed, if a malicious actor compromises the Code Quality job definition they
could execute privileged Docker commands on the runner host. Having proper access control policies
mitigates this attack vector by allowing access only to trusted actors.

View File

@ -849,7 +849,7 @@ to set `ci_pipeline_variables_minimum_override_role` to one of:
- `owner`: Only users with the Owner role can run pipelines with pipeline variables.
You must have the Owner role for the project to change the setting to this value.
- `maintainer`: Only users with at least the Maintainer role can run pipelines with pipeline variables.
Default when not specified on self-managed and Dedicated.
Default when not specified on GitLab Self-Managed and GitLab Dedicated.
- `developer`: Only users with at least the Developer role can run pipelines with pipeline variables.
## Exporting variables

View File

@ -269,10 +269,10 @@ The exceptions to the [original dotenv rules](https://github.com/motdotla/dotenv
- The variable key can contain only letters, digits, and underscores (`_`).
- The maximum size of the `.env` file is 5 KB.
This limit [can be changed on self-managed instances](../../administration/instance_limits.md#limit-dotenv-file-size).
This limit [can be changed on GitLab Self-Managed](../../administration/instance_limits.md#limit-dotenv-file-size).
- On GitLab.com, [the maximum number of inherited variables](../../user/gitlab_com/index.md#gitlab-cicd)
is 50 for Free, 100 for Premium and 150 for Ultimate. The default for
self-managed instances is 20, and can be changed by changing the
GitLab Self-Managed is 20, and can be changed by changing the
`dotenv_variables` [application limit](../../administration/instance_limits.md#limit-dotenv-variables).
- Variable substitution in the `.env` file is not supported.
- [Multiline values in the `.env` file](https://github.com/motdotla/dotenv#multiline-values) are not supported.

View File

@ -630,7 +630,7 @@ with the [pipeline editor](../pipeline_editor/index.md), which validates if the
limit is reached. You can remove one included file at a time to try to narrow down
which configuration file is the source of the loop or excessive included files.
In [GitLab 16.0 and later](https://gitlab.com/gitlab-org/gitlab/-/issues/207270) self-managed users can
In [GitLab 16.0 and later](https://gitlab.com/gitlab-org/gitlab/-/issues/207270) users on GitLab Self-Managed can
change the [maximum includes](../../administration/settings/continuous_integration.md#maximum-includes) value.
### `SSL_connect SYSCALL returned=5 errno=0 state=SSLv3/TLS write client hello` and other network failures

View File

@ -194,7 +194,7 @@ And optionally:
- Pipeline, the `include` files are fetched again. If they changed after the last
pipeline run, the new pipeline uses the changed configuration.
- You can have up to 150 includes per pipeline by default, including [nested](includes.md#use-nested-includes). Additionally:
- In [GitLab 16.0 and later](https://gitlab.com/gitlab-org/gitlab/-/issues/207270) self-managed users can
- In [GitLab 16.0 and later](https://gitlab.com/gitlab-org/gitlab/-/issues/207270) users on GitLab Self-Managed can
change the [maximum includes](../../administration/settings/continuous_integration.md#maximum-includes) value.
- In [GitLab 15.10 and later](https://gitlab.com/gitlab-org/gitlab/-/issues/367150) you can have up to 150 includes.
In nested includes, the same file can be included multiple times, but duplicated includes
@ -3072,7 +3072,7 @@ This example creates four paths of execution:
- The maximum number of jobs that a single job can have in the `needs` array is limited:
- For GitLab.com, the limit is 50. For more information, see
[issue 350398](https://gitlab.com/gitlab-org/gitlab/-/issues/350398).
- For self-managed instances, the default limit is 50. This limit [can be changed](../../administration/cicd/index.md#set-the-needs-job-limit).
- For GitLab Self-Managed, the default limit is 50. This limit [can be changed](../../administration/cicd/index.md#set-the-needs-job-limit).
- If `needs` refers to a job that uses the [`parallel`](#parallel) keyword,
it depends on all jobs created in parallel, not just one job. It also downloads
artifacts from all the parallel jobs by default. If the artifacts have the same

View File

@ -76,5 +76,5 @@ installation.
## Install the product documentation
This is an optional step. If you want to host the documentation on your own
Optional. If you want to host the documentation on your own
server, see how to [self-host the product documentation](../administration/docs_self_host.md).

View File

@ -192,8 +192,9 @@ module API
post ':id/pipeline_schedules/:pipeline_schedule_id/play' do
authorize! :play_pipeline_schedule, pipeline_schedule
job_id = RunPipelineScheduleWorker # rubocop:disable CodeReuse/Worker
.perform_async(pipeline_schedule.id, current_user.id)
job_id = ::Ci::PipelineSchedules::PlayService
.new(pipeline_schedule.project, current_user)
.execute(pipeline_schedule)
if job_id
created!

View File

@ -289,7 +289,7 @@
"jest-jasmine2": "^29.7.0",
"jest-junit": "^12.3.0",
"jest-util": "^29.7.0",
"markdownlint-cli2": "^0.14.0",
"markdownlint-cli2": "^0.17.1",
"markdownlint-rule-helpers": "^0.25.0",
"miragejs": "^0.1.40",
"mock-apollo-client": "1.2.0",

View File

@ -201,7 +201,7 @@ function run_locally_or_in_container() {
local cmd=$1
local args=$2
local files=$3
local registry_url="registry.gitlab.com/gitlab-org/gitlab-docs/lint-markdown:alpine-3.20-vale-3.7.1-markdownlint2-0.14.0-lychee-0.15.1"
local registry_url="registry.gitlab.com/gitlab-org/gitlab-docs/lint-markdown:alpine-3.20-vale-3.9.3-markdownlint2-0.17.1-lychee-0.18.0"
if hash "${cmd}" 2>/dev/null
then

View File

@ -519,7 +519,7 @@ RSpec.describe Projects::PipelineSchedulesController, feature_category: :continu
end
it 'does not allow pipeline to be executed' do
expect(RunPipelineScheduleWorker).not_to receive(:perform_async)
expect(Ci::PipelineSchedules::PlayService).not_to receive(:new)
go
@ -529,7 +529,7 @@ RSpec.describe Projects::PipelineSchedulesController, feature_category: :continu
context 'when a developer makes the request' do
it 'executes a new pipeline' do
expect(RunPipelineScheduleWorker).to receive(:perform_async).with(pipeline_schedule.id, user.id).and_return('job-123')
expect(Ci::PipelineSchedules::PlayService).to receive_message_chain(:new, :execute).with(pipeline_schedule).and_return('job-123')
go

View File

@ -580,7 +580,7 @@ RSpec.describe SearchController, feature_category: :global_search do
it 'returns an empty array when given abusive search term' do
get :autocomplete, params: { term: ('hal' * 4000), scope: 'projects' }
expect(response).to have_gitlab_http_status(:ok)
expect(json_response).to match_array([])
expect(json_response).to be_empty
end
describe 'rate limit scope' do

View File

@ -57,9 +57,10 @@ RSpec.describe 'PipelineSchedulePlay', feature_category: :continuous_integration
context 'when mutation fails' do
it do
expect(RunPipelineScheduleWorker)
.to receive(:perform_async)
.with(pipeline_schedule.id, current_user.id).and_return(nil)
expect(Ci::PipelineSchedules::PlayService)
.to receive_message_chain(:new, :execute)
.with(pipeline_schedule)
.and_return(nil)
post_graphql_mutation(mutation, current_user: current_user)
@ -70,7 +71,7 @@ RSpec.describe 'PipelineSchedulePlay', feature_category: :continuous_integration
context 'when PipelineScheduleService raises AccessDeniedError' do
before do
allow(Ci::PipelineScheduleService).to receive_message_chain(:new,
allow(Ci::PipelineSchedules::PlayService).to receive_message_chain(:new,
:execute).and_raise Gitlab::Access::AccessDeniedError
end

View File

@ -2,14 +2,14 @@
require 'spec_helper'
RSpec.describe Ci::PipelineScheduleService, feature_category: :continuous_integration do
RSpec.describe Ci::PipelineSchedules::PlayService, feature_category: :continuous_integration do
let_it_be(:user) { create(:user) }
let_it_be(:project) { create(:project) }
let(:service) { described_class.new(project, user) }
describe '#execute' do
subject { service.execute(schedule) }
subject(:execute_service) { service.execute(schedule) }
let_it_be(:schedule) { create(:ci_pipeline_schedule, project: project, owner: user) }
@ -21,21 +21,21 @@ RSpec.describe Ci::PipelineScheduleService, feature_category: :continuous_integr
it 'schedules next run' do
expect(schedule).to receive(:schedule_next_run!)
subject
execute_service
end
it 'runs RunPipelineScheduleWorker' do
expect(RunPipelineScheduleWorker)
.to receive(:perform_async).with(schedule.id, schedule.owner.id)
subject
execute_service
end
context 'when owner is nil' do
let(:schedule) { create(:ci_pipeline_schedule, project: project, owner: nil) }
it 'does not raise an error' do
expect { subject }.not_to raise_error
expect { execute_service }.not_to raise_error
end
end
@ -43,18 +43,18 @@ RSpec.describe Ci::PipelineScheduleService, feature_category: :continuous_integr
let_it_be(:project) { create(:project).tap(&:delete) }
it 'does not raise an exception' do
expect { subject }.not_to raise_error
expect { execute_service }.not_to raise_error
end
it "returns a service response error" do
expect(subject).to be_error
expect(execute_service).to be_error
end
it 'does not run RunPipelineScheduleWorker' do
expect(RunPipelineScheduleWorker)
.not_to receive(:perform_async).with(schedule.id, schedule.owner.id)
subject
execute_service
end
end
end
@ -65,7 +65,7 @@ RSpec.describe Ci::PipelineScheduleService, feature_category: :continuous_integr
end
it 'raises an AccessDeniedError' do
expect { subject }.to raise_error Gitlab::Access::AccessDeniedError
expect { execute_service }.to raise_error Gitlab::Access::AccessDeniedError
end
end
end

343
yarn.lock
View File

@ -3517,6 +3517,11 @@
resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee"
integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4=
"@types/katex@^0.16.0":
version "0.16.7"
resolved "https://registry.yarnpkg.com/@types/katex/-/katex-0.16.7.tgz#03ab680ab4fa4fbc6cb46ecf987ecad5d8019868"
integrity sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==
"@types/linkify-it@^5":
version "5.0.0"
resolved "https://registry.yarnpkg.com/@types/linkify-it/-/linkify-it-5.0.0.tgz#21413001973106cda1c3a9b91eedd4ccd5469d76"
@ -5146,11 +5151,21 @@ char-regex@^1.0.2:
resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf"
integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==
character-entities-legacy@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz#76bc83a90738901d7bc223a9e93759fdd560125b"
integrity sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==
character-entities@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-2.0.1.tgz#98724833e1e27990dee0bd0f2b8a859c3476aac7"
integrity sha512-OzmutCf2Kmc+6DrFrrPS8/tDh2+DpnrfzdICHWhcVC9eOd0N1PXmQEE1a8iM4IziIAG+8tmTq3K+oo0ubH6RRQ==
character-reference-invalid@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz#85c66b041e43b47210faf401278abf808ac45cb9"
integrity sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==
"charenc@>= 0.0.1":
version "0.0.2"
resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667"
@ -6651,6 +6666,13 @@ detect-node@^2.0.4:
resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c"
integrity sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==
devlop@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/devlop/-/devlop-1.1.0.tgz#4db7c2ca4dc6e0e834c30be70c94bbc976dc7018"
integrity sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==
dependencies:
dequal "^2.0.0"
dexie@^3.2.3:
version "3.2.3"
resolved "https://registry.yarnpkg.com/dexie/-/dexie-3.2.3.tgz#f35c91ca797599df8e771b998e9ae9669c877f8c"
@ -8934,6 +8956,19 @@ is-accessor-descriptor@^1.0.0:
dependencies:
kind-of "^6.0.0"
is-alphabetical@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-2.0.1.tgz#01072053ea7c1036df3c7d19a6daaec7f19e789b"
integrity sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==
is-alphanumerical@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz#7c03fbe96e3e931113e57f964b0a368cc2dfd875"
integrity sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==
dependencies:
is-alphabetical "^2.0.0"
is-decimal "^2.0.0"
is-array-buffer@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.4.tgz#7a1f92b3d61edd2bc65d24f130530ea93d7fae98"
@ -9031,6 +9066,11 @@ is-date-object@^1.0.1:
resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16"
integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=
is-decimal@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-2.0.1.tgz#9469d2dc190d0214fd87d78b78caecc0cc14eef7"
integrity sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==
is-descriptor@^0.1.0:
version "0.1.6"
resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca"
@ -9088,6 +9128,11 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1:
dependencies:
is-extglob "^2.1.1"
is-hexadecimal@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz#86b5bf668fca307498d319dfc03289d781a90027"
integrity sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==
is-negative-zero@^2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz#ced903a027aca6381b777a5743069d7376a49747"
@ -9902,10 +9947,10 @@ jszip@^3.1.3:
readable-stream "~2.3.6"
setimmediate "^1.0.5"
katex@^0.16.19:
version "0.16.19"
resolved "https://registry.yarnpkg.com/katex/-/katex-0.16.19.tgz#698e026188876f9c8c93d3ecb27b212aaa056d0a"
integrity sha512-3IA6DYVhxhBabjSLTNO9S4+OliA3Qvb8pBQXMfC4WxXJgLwZgnfDl0BmB4z6nBMdznBsZ+CGM8DrGZ5hcguDZg==
katex@^0.16.0, katex@^0.16.19:
version "0.16.20"
resolved "https://registry.yarnpkg.com/katex/-/katex-0.16.20.tgz#75c741ded0f7ee8d896a1d31bac307e61af863c3"
integrity sha512-jjuLaMGD/7P8jUTpdKhA9IoqnH+yMFB3sdAFtq5QdAqeP2PjiSbnC3EaguKPNtv6dXXanHxp1ckwvF4a86LBig==
dependencies:
commander "^8.3.0"
@ -10241,23 +10286,18 @@ markdownlint-cli2-formatter-default@0.0.5:
resolved "https://registry.yarnpkg.com/markdownlint-cli2-formatter-default/-/markdownlint-cli2-formatter-default-0.0.5.tgz#b8fde4e127f9a9c0596e6d45eed352dd0aa0ff98"
integrity sha512-4XKTwQ5m1+Txo2kuQ3Jgpo/KmnG+X90dWt4acufg6HVGadTUG5hzHF/wssp9b5MBYOMCnZ9RMPaU//uHsszF8Q==
markdownlint-cli2@^0.14.0:
version "0.14.0"
resolved "https://registry.yarnpkg.com/markdownlint-cli2/-/markdownlint-cli2-0.14.0.tgz#57dd69224c6859d64d79b6e88163208e170dc310"
integrity sha512-2cqdWy56frU2FTpbuGb83mEWWYuUIYv6xS8RVEoUAuKNw/hXPar2UYGpuzUhlFMngE8Omaz4RBH52MzfRbGshw==
markdownlint-cli2@^0.17.1:
version "0.17.1"
resolved "https://registry.yarnpkg.com/markdownlint-cli2/-/markdownlint-cli2-0.17.1.tgz#4455105fe5d75821597779f7a442ce5c5ce0fede"
integrity sha512-n1Im9lhKJJE12/u2N0GWBwPqeb0HGdylN8XpSFg9hbj35+QalY9Vi6mxwUQdG6wlSrrIq9ZDQ0Q85AQG9V2WOg==
dependencies:
globby "14.0.2"
js-yaml "4.1.0"
jsonc-parser "3.3.1"
markdownlint "0.35.0"
markdownlint "0.37.3"
markdownlint-cli2-formatter-default "0.0.5"
micromatch "4.0.8"
markdownlint-micromark@0.1.10:
version "0.1.10"
resolved "https://registry.yarnpkg.com/markdownlint-micromark/-/markdownlint-micromark-0.1.10.tgz#a77a1a70adad9eac18ff412baf36a0c2189875d7"
integrity sha512-no5ZfdqAdWGxftCLlySHSgddEjyW4kui4z7amQcGsSKfYC5v/ou+8mIQVyg9KQMeEZLNtz9OPDTj7nnTnoR4FQ==
markdownlint-micromark@0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/markdownlint-micromark/-/markdownlint-micromark-0.1.2.tgz#5520e04febffa46741875a2f297509ffdb561f5c"
@ -10270,13 +10310,20 @@ markdownlint-rule-helpers@^0.25.0:
dependencies:
markdownlint-micromark "0.1.2"
markdownlint@0.35.0:
version "0.35.0"
resolved "https://registry.yarnpkg.com/markdownlint/-/markdownlint-0.35.0.tgz#8189347fef3550045de78a96c52a7f45c2a4f91e"
integrity sha512-wgp8yesWjFBL7bycA3hxwHRdsZGJhjhyP1dSxKVKrza0EPFYtn+mHtkVy6dvP1kGSjovyG5B8yNP6Frj0UFUJg==
markdownlint@0.37.3:
version "0.37.3"
resolved "https://registry.yarnpkg.com/markdownlint/-/markdownlint-0.37.3.tgz#061ac5462e97fedc7a96aaac5c132885e4161bfd"
integrity sha512-eoQqH0291YCCjd+Pe1PUQ9AmWthlVmS0XWgcionkZ8q34ceZyRI+pYvsWksXJJL8OBkWCPwp1h/pnXxrPFC4oA==
dependencies:
markdown-it "14.1.0"
markdownlint-micromark "0.1.10"
micromark "4.0.1"
micromark-core-commonmark "2.0.2"
micromark-extension-directive "3.0.2"
micromark-extension-gfm-autolink-literal "2.1.0"
micromark-extension-gfm-footnote "2.1.0"
micromark-extension-gfm-table "2.1.0"
micromark-extension-math "3.1.0"
micromark-util-types "2.0.1"
marked-bidi@^1.0.3, marked-bidi@^1.0.8:
version "1.0.9"
@ -10551,6 +10598,28 @@ methods@~1.1.2:
resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=
micromark-core-commonmark@2.0.2, micromark-core-commonmark@^2.0.0:
version "2.0.2"
resolved "https://registry.yarnpkg.com/micromark-core-commonmark/-/micromark-core-commonmark-2.0.2.tgz#6a45bbb139e126b3f8b361a10711ccc7c6e15e93"
integrity sha512-FKjQKbxd1cibWMM1P9N+H8TwlgGgSkWZMmfuVucLCHaYqeSvJ0hFeHsIa65pA2nYbes0f8LDHPMrd9X7Ujxg9w==
dependencies:
decode-named-character-reference "^1.0.0"
devlop "^1.0.0"
micromark-factory-destination "^2.0.0"
micromark-factory-label "^2.0.0"
micromark-factory-space "^2.0.0"
micromark-factory-title "^2.0.0"
micromark-factory-whitespace "^2.0.0"
micromark-util-character "^2.0.0"
micromark-util-chunked "^2.0.0"
micromark-util-classify-character "^2.0.0"
micromark-util-html-tag-name "^2.0.0"
micromark-util-normalize-identifier "^2.0.0"
micromark-util-resolve-all "^2.0.0"
micromark-util-subtokenize "^2.0.0"
micromark-util-symbol "^2.0.0"
micromark-util-types "^2.0.0"
micromark-core-commonmark@^1.0.0, micromark-core-commonmark@^1.0.1:
version "1.0.6"
resolved "https://registry.yarnpkg.com/micromark-core-commonmark/-/micromark-core-commonmark-1.0.6.tgz#edff4c72e5993d93724a3c206970f5a15b0585ad"
@ -10573,6 +10642,19 @@ micromark-core-commonmark@^1.0.0, micromark-core-commonmark@^1.0.1:
micromark-util-types "^1.0.1"
uvu "^0.5.0"
micromark-extension-directive@3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/micromark-extension-directive/-/micromark-extension-directive-3.0.2.tgz#2eb61985d1995a7c1ff7621676a4f32af29409e8"
integrity sha512-wjcXHgk+PPdmvR58Le9d7zQYWy+vKEU9Se44p2CrCDPiLr2FMyiT4Fyb5UFKFC66wGB3kPlgD7q3TnoqPS7SZA==
dependencies:
devlop "^1.0.0"
micromark-factory-space "^2.0.0"
micromark-factory-whitespace "^2.0.0"
micromark-util-character "^2.0.0"
micromark-util-symbol "^2.0.0"
micromark-util-types "^2.0.0"
parse-entities "^4.0.0"
micromark-extension-frontmatter@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/micromark-extension-frontmatter/-/micromark-extension-frontmatter-1.0.0.tgz#612498e6dad87c132c95e25f0918e7cc0cd535f6"
@ -10582,6 +10664,16 @@ micromark-extension-frontmatter@^1.0.0:
micromark-util-character "^1.0.0"
micromark-util-symbol "^1.0.0"
micromark-extension-gfm-autolink-literal@2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz#6286aee9686c4462c1e3552a9d505feddceeb935"
integrity sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==
dependencies:
micromark-util-character "^2.0.0"
micromark-util-sanitize-uri "^2.0.0"
micromark-util-symbol "^2.0.0"
micromark-util-types "^2.0.0"
micromark-extension-gfm-autolink-literal@^1.0.0:
version "1.0.3"
resolved "https://registry.yarnpkg.com/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-1.0.3.tgz#dc589f9c37eaff31a175bab49f12290edcf96058"
@ -10593,6 +10685,20 @@ micromark-extension-gfm-autolink-literal@^1.0.0:
micromark-util-types "^1.0.0"
uvu "^0.5.0"
micromark-extension-gfm-footnote@2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz#4dab56d4e398b9853f6fe4efac4fc9361f3e0750"
integrity sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==
dependencies:
devlop "^1.0.0"
micromark-core-commonmark "^2.0.0"
micromark-factory-space "^2.0.0"
micromark-util-character "^2.0.0"
micromark-util-normalize-identifier "^2.0.0"
micromark-util-sanitize-uri "^2.0.0"
micromark-util-symbol "^2.0.0"
micromark-util-types "^2.0.0"
micromark-extension-gfm-footnote@^1.0.0:
version "1.0.4"
resolved "https://registry.yarnpkg.com/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-1.0.4.tgz#cbfd8873b983e820c494498c6dac0105920818d5"
@ -10619,6 +10725,17 @@ micromark-extension-gfm-strikethrough@^1.0.0:
micromark-util-types "^1.0.0"
uvu "^0.5.0"
micromark-extension-gfm-table@2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.0.tgz#5cadedfbb29fca7abf752447967003dc3b6583c9"
integrity sha512-Ub2ncQv+fwD70/l4ou27b4YzfNaCJOvyX4HxXU15m7mpYY+rjuWzsLIPZHJL253Z643RpbcP1oeIJlQ/SKW67g==
dependencies:
devlop "^1.0.0"
micromark-factory-space "^2.0.0"
micromark-util-character "^2.0.0"
micromark-util-symbol "^2.0.0"
micromark-util-types "^2.0.0"
micromark-extension-gfm-table@^1.0.0:
version "1.0.5"
resolved "https://registry.yarnpkg.com/micromark-extension-gfm-table/-/micromark-extension-gfm-table-1.0.5.tgz#7b708b728f8dc4d95d486b9e7a2262f9cddbcbb4"
@ -10662,6 +10779,19 @@ micromark-extension-gfm@^2.0.0:
micromark-util-combine-extensions "^1.0.0"
micromark-util-types "^1.0.0"
micromark-extension-math@3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/micromark-extension-math/-/micromark-extension-math-3.1.0.tgz#c42ee3b1dd5a9a03584e83dd8f08e3de510212c1"
integrity sha512-lvEqd+fHjATVs+2v/8kg9i5Q0AP2k85H0WUOwpIVvUML8BapsMvh1XAogmQjOCsLpoKRCVQqEkQBB3NhVBcsOg==
dependencies:
"@types/katex" "^0.16.0"
devlop "^1.0.0"
katex "^0.16.0"
micromark-factory-space "^2.0.0"
micromark-util-character "^2.0.0"
micromark-util-symbol "^2.0.0"
micromark-util-types "^2.0.0"
micromark-factory-destination@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/micromark-factory-destination/-/micromark-factory-destination-1.0.0.tgz#fef1cb59ad4997c496f887b6977aa3034a5a277e"
@ -10671,6 +10801,15 @@ micromark-factory-destination@^1.0.0:
micromark-util-symbol "^1.0.0"
micromark-util-types "^1.0.0"
micromark-factory-destination@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz#8fef8e0f7081f0474fbdd92deb50c990a0264639"
integrity sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==
dependencies:
micromark-util-character "^2.0.0"
micromark-util-symbol "^2.0.0"
micromark-util-types "^2.0.0"
micromark-factory-label@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/micromark-factory-label/-/micromark-factory-label-1.0.2.tgz#6be2551fa8d13542fcbbac478258fb7a20047137"
@ -10681,6 +10820,16 @@ micromark-factory-label@^1.0.0:
micromark-util-types "^1.0.0"
uvu "^0.5.0"
micromark-factory-label@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz#5267efa97f1e5254efc7f20b459a38cb21058ba1"
integrity sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==
dependencies:
devlop "^1.0.0"
micromark-util-character "^2.0.0"
micromark-util-symbol "^2.0.0"
micromark-util-types "^2.0.0"
micromark-factory-space@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/micromark-factory-space/-/micromark-factory-space-1.0.0.tgz#cebff49968f2b9616c0fcb239e96685cb9497633"
@ -10689,6 +10838,14 @@ micromark-factory-space@^1.0.0:
micromark-util-character "^1.0.0"
micromark-util-types "^1.0.0"
micromark-factory-space@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz#36d0212e962b2b3121f8525fc7a3c7c029f334fc"
integrity sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==
dependencies:
micromark-util-character "^2.0.0"
micromark-util-types "^2.0.0"
micromark-factory-title@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/micromark-factory-title/-/micromark-factory-title-1.0.2.tgz#7e09287c3748ff1693930f176e1c4a328382494f"
@ -10700,6 +10857,16 @@ micromark-factory-title@^1.0.0:
micromark-util-types "^1.0.0"
uvu "^0.5.0"
micromark-factory-title@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz#237e4aa5d58a95863f01032d9ee9b090f1de6e94"
integrity sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==
dependencies:
micromark-factory-space "^2.0.0"
micromark-util-character "^2.0.0"
micromark-util-symbol "^2.0.0"
micromark-util-types "^2.0.0"
micromark-factory-whitespace@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/micromark-factory-whitespace/-/micromark-factory-whitespace-1.0.0.tgz#e991e043ad376c1ba52f4e49858ce0794678621c"
@ -10710,6 +10877,16 @@ micromark-factory-whitespace@^1.0.0:
micromark-util-symbol "^1.0.0"
micromark-util-types "^1.0.0"
micromark-factory-whitespace@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz#06b26b2983c4d27bfcc657b33e25134d4868b0b1"
integrity sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==
dependencies:
micromark-factory-space "^2.0.0"
micromark-util-character "^2.0.0"
micromark-util-symbol "^2.0.0"
micromark-util-types "^2.0.0"
micromark-util-character@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/micromark-util-character/-/micromark-util-character-1.1.0.tgz#d97c54d5742a0d9611a68ca0cd4124331f264d86"
@ -10718,6 +10895,14 @@ micromark-util-character@^1.0.0:
micromark-util-symbol "^1.0.0"
micromark-util-types "^1.0.0"
micromark-util-character@^2.0.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/micromark-util-character/-/micromark-util-character-2.1.1.tgz#2f987831a40d4c510ac261e89852c4e9703ccda6"
integrity sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==
dependencies:
micromark-util-symbol "^2.0.0"
micromark-util-types "^2.0.0"
micromark-util-chunked@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/micromark-util-chunked/-/micromark-util-chunked-1.0.0.tgz#5b40d83f3d53b84c4c6bce30ed4257e9a4c79d06"
@ -10725,6 +10910,13 @@ micromark-util-chunked@^1.0.0:
dependencies:
micromark-util-symbol "^1.0.0"
micromark-util-chunked@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz#47fbcd93471a3fccab86cff03847fc3552db1051"
integrity sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==
dependencies:
micromark-util-symbol "^2.0.0"
micromark-util-classify-character@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/micromark-util-classify-character/-/micromark-util-classify-character-1.0.0.tgz#cbd7b447cb79ee6997dd274a46fc4eb806460a20"
@ -10734,6 +10926,15 @@ micromark-util-classify-character@^1.0.0:
micromark-util-symbol "^1.0.0"
micromark-util-types "^1.0.0"
micromark-util-classify-character@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz#d399faf9c45ca14c8b4be98b1ea481bced87b629"
integrity sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==
dependencies:
micromark-util-character "^2.0.0"
micromark-util-symbol "^2.0.0"
micromark-util-types "^2.0.0"
micromark-util-combine-extensions@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.0.0.tgz#91418e1e74fb893e3628b8d496085639124ff3d5"
@ -10742,6 +10943,14 @@ micromark-util-combine-extensions@^1.0.0:
micromark-util-chunked "^1.0.0"
micromark-util-types "^1.0.0"
micromark-util-combine-extensions@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz#2a0f490ab08bff5cc2fd5eec6dd0ca04f89b30a9"
integrity sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==
dependencies:
micromark-util-chunked "^2.0.0"
micromark-util-types "^2.0.0"
micromark-util-decode-numeric-character-reference@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.0.0.tgz#dcc85f13b5bd93ff8d2868c3dba28039d490b946"
@ -10749,6 +10958,13 @@ micromark-util-decode-numeric-character-reference@^1.0.0:
dependencies:
micromark-util-symbol "^1.0.0"
micromark-util-decode-numeric-character-reference@^2.0.0:
version "2.0.2"
resolved "https://registry.yarnpkg.com/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz#fcf15b660979388e6f118cdb6bf7d79d73d26fe5"
integrity sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==
dependencies:
micromark-util-symbol "^2.0.0"
micromark-util-decode-string@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/micromark-util-decode-string/-/micromark-util-decode-string-1.0.2.tgz#942252ab7a76dec2dbf089cc32505ee2bc3acf02"
@ -10764,11 +10980,21 @@ micromark-util-encode@^1.0.0:
resolved "https://registry.yarnpkg.com/micromark-util-encode/-/micromark-util-encode-1.0.1.tgz#2c1c22d3800870ad770ece5686ebca5920353383"
integrity sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==
micromark-util-encode@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz#0d51d1c095551cfaac368326963cf55f15f540b8"
integrity sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==
micromark-util-html-tag-name@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.0.0.tgz#75737e92fef50af0c6212bd309bc5cb8dbd489ed"
integrity sha512-NenEKIshW2ZI/ERv9HtFNsrn3llSPZtY337LID/24WeLqMzeZhBEE6BQ0vS2ZBjshm5n40chKtJ3qjAbVV8S0g==
micromark-util-html-tag-name@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz#e40403096481986b41c106627f98f72d4d10b825"
integrity sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==
micromark-util-normalize-identifier@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.0.0.tgz#4a3539cb8db954bbec5203952bfe8cedadae7828"
@ -10776,6 +11002,13 @@ micromark-util-normalize-identifier@^1.0.0:
dependencies:
micromark-util-symbol "^1.0.0"
micromark-util-normalize-identifier@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz#c30d77b2e832acf6526f8bf1aa47bc9c9438c16d"
integrity sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==
dependencies:
micromark-util-symbol "^2.0.0"
micromark-util-resolve-all@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/micromark-util-resolve-all/-/micromark-util-resolve-all-1.0.0.tgz#a7c363f49a0162e931960c44f3127ab58f031d88"
@ -10783,6 +11016,13 @@ micromark-util-resolve-all@^1.0.0:
dependencies:
micromark-util-types "^1.0.0"
micromark-util-resolve-all@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz#e1a2d62cdd237230a2ae11839027b19381e31e8b"
integrity sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==
dependencies:
micromark-util-types "^2.0.0"
micromark-util-sanitize-uri@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.0.0.tgz#27dc875397cd15102274c6c6da5585d34d4f12b2"
@ -10792,6 +11032,15 @@ micromark-util-sanitize-uri@^1.0.0:
micromark-util-encode "^1.0.0"
micromark-util-symbol "^1.0.0"
micromark-util-sanitize-uri@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz#ab89789b818a58752b73d6b55238621b7faa8fd7"
integrity sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==
dependencies:
micromark-util-character "^2.0.0"
micromark-util-encode "^2.0.0"
micromark-util-symbol "^2.0.0"
micromark-util-subtokenize@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/micromark-util-subtokenize/-/micromark-util-subtokenize-1.0.2.tgz#ff6f1af6ac836f8bfdbf9b02f40431760ad89105"
@ -10802,16 +11051,59 @@ micromark-util-subtokenize@^1.0.0:
micromark-util-types "^1.0.0"
uvu "^0.5.0"
micromark-util-subtokenize@^2.0.0:
version "2.0.3"
resolved "https://registry.yarnpkg.com/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.3.tgz#70ffb99a454bd8c913c8b709c3dc97baefb65f96"
integrity sha512-VXJJuNxYWSoYL6AJ6OQECCFGhIU2GGHMw8tahogePBrjkG8aCCas3ibkp7RnVOSTClg2is05/R7maAhF1XyQMg==
dependencies:
devlop "^1.0.0"
micromark-util-chunked "^2.0.0"
micromark-util-symbol "^2.0.0"
micromark-util-types "^2.0.0"
micromark-util-symbol@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/micromark-util-symbol/-/micromark-util-symbol-1.0.1.tgz#b90344db62042ce454f351cf0bebcc0a6da4920e"
integrity sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ==
micromark-util-symbol@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz#e5da494e8eb2b071a0d08fb34f6cefec6c0a19b8"
integrity sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==
micromark-util-types@2.0.1, micromark-util-types@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/micromark-util-types/-/micromark-util-types-2.0.1.tgz#a3edfda3022c6c6b55bfb049ef5b75d70af50709"
integrity sha512-534m2WhVTddrcKVepwmVEVnUAmtrx9bfIjNoQHRqfnvdaHQiFytEhJoTgpWJvDEXCO5gLTQh3wYC1PgOJA4NSQ==
micromark-util-types@^1.0.0, micromark-util-types@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/micromark-util-types/-/micromark-util-types-1.0.2.tgz#f4220fdb319205812f99c40f8c87a9be83eded20"
integrity sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w==
micromark@4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/micromark/-/micromark-4.0.1.tgz#294c2f12364759e5f9e925a767ae3dfde72223ff"
integrity sha512-eBPdkcoCNvYcxQOAKAlceo5SNdzZWfF+FcSupREAzdAh9rRmE239CEQAiTwIgblwnoM8zzj35sZ5ZwvSEOF6Kw==
dependencies:
"@types/debug" "^4.0.0"
debug "^4.0.0"
decode-named-character-reference "^1.0.0"
devlop "^1.0.0"
micromark-core-commonmark "^2.0.0"
micromark-factory-space "^2.0.0"
micromark-util-character "^2.0.0"
micromark-util-chunked "^2.0.0"
micromark-util-combine-extensions "^2.0.0"
micromark-util-decode-numeric-character-reference "^2.0.0"
micromark-util-encode "^2.0.0"
micromark-util-normalize-identifier "^2.0.0"
micromark-util-resolve-all "^2.0.0"
micromark-util-sanitize-uri "^2.0.0"
micromark-util-subtokenize "^2.0.0"
micromark-util-symbol "^2.0.0"
micromark-util-types "^2.0.0"
micromark@^3.0.0:
version "3.0.10"
resolved "https://registry.yarnpkg.com/micromark/-/micromark-3.0.10.tgz#1eac156f0399d42736458a14b0ca2d86190b457c"
@ -11695,6 +11987,19 @@ parse-asn1@^5.0.0, parse-asn1@^5.1.6:
pbkdf2 "^3.0.3"
safe-buffer "^5.1.1"
parse-entities@^4.0.0:
version "4.0.2"
resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-4.0.2.tgz#61d46f5ed28e4ee62e9ddc43d6b010188443f159"
integrity sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==
dependencies:
"@types/unist" "^2.0.0"
character-entities-legacy "^3.0.0"
character-reference-invalid "^2.0.0"
decode-named-character-reference "^1.0.0"
is-alphanumerical "^2.0.0"
is-decimal "^2.0.0"
is-hexadecimal "^2.0.0"
parse-json@^5.0.0, parse-json@^5.2.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd"