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

Add latest changes from gitlab-org/gitlab@master

parent 31a49d92
No related branches found
No related tags found
No related merge requests found
Showing
with 222 additions and 85 deletions
Loading
Loading
@@ -54,8 +54,8 @@ export default {
<template>
<li class="frequent-items-list-item-container">
<a :href="webUrl" class="clearfix">
<div class="frequent-items-item-avatar-container">
<img v-if="hasAvatar" :src="avatarUrl" class="avatar rect-avatar s32" />
<div class="frequent-items-item-avatar-container avatar-container rect-avatar s32">
<img v-if="hasAvatar" :src="avatarUrl" class="avatar s32" />
<identicon
v-else
:entity-id="itemId"
Loading
Loading
Loading
Loading
@@ -99,8 +99,26 @@ export default () => {
window.gon && window.gon.features && window.gon.features.junitPipelineView;
 
if (testReportsEnabled) {
const fetchReportsAction = 'fetchReports';
testReportsStore.dispatch('setEndpoint', dataset.testReportEndpoint);
testReportsStore.dispatch('fetchReports');
const tabsElmement = document.querySelector('.pipelines-tabs');
const isTestTabActive = Boolean(
document.querySelector('.pipelines-tabs > li > a.test-tab.active'),
);
if (isTestTabActive) {
testReportsStore.dispatch(fetchReportsAction);
} else {
const tabClickHandler = e => {
if (e.target.className === 'test-tab') {
testReportsStore.dispatch(fetchReportsAction);
tabsElmement.removeEventListener('click', tabClickHandler);
}
};
tabsElmement.addEventListener('click', tabClickHandler);
}
 
// eslint-disable-next-line no-new
new Vue({
Loading
Loading
Loading
Loading
@@ -3,33 +3,8 @@
background-color: $gray-light;
}
 
.gitlab-logo {
width: 80px;
height: 80px;
}
.signup-box-container {
max-width: 900px;
&.navless-container {
padding: 35px $gl-padding;
// overriding .devise-layout-html.navless-container to support the sticky footer
// without having a header on size xs
@include media-breakpoint-down(xs) {
padding: 65px $gl-padding; // height of footer
padding-top: $gl-padding;
}
}
}
.signup-heading h2 {
font-weight: $gl-font-weight-bold;
padding: 0 $gl-padding;
font-size: $gl-font-size-28;
@include media-breakpoint-down(md) {
font-size: $gl-font-size-large;
}
max-width: 960px;
}
 
.signup-box {
Loading
Loading
- page_title "Sign up"
- if experiment_enabled?(:signup_flow)
= render 'devise/shared/experimental_separate_sign_up_flow_box'
.row
.col-lg-7
%h1.mb-3.font-weight-bold.text-6.mt-0
= _("Speed up your DevOps<br>with GitLab").html_safe
%p.text-3
= _("GitLab is a single application for the entire software development lifecycle. From project planning and source code management to CI/CD, monitoring, and security.")
.col-lg-5.order-12
.text-center.mb-3
%h2.font-weight-bold.gl-font-size-20= _('Register for GitLab')
= render 'devise/shared/experimental_separate_sign_up_flow_box'
= render 'devise/shared/sign_in_link'
- else
= render 'devise/shared/signup_box'
= render 'devise/shared/sign_in_link'
= render 'devise/shared/sign_in_link'
- content_for(:page_title, _('Register for GitLab'))
- max_first_name_length = max_last_name_length = 127
- max_username_length = 255
.signup-box.p-3.mb-2
Loading
Loading
!!! 5
%html.devise-layout-html.navless{ class: system_message_class }
= render "layouts/head"
%body.ui-indigo.signup-page.application.navless{ class: "#{client_class_list}", data: { page: body_data_page, qa_selector: 'signup_page' } }
= header_message
%body.ui-indigo.signup-page{ class: "#{client_class_list}", data: { page: body_data_page, qa_selector: 'signup_page' } }
= render "layouts/header/logo_with_title"
= render "layouts/init_client_detection_flags"
.page-wrap
.container.signup-box-container.navless-container.mt-0
.container.signup-box-container.navless-container
= render "layouts/broadcast"
.content
= render "layouts/flash"
.row.mb-6
.col-sm-8.offset-sm-2.col-md-6.offset-md-3.new-session-forms-container
= render_if_exists 'layouts/devise_help_text'
.text-center.signup-heading.mb-3
= image_tag(image_url('logo.svg'), class: 'gitlab-logo', alt: 'GitLab Logo')
- if content_for?(:page_title)
%h2= yield :page_title
= yield
= yield
%hr.footer-fixed
.footer-container
.container
Loading
Loading
%header.navbar.fixed-top.navbar-gitlab.justify-content-center
= render 'shared/logo.svg'
%span.logo-text.d-none.d-lg-block.prepend-left-8.pt-1
= render 'shared/logo_type.svg'
---
title: Test reports in the pipeline details page will now load when clicking the tests
tab.
merge_request: 24577
author:
type: changed
---
title: Fix k8s logs alert display state
merge_request: 24802
author:
type: fixed
---
title: dragoon20
merge_request: 24958
author: Jordan Fernando
type: fixed
---
title: Add Board Lists to Group Export
merge_request: 24863
author:
type: changed
Loading
Loading
@@ -105,8 +105,8 @@ recorded:
- Ask for password reset
- Grant OAuth access
- Started/stopped user impersonation
- Changed username
- User was deleted
- Changed username ([introduced](https://gitlab.com/gitlab-org/gitlab/issues/7797) in GitLab 12.8)
- User was deleted ([introduced](https://gitlab.com/gitlab-org/gitlab/issues/251) in GitLab 12.8)
 
It is possible to filter particular actions by choosing an audit data type from
the filter dropdown box. You can further filter by specific group, project or user
Loading
Loading
Loading
Loading
@@ -3,7 +3,7 @@
>**Note:**
> This endpoint was [introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/9188) in GitLab 11.8.
 
Manages parent-child [epic relationships](../user/group/epics/index.md#multi-level-child-epics).
Manages parent-child [epic relationships](../user/group/epics/index.md#multi-level-child-epics-ultimate).
 
Every API call to `epic_links` must be authenticated.
 
Loading
Loading
Loading
Loading
@@ -2663,6 +2663,8 @@ upstream_bridge:
 
#### `trigger` syntax for child pipeline
 
> [Introduced](https://gitlab.com/gitlab-org/gitlab/issues/16094) in GitLab 12.7.
To create a [child pipeline](../parent_child_pipelines.md), specify the path to the
YAML file containing the CI config of the child pipeline:
 
Loading
Loading
Loading
Loading
@@ -2,9 +2,10 @@
type: reference, howto
---
 
# Epics **(ULTIMATE)**
# Epics **(PREMIUM)**
 
> Introduced in [GitLab Ultimate](https://about.gitlab.com/pricing/) 10.2.
> In [GitLab 12.8](https://gitlab.com/gitlab-org/gitlab/issues/37081), single-level Epics were moved to **(PREMIUM)**.
 
Epics let you manage your portfolio of projects more efficiently and with less
effort by tracking groups of issues that share a theme, across projects and
Loading
Loading
@@ -15,7 +16,7 @@ milestones.
The possible relationships between epics and issues are:
 
- An epic is the parent of one or more issues.
- An epic is the parent of one or more child epics. For details see [Multi-level child epics](#multi-level-child-epics).
- An epic is the parent of one or more child epics. For details see [Multi-level child epics](#multi-level-child-epics-ultimate). **(ULTIMATE)**
 
```mermaid
graph TD
Loading
Loading
@@ -100,7 +101,7 @@ To remove an issue from an epic:
1. Click on the <kbd>x</kbd> button in the epic's issue list.
1. Click **Remove** in the **Remove issue** warning message.
 
## Multi-level child epics
## Multi-level child epics **(ULTIMATE)**
 
> [Introduced](https://gitlab.com/gitlab-org/gitlab/issues/8333) in GitLab Ultimate 11.7.
 
Loading
Loading
@@ -175,7 +176,7 @@ then the parent epic's start date will reflect the change and this will propagat
 
> [Introduced](https://gitlab.com/gitlab-org/gitlab/issues/7327) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 11.10.
 
If your epic contains one or more [child epics](#multi-level-child-epics) which
If your epic contains one or more [child epics](#multi-level-child-epics-ultimate) which
have a [start or due date](#start-date-and-due-date), a
[roadmap](../roadmap/index.md) view of the child epics is listed under the parent epic.
 
Loading
Loading
Loading
Loading
@@ -8,10 +8,14 @@ tree:
- :milestones
- :badges
- labels:
- :priorities
- :boards
- :priorities
- boards:
- lists:
- label:
- :priorities
- :board
- members:
- :user
- :user
 
included_attributes:
user:
Loading
Loading
@@ -30,12 +34,16 @@ excluded_attributes:
methods:
labels:
- :type
label:
- :type
badges:
- :type
notes:
- :type
events:
- :action
lists:
- :list_type
 
preloads:
 
Loading
Loading
@@ -45,16 +53,20 @@ ee:
tree:
group:
- epics:
- :parent
- :parent
- :award_emoji
- events:
- :push_event_payload
- notes:
- :author
- :award_emoji
- events:
- :push_event_payload
- notes:
- :author
- :award_emoji
- events:
- :push_event_payload
- :push_event_payload
- boards:
- :board_assignee
- labels:
- :priorities
- :board_assignee
- labels:
- :priorities
- lists:
- milestone:
- events:
- :push_event_payload
Loading
Loading
@@ -9156,6 +9156,9 @@ msgstr ""
msgid "GitLab for Slack"
msgstr ""
 
msgid "GitLab is a single application for the entire software development lifecycle. From project planning and source code management to CI/CD, monitoring, and security."
msgstr ""
msgid "GitLab is obtaining a Let's Encrypt SSL certificate for this domain. This process can take some time. Please try again later."
msgstr ""
 
Loading
Loading
@@ -13360,9 +13363,6 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
 
msgid "PackageRegistry|Package installation"
msgstr ""
msgid "PackageRegistry|Registry Setup"
msgstr ""
 
Loading
Loading
@@ -18059,6 +18059,9 @@ msgstr ""
msgid "Specify the following URL during the Runner setup:"
msgstr ""
 
msgid "Speed up your DevOps<br>with GitLab"
msgstr ""
msgid "Squash commit message"
msgstr ""
 
Loading
Loading
Loading
Loading
@@ -359,13 +359,27 @@ describe 'Pipeline', :js do
context 'test tabs' do
let(:pipeline) { create(:ci_pipeline, :with_test_reports, project: project) }
 
it 'shows badge counter in Tests tab' do
before do
visit_pipeline
wait_for_requests
end
 
it 'shows badge counter in Tests tab' do
expect(pipeline.test_reports.total_count).to eq(4)
expect(page.find('.js-test-report-badge-counter').text).to eq(pipeline.test_reports.total_count.to_s)
end
it 'does not call test_report.json endpoint by default', :js do
expect(page).to have_selector('.js-no-tests-to-show', visible: :all)
end
it 'does call test_report.json endpoint when tab is selected', :js do
find('.js-tests-tab-link').click
wait_for_requests
expect(page).to have_content('Test suites')
expect(page).to have_selector('.js-tests-detail', visible: :all)
end
end
 
context 'retrying jobs' do
Loading
Loading
Loading
Loading
@@ -260,25 +260,101 @@
],
"boards": [
{
"id": 56,
"id": 173,
"project_id": null,
"created_at": "2019-11-20T17:27:16.808Z",
"updated_at": "2019-11-20T17:27:16.808Z",
"name": "Development",
"created_at": "2020-02-11T14:35:51.561Z",
"updated_at": "2020-02-11T14:35:51.561Z",
"name": "first board",
"milestone_id": null,
"group_id": 4351,
"weight": null,
"labels": []
},
{
"id": 57,
"project_id": null,
"created_at": "2019-11-20T17:27:41.118Z",
"updated_at": "2019-11-20T17:27:41.118Z",
"name": "Board!",
"milestone_id": 7638,
"group_id": 4351,
"weight": null,
"lists": [
{
"id": 189,
"board_id": 173,
"label_id": 271,
"list_type": "label",
"position": 0,
"created_at": "2020-02-11T14:35:57.131Z",
"updated_at": "2020-02-11T14:35:57.131Z",
"user_id": null,
"milestone_id": null,
"max_issue_count": 0,
"max_issue_weight": 0,
"label": {
"id": 271,
"title": "TSL",
"color": "#58796f",
"project_id": null,
"created_at": "2019-11-20T17:02:20.541Z",
"updated_at": "2020-02-06T15:44:52.048Z",
"template": false,
"description": null,
"group_id": 4351,
"type": "GroupLabel",
"priorities": []
},
"board": {
"id": 173,
"project_id": null,
"created_at": "2020-02-11T14:35:51.561Z",
"updated_at": "2020-02-11T14:35:51.561Z",
"name": "hi",
"milestone_id": null,
"group_id": 4351,
"weight": null
}
},
{
"id": 190,
"board_id": 173,
"label_id": 272,
"list_type": "label",
"position": 1,
"created_at": "2020-02-11T14:35:57.868Z",
"updated_at": "2020-02-11T14:35:57.868Z",
"user_id": null,
"milestone_id": null,
"max_issue_count": 0,
"max_issue_weight": 0,
"label": {
"id": 272,
"title": "Sosync",
"color": "#110320",
"project_id": null,
"created_at": "2019-11-20T17:02:20.532Z",
"updated_at": "2020-02-06T15:44:52.057Z",
"template": false,
"description": null,
"group_id": 4351,
"type": "GroupLabel",
"priorities": []
},
"board": {
"id": 173,
"project_id": null,
"created_at": "2020-02-11T14:35:51.561Z",
"updated_at": "2020-02-11T14:35:51.561Z",
"name": "hi",
"milestone_id": null,
"group_id": 4351,
"weight": null
}
},
{
"id": 188,
"board_id": 173,
"label_id": null,
"list_type": "closed",
"position": null,
"created_at": "2020-02-11T14:35:51.593Z",
"updated_at": "2020-02-11T14:35:51.593Z",
"user_id": null,
"milestone_id": null,
"max_issue_count": 0,
"max_issue_weight": 0
}
],
"labels": []
}
],
Loading
Loading
Loading
Loading
@@ -39,8 +39,18 @@ describe Gitlab::ImportExport::GroupTreeRestorer do
expect(@group.labels.count).to eq(10)
end
 
it 'has issue boards' do
expect(@group.boards.count).to eq(2)
context 'issue boards' do
it 'has issue boards' do
expect(@group.boards.count).to eq(1)
end
it 'has board label lists' do
lists = @group.boards.find_by(name: 'first board').lists
expect(lists.count).to eq(3)
expect(lists.first.label.title).to eq('TSL')
expect(lists.second.label.title).to eq('Sosync')
end
end
 
it 'has badges' do
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