Add latest changes from gitlab-org/gitlab@master

This commit is contained in:
GitLab Bot 2021-05-03 15:10:01 +00:00
parent d6533c4486
commit 0568b9e17a
35 changed files with 158 additions and 195 deletions

View File

@ -13,20 +13,14 @@
# WIP See https://gitlab.com/gitlab-org/gitlab/-/issues/322903
Graphql/Descriptions:
Exclude:
- 'app/graphql/types/access_level_enum.rb'
- 'app/graphql/types/base_enum.rb'
- 'app/graphql/types/ci/pipeline_config_source_enum.rb'
- 'app/graphql/types/ci/pipeline_status_enum.rb'
- 'app/graphql/types/container_expiration_policy_cadence_enum.rb'
- 'app/graphql/types/container_expiration_policy_keep_enum.rb'
- 'app/graphql/types/container_expiration_policy_older_than_enum.rb'
- 'app/graphql/types/notes/position_type_enum.rb'
- 'app/graphql/types/packages/package_type_enum.rb'
- 'app/graphql/types/snippets/blob_action_enum.rb'
- 'app/graphql/types/snippets/type_enum.rb'
- 'app/graphql/types/snippets/visibility_scopes_enum.rb'
- 'app/graphql/types/todo_action_enum.rb'
- 'app/graphql/types/tree/type_enum.rb'
- 'ee/app/graphql/ee/types/list_limit_metric_enum.rb'
- 'ee/app/graphql/types/alert_management/payload_alert_field_name_enum.rb'
- 'ee/app/graphql/types/epic_state_enum.rb'

View File

@ -5,12 +5,12 @@ module Types
graphql_name 'AccessLevelEnum'
description 'Access level to a resource'
value 'NO_ACCESS', value: Gitlab::Access::NO_ACCESS, description: 'No access'
value 'MINIMAL_ACCESS', value: Gitlab::Access::MINIMAL_ACCESS, description: 'Minimal access'
value 'GUEST', value: Gitlab::Access::GUEST, description: 'Guest access'
value 'REPORTER', value: Gitlab::Access::REPORTER, description: 'Reporter access'
value 'DEVELOPER', value: Gitlab::Access::DEVELOPER, description: 'Developer access'
value 'MAINTAINER', value: Gitlab::Access::MAINTAINER, description: 'Maintainer access'
value 'OWNER', value: Gitlab::Access::OWNER, description: 'Owner access'
value 'NO_ACCESS', value: Gitlab::Access::NO_ACCESS, description: 'No access.'
value 'MINIMAL_ACCESS', value: Gitlab::Access::MINIMAL_ACCESS, description: 'Minimal access.'
value 'GUEST', value: Gitlab::Access::GUEST, description: 'Guest access.'
value 'REPORTER', value: Gitlab::Access::REPORTER, description: 'Reporter access.'
value 'DEVELOPER', value: Gitlab::Access::DEVELOPER, description: 'Developer access.'
value 'MAINTAINER', value: Gitlab::Access::MAINTAINER, description: 'Maintainer access.'
value 'OWNER', value: Gitlab::Access::OWNER, description: 'Owner access.'
end
end

View File

@ -7,7 +7,7 @@ module Types
description 'Alert status values'
::AlertManagement::Alert.status_names.each do |status|
value status.to_s.upcase, value: status, description: ::AlertManagement::Alert::STATUS_DESCRIPTIONS[status]
value status.to_s.upcase, value: status, description: "#{::AlertManagement::Alert::STATUS_DESCRIPTIONS[status]}."
end
end
end

View File

@ -5,7 +5,7 @@ module Types
class PipelineStatusEnum < BaseEnum
::Ci::Pipeline.all_state_names.each do |state_symbol|
value state_symbol.to_s.upcase,
description: ::Ci::Pipeline::STATUSES_DESCRIPTION[state_symbol],
description: "#{::Ci::Pipeline::STATUSES_DESCRIPTION[state_symbol]}.",
value: state_symbol.to_s
end
end

View File

@ -6,7 +6,7 @@ module Types
description 'Group member relation'
::GroupMembersFinder::RELATIONS.each do |member_relation|
value member_relation.to_s.upcase, value: member_relation, description: ::GroupMembersFinder::RELATIONS_DESCRIPTIONS[member_relation]
value member_relation.to_s.upcase, value: member_relation, description: "#{::GroupMembersFinder::RELATIONS_DESCRIPTIONS[member_relation]}."
end
end
end

View File

@ -6,8 +6,8 @@ module Types
graphql_name 'DiffPositionType'
description 'Type of file the position refers to'
value 'text', description: "A text file"
value 'image', description: "An image"
value 'text', description: "A text file."
value 'image', description: "An image."
end
end
end

View File

@ -6,9 +6,9 @@ module Types
graphql_name 'EntryType'
description 'Type of a tree entry'
value 'tree', description: 'Directory tree type', value: :tree
value 'blob', description: 'File tree type', value: :blob
value 'commit', description: 'Commit tree type', value: :commit
value 'tree', description: 'Directory tree type.', value: :tree
value 'blob', description: 'File tree type.', value: :blob
value 'commit', description: 'Commit tree type.', value: :commit
end
end
end

View File

@ -14,30 +14,6 @@ module Ci
(local + cross_pipeline + cross_project).uniq
end
# Dependencies local to the given pipeline
def local
return [] if no_local_dependencies_specified?
return [] unless processable.pipeline_id # we don't have any dependency when creating the pipeline
deps = model_class.where(pipeline_id: processable.pipeline_id).latest
deps = from_previous_stages(deps)
deps = from_needs(deps)
from_dependencies(deps)
end
# Dependencies from the same parent-pipeline hierarchy excluding
# the current job's pipeline
def cross_pipeline
strong_memoize(:cross_pipeline) do
fetch_dependencies_in_hierarchy
end
end
# Dependencies that are defined by project and ref
def cross_project
[]
end
def invalid_local
local.reject(&:valid_dependency?)
end
@ -54,6 +30,32 @@ module Ci
::Ci::Build
end
# Dependencies local to the given pipeline
def local
strong_memoize(:local) do
next [] if no_local_dependencies_specified?
next [] unless processable.pipeline_id # we don't have any dependency when creating the pipeline
deps = model_class.where(pipeline_id: processable.pipeline_id).latest
deps = from_previous_stages(deps)
deps = from_needs(deps)
from_dependencies(deps).to_a
end
end
# Dependencies from the same parent-pipeline hierarchy excluding
# the current job's pipeline
def cross_pipeline
strong_memoize(:cross_pipeline) do
fetch_dependencies_in_hierarchy
end
end
# Dependencies that are defined by project and ref
def cross_project
[]
end
def fetch_dependencies_in_hierarchy
deps_specifications = specified_cross_pipeline_dependencies
return [] if deps_specifications.empty?

View File

@ -1,5 +0,0 @@
---
title: Track checking/unchecking tasks on epics
merge_request: 59871
author:
type: added

View File

@ -0,0 +1,5 @@
---
title: Fix pipeline status when DAG jobs needs manual jobs
merge_request: 59975
author:
type: fixed

View File

@ -36,8 +36,6 @@ module Gitlab
# Application configuration should go into files in config/initializers
# -- all .rb files in that directory are automatically loaded.
config.active_record.sqlite3.represent_boolean_as_integer = true
# Sidekiq uses eager loading, but directories not in the standard Rails
# directories must be added to the eager load paths:
# https://github.com/mperham/sidekiq/wiki/FAQ#why-doesnt-sidekiq-autoload-my-rails-application-code

View File

@ -5,4 +5,4 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/321972
milestone: '13.10'
type: development
group: group::pipeline authoring
default_enabled: false
default_enabled: true

View File

@ -10,9 +10,9 @@ info: To determine the technical writer assigned to the Stage/Group associated w
Maintenance Mode allows administrators to reduce write operations to a minimum while maintenance tasks are performed. The main goal is to block all external actions that change the internal state, including the PostgreSQL database, but especially files, Git repositories, Container repositories, etc.
Once Maintenance Mode is enabled, in-progress actions will finish relatively quickly since no new actions are coming in, and internal state changes will be minimal.
Once Maintenance Mode is enabled, in-progress actions finish relatively quickly since no new actions are coming in, and internal state changes are minimal.
In that state, various maintenance tasks are easier, and services can be stopped completely or be
further degraded for a much shorter period of time than might otherwise be needed, for example stopping cron jobs and draining queues should be fairly quick.
further degraded for a much shorter period of time than might otherwise be needed. For example, stopping cron jobs and draining queues should be fairly quick.
Maintenance Mode allows most external actions that do not change internal state. On a high-level, HTTP POST, PUT, PATCH, and DELETE requests are blocked and a detailed overview of [how special cases are handled](#rest-api) is available.
@ -74,33 +74,33 @@ In some cases, the visual feedback from an action could be misleading, for examp
### Admin functions
Systems administrators can edit the application settings. This will allow
Systems administrators can edit the application settings. This allows
them to disable Maintenance Mode after it's been enabled.
### Authentication
All users can log in and out of the GitLab instance but no new users can be created.
If there are [LDAP syncs](../auth/ldap/index.md) scheduled for that time, they will fail since user creation is disabled. Similarly, [user creations based on SAML](../../integration/saml.md#general-setup) will fail.
If there are [LDAP syncs](../auth/ldap/index.md) scheduled for that time, they fail since user creation is disabled. Similarly, [user creations based on SAML](../../integration/saml.md#general-setup) fail.
### Git actions
All read-only Git operations will continue to work, for example
`git clone` and `git pull`. All write operations will fail, both through the CLI and Web IDE with the error message: `Git push is not allowed because this GitLab instance is currently in (read-only) maintenance mode.`
All read-only Git operations continue to work, for example
`git clone` and `git pull`. All write operations fail, both through the CLI and Web IDE with the error message: `Git push is not allowed because this GitLab instance is currently in (read-only) maintenance mode.`
If Geo is enabled, Git pushes to both primary and secondaries will fail.
If Geo is enabled, Git pushes to both primary and secondaries fail.
### Merge requests, issues, epics
All write actions except those mentioned above will fail. For example, a user cannot update merge requests or issues.
All write actions except those mentioned above fail. For example, a user cannot update merge requests or issues.
### Incoming email
Creating new issue replies, issues (including new Service Desk issues), merge requests [by email](../incoming_email.md) will fail.
Creating new issue replies, issues (including new Service Desk issues), merge requests [by email](../incoming_email.md) fail.
### Outgoing email
Notification emails will continue to arrive, but emails that require database writes, like resetting the password, will not arrive.
Notification emails continue to arrive, but emails that require database writes, like resetting the password, do not arrive.
### REST API

View File

@ -1100,54 +1100,6 @@ Status: `data_available`
Tiers: `free`
### `counts.g_project_management_users_checking_epic_task_monthly`
Counts of MAU checking epic task
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_28d/20210421080207_g_project_management_users_checking_epic_task_monthly.yml)
Group: `group::product planning`
Status: `implemented`
Tiers: `premium`, `ultimate`
### `counts.g_project_management_users_checking_epic_task_weekly`
Counts of WAU checking epic task
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_7d/20210421075943_g_project_management_users_checking_epic_task_weekly.yml)
Group: `group::product planning`
Status: `implemented`
Tiers: `premium`, `ultimate`
### `counts.g_project_management_users_unchecking_epic_task_monthly`
Counts of MAU unchecking epic task
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_28d/20210421102516_g_project_management_users_unchecking_epic_task_monthly.yml)
Group: `group::product planning`
Status: `implemented`
Tiers: `premium`, `ultimate`
### `counts.g_project_management_users_unchecking_epic_task_weekly`
Counts of WAU unchecking epic task
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_7d/20210421102812_g_project_management_users_unchecking_epic_task_weekly.yml)
Group: `group::product planning`
Status: `implemented`
Tiers: `premium`, `ultimate`
### `counts.geo_event_log_max_id`
Number of replication events on a Geo primary
@ -6478,7 +6430,7 @@ Tiers: `free`, `premium`, `ultimate`
### `database.pg_system_id`
TBD
Missing description
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_all/20210216183248_pg_system_id.yml)
@ -7812,7 +7764,7 @@ Tiers: `free`, `premium`, `ultimate`
Number of projects using 5 min production app CI template in last 7 days.
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_7d/20210216184515_p_ci_templates_5_min_production_app_weekly.yml)
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/config/metrics/counts_7d/20210216184515_p_ci_templates_5_min_production_app_weekly.yml)
Group: `group::5-min-app`
@ -16058,8 +16010,6 @@ Tiers: `free`
Histogram (buckets 1 to 100) of projects with at least 1 enabled integration.
[Object JSON schema](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/objects_schemas/projects_with_enabled_alert_integrations_histogram.json)
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/counts_all/20210309165717_projects_with_enabled_alert_integrations_histogram.yml)
Group: `group::monitor`

View File

@ -48,35 +48,5 @@ methods, the majority which use the Linux packages:
## Next steps
Here are a few resources you might want to check out after completing the
installation:
- [Upload a license](../user/admin_area/license.md) or [start a free trial](https://about.gitlab.com/free-trial/):
Activate all GitLab Enterprise Edition functionality with a license.
- [Set up runners](https://docs.gitlab.com/runner/): Set up one or more GitLab
Runners, the agents that are responsible for all of the GitLab CI/CD features.
- [GitLab Pages](../administration/pages/index.md): Configure GitLab Pages to
allow hosting of static sites.
- [GitLab Registry](../administration/packages/container_registry.md): With the
GitLab Container Registry, every project can have its own space to store Docker
images.
- [Secure GitLab](../security/README.md#securing-your-gitlab-installation):
Recommended practices to secure your GitLab instance.
- [SMTP](https://docs.gitlab.com/omnibus/settings/smtp.html): Configure SMTP
for proper email notifications support.
- [LDAP](../administration/auth/ldap/index.md): Configure LDAP to be used as
an authentication mechanism for GitLab.
- [Back up and restore GitLab](../raketasks/backup_restore.md): Learn the different
ways you can back up or restore GitLab.
- [Upgrade GitLab](../update/index.md): Every 22nd of the month, a new feature-rich GitLab version
is released. Learn how to upgrade to it, or to an interim release that contains a security fix.
- [Scaling GitLab](../administration/reference_architectures/index.md):
GitLab supports several different types of clustering.
- [Advanced Search](../integration/elasticsearch.md): Leverage Elasticsearch for
faster, more advanced code search across your entire GitLab instance.
- [Geo replication](../administration/geo/index.md):
Geo is the solution for widely distributed development teams.
- [Release and maintenance policy](../policy/maintenance.md): Learn about GitLab
policies governing version naming, as well as release pace for major, minor, patch,
and security releases.
- [Pricing](https://about.gitlab.com/pricing/): Pricing for the different tiers.
After you complete the steps for installing GitLab, you can
[configure your instance](next_steps.md).

63
doc/install/next_steps.md Normal file
View File

@ -0,0 +1,63 @@
---
stage: Enablement
group: Distribution
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
# Steps after installing GitLab
Here are a few resources you might want to check out after completing the
installation.
## License
- [Upload a license](../user/admin_area/license.md) or [start a free trial](https://about.gitlab.com/free-trial/):
Activate all GitLab Enterprise Edition functionality with a license.
- [Pricing](https://about.gitlab.com/pricing/): Pricing for the different tiers.
## Security
- [Secure GitLab](../security/README.md#securing-your-gitlab-installation):
Recommended practices to secure your GitLab instance.
## Authentication
- [LDAP](../administration/auth/ldap/index.md): Configure LDAP to be used as
an authentication mechanism for GitLab.
## Email and notifications
- [SMTP](https://docs.gitlab.com/omnibus/settings/smtp.html): Configure SMTP
for proper email notifications support.
## Backup and upgrade
- [Back up and restore GitLab](../raketasks/backup_restore.md): Learn the different
ways you can back up or restore GitLab.
- [Upgrade GitLab](../update/index.md): Every 22nd of the month, a new feature-rich GitLab version
is released. Learn how to upgrade to it, or to an interim release that contains a security fix.
- [Release and maintenance policy](../policy/maintenance.md): Learn about GitLab
policies governing version naming, as well as release pace for major, minor, patch,
and security releases.
## CI/CD
- [Set up runners](https://docs.gitlab.com/runner/): Set up one or more GitLab
Runners, the agents that are responsible for all of the GitLab CI/CD features.
- [GitLab Pages](../administration/pages/index.md): Configure GitLab Pages to
allow hosting of static sites.
- [GitLab Registry](../administration/packages/container_registry.md): With the
GitLab Container Registry, every project can have its own space to store Docker
images.
## Scaling and replication
- [Scaling GitLab](../administration/reference_architectures/index.md):
GitLab supports several different types of clustering.
- [Geo replication](../administration/geo/index.md):
Geo is the solution for widely distributed development teams.
## Search
- [Advanced Search](../integration/elasticsearch.md): Leverage Elasticsearch for
faster, more advanced code search across your entire GitLab instance.

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

View File

@ -38,24 +38,24 @@ to **Admin Area > License**.
Otherwise, you can:
1. Navigate manually to the **Admin Area** by clicking the wrench (**{admin}**) icon in the menu bar.
1. Navigate manually to the **Admin Area** by selecting the wrench (**{admin}**) icon in the top menu.
1. Navigate to the **License** tab, and click **Upload New License**.
1. Navigate to the **License** tab, and select **Upload New License**.
- *If you've received a `.gitlab-license` file:*
1. Download the license file to your local machine.
1. Select **Upload `.gitlab-license` file**.
1. Select **Choose File** and select the license file.
1. Select **Choose file** and select the license file.
In this example the license file is named `GitLab.gitlab-license`.
1. Check the **Subscription Agreement** checkbox.
1. Select the **Terms of Service** checkbox.
1. Select **Upload License**.
![Upload license](img/license_upload_v13_8.png)
![Upload license](img/license_upload_v13_12.png)
- *If you've received your license as plain text:*
1. Select **Enter license key**.
1. Copy the license and paste it into the **License key** field.
1. Check the **Subscription Agreement** checkbox.
1. Select the **Terms of Service** checkbox.
1. Select **Upload License**.
## Add your license at install time

View File

@ -9,20 +9,6 @@
aggregation: daily
feature_flag: track_epics_activity
# content change events
- name: project_management_users_unchecking_epic_task
category: epics_usage
redis_slot: project_management
aggregation: daily
feature_flag: track_epics_activity
- name: project_management_users_checking_epic_task
category: epics_usage
redis_slot: project_management
aggregation: daily
feature_flag: track_epics_activity
- name: g_project_management_users_updating_epic_titles
category: epics_usage
redis_slot: project_management

View File

@ -3,6 +3,7 @@
require 'spec_helper'
RSpec.describe Gitlab::Ci::Config::Entry::Default do
let(:config) { {} }
let(:entry) { described_class.new(config) }
it_behaves_like 'with inheritable CI config' do

View File

@ -20,6 +20,7 @@ RSpec.describe Gitlab::Ci::Config::Entry::Hidden do
end
describe '.new' do
let(:config) { {} }
let(:entry) { described_class.new(config) }
describe 'validations' do
@ -41,8 +42,6 @@ RSpec.describe Gitlab::Ci::Config::Entry::Hidden do
context 'when entry value is not correct' do
context 'when config is empty' do
let(:config) { {} }
describe '#valid' do
it 'is invalid' do
expect(entry).not_to be_valid

View File

@ -3,6 +3,8 @@
require 'spec_helper'
RSpec.describe Gitlab::Ci::Config::Entry::Kubernetes do
let(:config) { Hash(namespace: 'namespace') }
subject { described_class.new(config) }
describe 'attributes' do

View File

@ -22,8 +22,8 @@ RSpec.describe Ci::BuildDependencies do
stub_feature_flags(ci_validate_build_dependencies_override: false)
end
describe '#local' do
subject { described_class.new(job).local }
context 'for local dependencies' do
subject { described_class.new(job).all }
describe 'jobs from previous stages' do
context 'when job is in the first stage' do
@ -52,7 +52,7 @@ RSpec.describe Ci::BuildDependencies do
project.add_developer(user)
end
let(:retried_job) { Ci::Build.retry(rspec_test, user) }
let!(:retried_job) { Ci::Build.retry(rspec_test, user) }
it 'contains the retried job instead of the original one' do
is_expected.to contain_exactly(build, retried_job, rubocop_test)
@ -150,7 +150,7 @@ RSpec.describe Ci::BuildDependencies do
end
end
describe '#cross_pipeline' do
context 'for cross_pipeline dependencies' do
let!(:job) do
create(:ci_build,
pipeline: pipeline,
@ -160,7 +160,7 @@ RSpec.describe Ci::BuildDependencies do
subject { described_class.new(job) }
let(:cross_pipeline_deps) { subject.cross_pipeline }
let(:cross_pipeline_deps) { subject.all }
context 'when dependency specifications are valid' do
context 'when pipeline exists in the hierarchy' do

View File

@ -2815,11 +2815,11 @@ RSpec.describe Project, factory_default: :keep do
end
describe '#remove_import_data' do
let_it_be(:import_data) { ProjectImportData.new(data: { 'test' => 'some data' }) }
let(:import_data) { ProjectImportData.new(data: { 'test' => 'some data' }) }
context 'when jira import' do
let_it_be(:project, reload: true) { create(:project, import_type: 'jira', import_data: import_data) }
let_it_be(:jira_import) { create(:jira_import_state, project: project) }
let!(:project) { create(:project, import_type: 'jira', import_data: import_data) }
let!(:jira_import) { create(:jira_import_state, project: project) }
it 'does remove import data' do
expect(project.mirror?).to be false
@ -2829,8 +2829,7 @@ RSpec.describe Project, factory_default: :keep do
end
context 'when neither a mirror nor a jira import' do
let_it_be(:user) { create(:user) }
let_it_be(:project) { create(:project, import_type: 'github', import_data: import_data) }
let!(:project) { create(:project, import_type: 'github', import_data: import_data) }
it 'removes import data' do
expect(project.mirror?).to be false

View File

@ -502,8 +502,8 @@ RSpec.describe API::Ci::Runner, :clean_gitlab_redis_shared_state do
expect { request_job }.to exceed_all_query_limit(1).for_model(::Ci::JobArtifact)
end
it 'queries the ci_builds table more than five times' do
expect { request_job }.to exceed_all_query_limit(5).for_model(::Ci::Build)
it 'queries the ci_builds table more than three times' do
expect { request_job }.to exceed_all_query_limit(3).for_model(::Ci::Build)
end
end

View File

@ -8,7 +8,8 @@ RSpec.describe Mutations::Boards::Destroy do
let_it_be(:current_user, reload: true) { create(:user) }
let_it_be(:project, reload: true) { create(:project) }
let_it_be(:board) { create(:board, project: project) }
let_it_be(:other_board) { create(:board, project: project) }
let_it_be(:other_board, refind: true) { create(:board, project: project) }
let(:mutation) do
variables = {
id: GitlabSchema.id_from_object(board).to_s

View File

@ -10,7 +10,8 @@ RSpec.describe Mutations::Boards::Lists::Destroy do
it_behaves_like 'board lists destroy request' do
let_it_be(:group, reload: true) { create(:group) }
let_it_be(:board) { create(:board, group: group) }
let_it_be(:list) { create(:list, board: board) }
let_it_be(:list, refind: true) { create(:list, board: board) }
let(:variables) do
{
list_id: GitlabSchema.id_from_object(list).to_s

View File

@ -1335,6 +1335,7 @@ RSpec.describe API::Projects do
describe 'GET /users/:user_id/starred_projects/' do
before do
user3.update!(starred_projects: [project, project2, project3])
user3.reload
end
it 'returns error when user not found' do

View File

@ -5,7 +5,7 @@ require 'spec_helper'
RSpec.describe Ci::CreateDownstreamPipelineService, '#execute' do
let_it_be(:user) { create(:user) }
let(:upstream_project) { create(:project, :repository) }
let_it_be(:downstream_project) { create(:project, :repository) }
let_it_be(:downstream_project, refind: true) { create(:project, :repository) }
let!(:upstream_pipeline) do
create(:ci_pipeline, :running, project: upstream_project)

View File

@ -161,6 +161,7 @@ RSpec.describe Deployments::UpdateEnvironmentService do
context 'when deployment was created by an external CD system' do
before do
deployment.update_column(:deployable_id, nil)
deployment.reload
end
it 'guesses the deployment tier' do

View File

@ -7,7 +7,7 @@ RSpec.describe Projects::Prometheus::Alerts::NotifyService do
using RSpec::Parameterized::TableSyntax
let_it_be_with_reload(:project) { create(:project) }
let_it_be_with_reload(:setting) do
let_it_be_with_refind(:setting) do
create(:project_incident_management_setting, project: project, send_email: true, create_issue: true)
end

View File

@ -41,15 +41,15 @@ RSpec.describe WebHooks::DestroyService do
end
context 'with system hook' do
let_it_be(:hook) { create(:system_hook, url: "http://example.com") }
let_it_be(:log) { create_list(:web_hook_log, 3, web_hook: hook) }
let!(:hook) { create(:system_hook, url: "http://example.com") }
let!(:log) { create_list(:web_hook_log, 3, web_hook: hook) }
it_behaves_like 'batched destroys'
end
context 'with project hook' do
let_it_be(:hook) { create(:project_hook) }
let_it_be(:log) { create_list(:web_hook_log, 3, web_hook: hook) }
let!(:hook) { create(:project_hook) }
let!(:log) { create_list(:web_hook_log, 3, web_hook: hook) }
it_behaves_like 'batched destroys'
end

View File

@ -23,14 +23,9 @@ RSpec.shared_examples 'updating a single task' do
if try(:merge_request)
expect(Gitlab::UsageDataCounters::MergeRequestActivityUniqueCounter)
.to receive(:track_task_item_status_changed).once.with(user: user)
elsif try(:epic)
expect(Gitlab::UsageDataCounters::EpicActivityUniqueCounter)
.to receive(:track_epic_task_checked).once.with(author: user)
else
expect(Gitlab::UsageDataCounters::MergeRequestActivityUniqueCounter)
.not_to receive(:track_task_item_status_changed)
expect(Gitlab::UsageDataCounters::EpicActivityUniqueCounter)
.not_to receive(:track_epic_task_checked)
end
update_issuable(

View File

@ -5,7 +5,7 @@ require 'spec_helper'
RSpec.describe ContainerExpirationPolicies::CleanupContainerRepositoryWorker do
using RSpec::Parameterized::TableSyntax
let_it_be(:repository, reload: true) { create(:container_repository, :cleanup_scheduled) }
let_it_be(:repository, refind: true) { create(:container_repository, :cleanup_scheduled) }
let_it_be(:project) { repository.project }
let_it_be(:policy) { project.container_expiration_policy }
let_it_be(:other_repository) { create(:container_repository) }