Skip to content
Snippets Groups Projects
Commit 96b0c124 authored by GitLab Bot's avatar GitLab Bot
Browse files

Add latest changes from gitlab-org/gitlab@master

parent 0ba3a054
No related branches found
No related tags found
No related merge requests found
Showing
with 126 additions and 44 deletions
Loading
Loading
@@ -20,7 +20,7 @@ code_quality:
variables:
DOCKER_DRIVER: overlay2
DOCKER_TLS_CERTDIR: ""
CODE_QUALITY_IMAGE: "registry.gitlab.com/gitlab-org/security-products/codequality:12-5-stable"
CODE_QUALITY_IMAGE: "registry.gitlab.com/gitlab-org/security-products/codequality:0.85.6"
script:
- |
if ! docker info &>/dev/null; then
Loading
Loading
8.18.0
8.19.0
Loading
Loading
@@ -10,8 +10,8 @@ class Projects::Ci::LintsController < Projects::ApplicationController
@content = params[:content]
result = Gitlab::Ci::YamlProcessor.new_with_validation_errors(@content, yaml_processor_options)
 
@error = result.errors.join(', ')
@status = result.valid?
@status = result.valid?
@errors = result.errors
 
if result.valid?
@config_processor = result.content
Loading
Loading
Loading
Loading
@@ -39,11 +39,7 @@ module Sha256Attribute
end
 
def database_exists?
ApplicationRecord.connection
true
rescue
false
Gitlab::Database.exists?
end
end
end
Loading
Loading
@@ -39,11 +39,7 @@ module ShaAttribute
end
 
def database_exists?
ApplicationRecord.connection
true
rescue
false
Gitlab::Database.exists?
end
end
end
Loading
Loading
- return unless dashboard_nav_link?(:analytics)
- return unless can?(current_user, :read_instance_statistics)
= nav_link(controller: :dev_ops_score) do
= link_to instance_statistics_dev_ops_score_index_path do
.nav-icon-container
Loading
Loading
- if @status
%p
%b= _("Status:")
= _("syntax is correct")
%i.fa.fa-ok.correct-syntax
.bs-callout.bs-callout-success
%p
%b= _("Status:")
= _("syntax is correct")
 
.table-holder
%table.table.table-bordered
Loading
Loading
@@ -40,9 +40,10 @@
%b= _("Allowed to fail")
 
- else
%p
%b= _("Status:")
= _("syntax is incorrect")
%i.fa.fa-remove.incorrect-syntax
%b= _("Error:")
= @error
.bs-callout.bs-callout-danger
%p
%b= _("Status:")
= _("syntax is incorrect")
%pre
- @errors.each do |message|
%p= message
---
title: Add JSON error context to extends error in CI lint
merge_request: 30066
author:
type: changed
---
title: Download cross-project artifacts by using needs keyword in the CI file
merge_request: 22161
author:
type: added
---
title: Update GitLab's codeclimate to 0.85.6
merge_request: 22659
author: Takuya Noguchi
type: other
Loading
Loading
@@ -2385,6 +2385,51 @@ rspec:
- build_job_3
```
 
#### Cross project artifact downloads with `needs` **(PREMIUM)**
> [Introduced](https://gitlab.com/gitlab-org/gitlab/issues/14311) in GitLab v12.7.
`needs` can be used to download artifacts from up to five jobs in pipelines on
[other refs in the same project](#artifact-downloads-between-pipelines-in-the-same-project),
or pipelines in different projects:
```yaml
build_job:
stage: build
script:
- ls -lhR
needs:
- project: group/project-name
job: build-1
ref: master
artifacts: true
```
`build_job` will download the artifacts from the latest successful `build-1` job
on the `master` branch in the `group/project-name` project.
##### Artifact downloads between pipelines in the same project
`needs` can be used to download artifacts from different pipelines in the current project
by setting the `project` keyword as the current project's name, and specifying a ref.
In the example below, `build_job` will download the artifacts for the latest successful
`build-1` job with the `other-ref` ref:
```yaml
build_job:
stage: build
script:
- ls -lhR
needs:
- project: group/same-project-name
job: build-1
ref: other-ref
artifacts: true
```
NOTE: **Note:**
Downloading artifacts from jobs that are run in [`parallel:`](#parallel) is not supported.
### `coverage`
 
> [Introduced][ce-7447] in GitLab 8.17.
Loading
Loading
Loading
Loading
@@ -169,9 +169,10 @@ but commented out to help encourage others to add to it in the future. -->
## Required pipeline configuration **(PREMIUM ONLY)**
 
CAUTION: **Caution:**
The Required Pipeline Configuration feature is deprecated and will be removed when an
[improved compliance solution](https://gitlab.com/gitlab-org/gitlab/issues/34830)
is added to GitLab. It is recommended to avoid using this feature.
This feature is being re-evaluated in favor of a different
[compliance solution](https://gitlab.com/gitlab-org/gitlab/issues/34830).
We recommend that users who haven't yet implemented this feature wait for
the new solution.
 
GitLab administrators can force a pipeline configuration to run on every
pipeline.
Loading
Loading
Loading
Loading
@@ -52,6 +52,10 @@ class Feature
# use `default_enabled: true` to default the flag to being `enabled`
# unless set explicitly. The default is `disabled`
def enabled?(key, thing = nil, default_enabled: false)
# During setup the database does not exist yet. So we haven't stored a value
# for the feature yet and return the default.
return default_enabled unless Gitlab::Database.exists?
feature = Feature.get(key)
 
# If we're not default enabling the flag or the feature has been set, always evaluate.
Loading
Loading
Loading
Loading
@@ -7,7 +7,7 @@ code_quality:
variables:
DOCKER_DRIVER: overlay2
DOCKER_TLS_CERTDIR: ""
CODE_QUALITY_IMAGE: "registry.gitlab.com/gitlab-org/security-products/codequality:0.85.5"
CODE_QUALITY_IMAGE: "registry.gitlab.com/gitlab-org/security-products/codequality:0.85.6"
script:
- |
if ! docker info &>/dev/null; then
Loading
Loading
Loading
Loading
@@ -241,6 +241,14 @@ module Gitlab
row['version']
end
 
def self.exists?
connection
true
rescue
false
end
private_class_method :database_version
 
def self.add_post_migrate_path_to_rails(force: false)
Loading
Loading
Loading
Loading
@@ -7278,9 +7278,6 @@ msgstr ""
msgid "Error with Akismet. Please check the logs for more info."
msgstr ""
 
msgid "Error:"
msgstr ""
msgid "ErrorTracking|Active"
msgstr ""
 
Loading
Loading
Loading
Loading
@@ -132,20 +132,25 @@ module QA
element.select value
end
 
def has_active_element?(name, **kwargs)
has_element?(name, class: 'active', **kwargs)
end
def has_element?(name, **kwargs)
wait_for_requests
 
wait = kwargs[:wait] ? kwargs[:wait] && kwargs.delete(:wait) : Capybara.default_max_wait_time
text = kwargs[:text] ? kwargs[:text] && kwargs.delete(:text) : nil
wait = kwargs.delete(:wait) || Capybara.default_max_wait_time
text = kwargs.delete(:text)
klass = kwargs.delete(:class)
 
has_css?(element_selector_css(name, kwargs), text: text, wait: wait)
has_css?(element_selector_css(name, kwargs), text: text, wait: wait, class: klass)
end
 
def has_no_element?(name, **kwargs)
wait_for_requests
 
wait = kwargs[:wait] ? kwargs[:wait] && kwargs.delete(:wait) : Capybara.default_max_wait_time
text = kwargs[:text] ? kwargs[:text] && kwargs.delete(:text) : nil
wait = kwargs.delete(:wait) || Capybara.default_max_wait_time
text = kwargs.delete(:text)
 
has_no_css?(element_selector_css(name, kwargs), wait: wait, text: text)
end
Loading
Loading
Loading
Loading
@@ -76,8 +76,14 @@ module QA
end
 
def sign_out
within_user_menu do
click_element :sign_out_link
retry_until do
break true unless signed_in?
within_user_menu do
click_element :sign_out_link
end
has_no_element?(:user_avatar)
end
end
 
Loading
Loading
Loading
Loading
@@ -19,11 +19,11 @@ module QA::Page
end
 
def switch_to_code
click_element(:code_tab)
switch_to_tab(:code_tab)
end
 
def switch_to_projects
click_element(:projects_tab)
switch_to_tab(:projects_tab)
end
 
def has_file_in_project?(file_name, project_name)
Loading
Loading
@@ -32,7 +32,7 @@ module QA::Page
 
def has_file_with_content?(file_name, file_text)
within_element_by_index(:result_item_content, 0) do
false unless has_element?(:file_title_content, text: file_name)
break false unless has_element?(:file_title_content, text: file_name)
 
has_element?(:file_text_content, text: file_text)
end
Loading
Loading
@@ -41,6 +41,15 @@ module QA::Page
def has_project?(project_name)
has_element?(:project, project_name: project_name)
end
private
def switch_to_tab(tab)
retry_until do
click_element(tab)
has_active_element?(tab)
end
end
end
end
end
Loading
Loading
@@ -11,8 +11,7 @@ module QA
elements.each do |element|
next unless element.required?
 
# TODO: this wait needs to be replaced by the wait class
unless base_page.has_element?(element.name, wait: 60)
unless base_page.wait(reload: false) { base_page.has_element?(element.name, wait: 15) }
raise Validatable::PageValidationError, "#{element.name} did not appear on #{self.name} as expected"
end
end
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment