Add latest changes from gitlab-org/gitlab@master
This commit is contained in:
parent
32bbedbc21
commit
58f5efa917
|
@ -187,9 +187,6 @@ setup-test-env:
|
|||
- .setup-test-env-cache
|
||||
- .rails:rules:setup-test-env
|
||||
stage: prepare
|
||||
needs:
|
||||
- job: "update-gitaly-binaries-cache"
|
||||
optional: true
|
||||
variables:
|
||||
SETUP_DB: "false"
|
||||
script:
|
||||
|
|
|
@ -193,6 +193,8 @@ That's all of the required database changes.
|
|||
include ::Geo::ReplicableModel
|
||||
include ::Geo::VerifiableModel
|
||||
|
||||
delegate(*::Geo::VerificationState::VERIFICATION_METHODS, to: :cool_widget_state)
|
||||
|
||||
with_replicator Geo::CoolWidgetReplicator
|
||||
|
||||
mount_uploader :file, CoolWidgetUploader
|
||||
|
@ -201,16 +203,6 @@ That's all of the required database changes.
|
|||
|
||||
after_save :save_verification_details
|
||||
|
||||
delegate :verification_retry_at, :verification_retry_at=,
|
||||
:verified_at, :verified_at=,
|
||||
:verification_checksum, :verification_checksum=,
|
||||
:verification_failure, :verification_failure=,
|
||||
:verification_retry_count, :verification_retry_count=,
|
||||
:verification_state=, :verification_state,
|
||||
:verification_started_at=, :verification_started_at,
|
||||
to: :cool_widget_state
|
||||
...
|
||||
|
||||
scope :with_verification_state, ->(state) { joins(:cool_widget_state).where(cool_widget_states: { verification_state: verification_state_value(state) }) }
|
||||
scope :checksummed, -> { joins(:cool_widget_state).where.not(cool_widget_states: { verification_checksum: nil } ) }
|
||||
scope :not_checksummed, -> { joins(:cool_widget_state).where(cool_widget_states: { verification_checksum: nil } ) }
|
||||
|
@ -487,6 +479,7 @@ That's all of the required database changes.
|
|||
module Geo
|
||||
class CoolWidgetState < ApplicationRecord
|
||||
include EachBatch
|
||||
include ::Geo::VerificationStateDefinition
|
||||
|
||||
self.primary_key = :cool_widget_id
|
||||
|
||||
|
|
|
@ -195,6 +195,8 @@ That's all of the required database changes.
|
|||
include ::Geo::ReplicableModel
|
||||
include ::Geo::VerifiableModel
|
||||
|
||||
delegate(*::Geo::VerificationState::VERIFICATION_METHODS, to: :cool_widget_state)
|
||||
|
||||
with_replicator Geo::CoolWidgetReplicator
|
||||
|
||||
mount_uploader :file, CoolWidgetUploader
|
||||
|
@ -203,16 +205,6 @@ That's all of the required database changes.
|
|||
|
||||
after_save :save_verification_details
|
||||
|
||||
delegate :verification_retry_at, :verification_retry_at=,
|
||||
:verified_at, :verified_at=,
|
||||
:verification_checksum, :verification_checksum=,
|
||||
:verification_failure, :verification_failure=,
|
||||
:verification_retry_count, :verification_retry_count=,
|
||||
:verification_state=, :verification_state,
|
||||
:verification_started_at=, :verification_started_at,
|
||||
to: :cool_widget_state
|
||||
...
|
||||
|
||||
scope :with_verification_state, ->(state) { joins(:cool_widget_state).where(cool_widget_states: { verification_state: verification_state_value(state) }) }
|
||||
scope :checksummed, -> { joins(:cool_widget_state).where.not(cool_widget_states: { verification_checksum: nil } ) }
|
||||
scope :not_checksummed, -> { joins(:cool_widget_state).where(cool_widget_states: { verification_checksum: nil } ) }
|
||||
|
@ -451,6 +443,7 @@ That's all of the required database changes.
|
|||
module Geo
|
||||
class CoolWidgetState < ApplicationRecord
|
||||
include EachBatch
|
||||
include ::Geo::VerificationStateDefinition
|
||||
|
||||
self.primary_key = :cool_widget_id
|
||||
|
||||
|
|
|
@ -1905,6 +1905,12 @@ See https://about.gitlab.com/releases/2022/02/03/security-release-gitlab-14-7-1-
|
|||
- [Fix Gitlab/DelegatePredicateMethods offenses](gitlab-org/gitlab@518700a11025b0000ff3ce011638417a882612b0) by @edith007 ([merge request](gitlab-org/gitlab!76001))
|
||||
- [Fix Rails/SaveBang offenses](gitlab-org/gitlab@513b0e1dbdf95ea595e7548ff26929e0be30ce29) by @edith007 ([merge request](gitlab-org/gitlab!75894)) **GitLab Enterprise Edition**
|
||||
|
||||
## 14.6.7 (2022-03-31)
|
||||
|
||||
### Changed (1 change)
|
||||
|
||||
- [Remove runners token prefix feature flags](gitlab-org/gitlab@70330bc3f8c34c4620d7e5c4a9943ec3574e5ee6) ([merge request](gitlab-org/gitlab!82122))
|
||||
|
||||
## 14.6.6 (2022-03-01)
|
||||
|
||||
### Fixed (3 changes)
|
||||
|
|
2
Gemfile
2
Gemfile
|
@ -163,7 +163,7 @@ gem 'org-ruby', '~> 0.9.12'
|
|||
gem 'creole', '~> 0.5.0'
|
||||
gem 'wikicloth', '0.8.1'
|
||||
gem 'asciidoctor', '~> 2.0.10'
|
||||
gem 'asciidoctor-include-ext', '~> 0.3.1', require: false
|
||||
gem 'asciidoctor-include-ext', '~> 0.4.0', require: false
|
||||
gem 'asciidoctor-plantuml', '~> 0.0.12'
|
||||
gem 'asciidoctor-kroki', '~> 0.5.0', require: false
|
||||
gem 'rouge', '~> 3.27.0'
|
||||
|
|
|
@ -89,7 +89,7 @@ GEM
|
|||
faraday_middleware-multi_json (~> 0.0)
|
||||
oauth2 (~> 1.4)
|
||||
asciidoctor (2.0.15)
|
||||
asciidoctor-include-ext (0.3.1)
|
||||
asciidoctor-include-ext (0.4.0)
|
||||
asciidoctor (>= 1.5.6, < 3.0.0)
|
||||
asciidoctor-kroki (0.5.0)
|
||||
asciidoctor (~> 2.0)
|
||||
|
@ -1418,7 +1418,7 @@ DEPENDENCIES
|
|||
apollo_upload_server (~> 2.1.0)
|
||||
asana (~> 0.10.3)
|
||||
asciidoctor (~> 2.0.10)
|
||||
asciidoctor-include-ext (~> 0.3.1)
|
||||
asciidoctor-include-ext (~> 0.4.0)
|
||||
asciidoctor-kroki (~> 0.5.0)
|
||||
asciidoctor-plantuml (~> 0.0.12)
|
||||
atlassian-jwt (~> 0.2.0)
|
||||
|
|
|
@ -3,7 +3,7 @@ import { GlForm, GlIcon, GlLink, GlButton, GlSprintf, GlAlert } from '@gitlab/ui
|
|||
import axios from '~/lib/utils/axios_utils';
|
||||
import csrf from '~/lib/utils/csrf';
|
||||
import { setUrlFragment } from '~/lib/utils/url_utility';
|
||||
import { __, s__, sprintf } from '~/locale';
|
||||
import { s__, sprintf } from '~/locale';
|
||||
import Tracking from '~/tracking';
|
||||
import MarkdownField from '~/vue_shared/components/markdown/field.vue';
|
||||
import {
|
||||
|
@ -54,9 +54,6 @@ export default {
|
|||
),
|
||||
primaryAction: s__('WikiPage|Retry'),
|
||||
},
|
||||
feedbackTip: __(
|
||||
'Tell us your experiences with the new Markdown editor %{linkStart}in this feedback issue%{linkEnd}.',
|
||||
),
|
||||
},
|
||||
linksHelpText: s__(
|
||||
'WikiPage|To link to a (new) page, simply type %{linkExample}. More examples are in the %{linkStart}documentation%{linkEnd}.',
|
||||
|
@ -403,20 +400,6 @@ export default {
|
|||
</template>
|
||||
</markdown-field>
|
||||
<div v-if="isContentEditorActive">
|
||||
<gl-alert class="gl-mb-6" variant="tip" :dismissible="false">
|
||||
<gl-sprintf :message="$options.i18n.contentEditor.feedbackTip">
|
||||
<template
|
||||
#link="// eslint-disable-next-line vue/no-template-shadow
|
||||
{ content }"
|
||||
><gl-link
|
||||
:href="$options.contentEditorFeedbackIssue"
|
||||
target="_blank"
|
||||
data-testid="wiki-markdown-help-link"
|
||||
>{{ content }}</gl-link
|
||||
></template
|
||||
>
|
||||
</gl-sprintf>
|
||||
</gl-alert>
|
||||
<content-editor
|
||||
:render-markdown="renderMarkdown"
|
||||
:uploads-path="pageInfo.uploadsPath"
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class RemoveUserEmailLookupLimit < Gitlab::Database::Migration[1.0]
|
||||
disable_ddl_transaction!
|
||||
|
||||
def up
|
||||
remove_column :application_settings, :user_email_lookup_limit
|
||||
end
|
||||
|
||||
def down
|
||||
add_column :application_settings, :user_email_lookup_limit, :integer, null: false, default: 60
|
||||
end
|
||||
end
|
|
@ -0,0 +1 @@
|
|||
b9460a2962364ae836237382b84257f30673ffbe682a58776d6aaeab8f28f67d
|
|
@ -11235,7 +11235,6 @@ CREATE TABLE application_settings (
|
|||
max_ssh_key_lifetime integer,
|
||||
static_objects_external_storage_auth_token_encrypted text,
|
||||
future_subscriptions jsonb DEFAULT '[]'::jsonb NOT NULL,
|
||||
user_email_lookup_limit integer DEFAULT 60 NOT NULL,
|
||||
packages_cleanup_package_file_worker_capacity smallint DEFAULT 2 NOT NULL,
|
||||
container_registry_import_max_tags_count integer DEFAULT 100 NOT NULL,
|
||||
container_registry_import_max_retries integer DEFAULT 3 NOT NULL,
|
||||
|
|
|
@ -231,6 +231,16 @@ instructions only work on Omnibus-provided PostgreSQL:
|
|||
|
||||
The database used by Praefect is now configured.
|
||||
|
||||
You can now configure Praefect to use the database:
|
||||
|
||||
```ruby
|
||||
praefect['database_host'] = POSTGRESQL_HOST
|
||||
praefect['database_port'] = 5432
|
||||
praefect['database_user'] = 'praefect'
|
||||
praefect['database_password'] = PRAEFECT_SQL_PASSWORD
|
||||
praefect['database_dbname'] = 'praefect_production'
|
||||
```
|
||||
|
||||
If you see Praefect database errors after configuring PostgreSQL, see
|
||||
[troubleshooting steps](troubleshooting.md#relation-does-not-exist-errors).
|
||||
|
||||
|
|
|
@ -13,8 +13,6 @@ merge commits. In such cases, the fast-forward merge is the perfect candidate.
|
|||
With fast-forward merge requests, you can retain a linear Git history and a way
|
||||
to accept merge requests without creating merge commits.
|
||||
|
||||
## Overview
|
||||
|
||||
When the fast-forward merge
|
||||
([`--ff-only`](https://git-scm.com/docs/git-merge#git-merge---ff-only)) setting
|
||||
is enabled, no merge commits are created and all merges are fast-forwarded,
|
||||
|
@ -22,6 +20,11 @@ which means that merging is only allowed if the branch can be fast-forwarded.
|
|||
|
||||
When a fast-forward merge is not possible, the user is given the option to rebase.
|
||||
|
||||
NOTE:
|
||||
Projects using the fast-forward merge strategy can't filter merge requests
|
||||
[by deployment date](../../search/index.md#filtering-merge-requests-by-environment-or-deployment-date),
|
||||
because no merge commit is created.
|
||||
|
||||
## Enabling fast-forward merges
|
||||
|
||||
1. On the top bar, select **Menu > Projects** and find your project.
|
||||
|
|
|
@ -18,7 +18,9 @@ select a limited role, and provide an expiry date.
|
|||
Use a project access token to authenticate:
|
||||
|
||||
- With the [GitLab API](../../../api/index.md#personalprojectgroup-access-tokens).
|
||||
- With Git, when using HTTP Basic Authentication. You can use any non-blank value for a password.
|
||||
- With Git, when using HTTP Basic Authentication, use:
|
||||
- Any non-blank value as a username.
|
||||
- The project access token as the password.
|
||||
|
||||
Project access tokens are similar to [group access tokens](../../group/settings/group_access_tokens.md)
|
||||
and [personal access tokens](../../profile/personal_access_tokens.md).
|
||||
|
|
|
@ -152,6 +152,10 @@ you can type (or select from the dropdown list) the following:
|
|||
- Deployed-before
|
||||
- Deployed-after
|
||||
|
||||
NOTE:
|
||||
Projects using a [fast-forward merge method](../project/merge_requests/fast_forward_merge.md)
|
||||
do not return results, as this method does not create a merge commit.
|
||||
|
||||
When filtering by an environment, a dropdown list presents all environments that
|
||||
you can choose from:
|
||||
|
||||
|
|
|
@ -33,7 +33,7 @@ module Gitlab
|
|||
max_include_depth = doc.attributes.fetch('max-include-depth').to_i
|
||||
|
||||
return false if max_include_depth < 1
|
||||
return false if target_uri?(target)
|
||||
return false if target_http?(target)
|
||||
return false if included.size >= max_includes
|
||||
|
||||
true
|
||||
|
|
|
@ -36906,9 +36906,6 @@ msgstr ""
|
|||
msgid "Telephone number"
|
||||
msgstr ""
|
||||
|
||||
msgid "Tell us your experiences with the new Markdown editor %{linkStart}in this feedback issue%{linkEnd}."
|
||||
msgstr ""
|
||||
|
||||
msgid "Template"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -411,10 +411,6 @@ describe('WikiForm', () => {
|
|||
await waitForPromises();
|
||||
});
|
||||
|
||||
it('shows a tip to send feedback', () => {
|
||||
expect(wrapper.text()).toContain('Tell us your experiences with the new Markdown editor');
|
||||
});
|
||||
|
||||
it('shows the rich text editor when loading finishes', async () => {
|
||||
expect(findContentEditor().exists()).toBe(true);
|
||||
});
|
||||
|
|
|
@ -12,6 +12,7 @@ RSpec.describe API::Ci::SecureFiles do
|
|||
let_it_be(:developer) { create(:user) }
|
||||
let_it_be(:guest) { create(:user) }
|
||||
let_it_be(:anonymous) { create(:user) }
|
||||
let_it_be(:unconfirmed) { create(:user, :unconfirmed) }
|
||||
let_it_be(:project) { create(:project, creator_id: maintainer.id) }
|
||||
let_it_be(:secure_file) { create(:ci_secure_file, project: project) }
|
||||
|
||||
|
@ -73,6 +74,14 @@ RSpec.describe API::Ci::SecureFiles do
|
|||
end
|
||||
end
|
||||
|
||||
context 'unconfirmed user' do
|
||||
it 'does not return project secure files' do
|
||||
get api("/projects/#{project.id}/secure_files", unconfirmed)
|
||||
|
||||
expect(response).to have_gitlab_http_status(:not_found)
|
||||
end
|
||||
end
|
||||
|
||||
context 'unauthenticated user' do
|
||||
it 'does not return project secure files' do
|
||||
get api("/projects/#{project.id}/secure_files")
|
||||
|
@ -117,6 +126,14 @@ RSpec.describe API::Ci::SecureFiles do
|
|||
end
|
||||
end
|
||||
|
||||
context 'unconfirmed user' do
|
||||
it 'does not return project secure file details' do
|
||||
get api("/projects/#{project.id}/secure_files/#{secure_file.id}", unconfirmed)
|
||||
|
||||
expect(response).to have_gitlab_http_status(:not_found)
|
||||
end
|
||||
end
|
||||
|
||||
context 'unauthenticated user' do
|
||||
it 'does not return project secure file details' do
|
||||
get api("/projects/#{project.id}/secure_files/#{secure_file.id}")
|
||||
|
@ -167,6 +184,14 @@ RSpec.describe API::Ci::SecureFiles do
|
|||
end
|
||||
end
|
||||
|
||||
context 'unconfirmed user' do
|
||||
it 'does not return project secure file details' do
|
||||
get api("/projects/#{project.id}/secure_files/#{secure_file.id}/download", unconfirmed)
|
||||
|
||||
expect(response).to have_gitlab_http_status(:not_found)
|
||||
end
|
||||
end
|
||||
|
||||
context 'unauthenticated user' do
|
||||
it 'does not return project secure file details' do
|
||||
get api("/projects/#{project.id}/secure_files/#{secure_file.id}/download")
|
||||
|
@ -372,6 +397,16 @@ RSpec.describe API::Ci::SecureFiles do
|
|||
end
|
||||
end
|
||||
|
||||
context 'unconfirmed user' do
|
||||
it 'does not create a secure file' do
|
||||
expect do
|
||||
post api("/projects/#{project.id}/secure_files", unconfirmed)
|
||||
end.not_to change { project.secure_files.count }
|
||||
|
||||
expect(response).to have_gitlab_http_status(:not_found)
|
||||
end
|
||||
end
|
||||
|
||||
context 'unauthenticated user' do
|
||||
it 'does not create a secure file' do
|
||||
expect do
|
||||
|
@ -422,6 +457,16 @@ RSpec.describe API::Ci::SecureFiles do
|
|||
end
|
||||
end
|
||||
|
||||
context 'unconfirmed user' do
|
||||
it 'does not delete the secure_file' do
|
||||
expect do
|
||||
delete api("/projects/#{project.id}/secure_files#{secure_file.id}", unconfirmed)
|
||||
end.not_to change { project.secure_files.count }
|
||||
|
||||
expect(response).to have_gitlab_http_status(:not_found)
|
||||
end
|
||||
end
|
||||
|
||||
context 'unauthenticated user' do
|
||||
it 'does not delete the secure_file' do
|
||||
expect do
|
||||
|
|
Loading…
Reference in New Issue