Commit 8fbeec78 authored by GitLab Bot's avatar GitLab Bot

Merge remote-tracking branch 'upstream/master' into ce-to-ee-2018-09-21

# Conflicts:
#	.gitlab-ci.yml
#	app/controllers/omniauth_callbacks_controller.rb

[ci skip]
parents 3d1daf1f 711e9f07
...@@ -434,6 +434,10 @@ cloud-native-image: ...@@ -434,6 +434,10 @@ cloud-native-image:
stage: build stage: build
image: ruby:2.4-alpine image: ruby:2.4-alpine
before_script: [] before_script: []
<<<<<<< HEAD
=======
stage: test
>>>>>>> upstream/master
allow_failure: true allow_failure: true
cache: {} cache: {}
variables: variables:
......
...@@ -259,7 +259,7 @@ export default { ...@@ -259,7 +259,7 @@ export default {
data-toggle="dropdown" data-toggle="dropdown"
aria-label="Select merge moment"> aria-label="Select merge moment">
<i <i
class="fa fa-chevron-down" class="fa fa-chevron-down qa-merge-moment-dropdown"
aria-hidden="true" aria-hidden="true"
></i> ></i>
</button> </button>
...@@ -269,7 +269,7 @@ export default { ...@@ -269,7 +269,7 @@ export default {
role="menu"> role="menu">
<li> <li>
<a <a
class="merge_when_pipeline_succeeds" class="merge_when_pipeline_succeeds qa-merge-when-pipeline-succeeds-option"
href="#" href="#"
@click.prevent="handleMergeButtonClick(true)"> @click.prevent="handleMergeButtonClick(true)">
<span class="media"> <span class="media">
...@@ -283,7 +283,7 @@ export default { ...@@ -283,7 +283,7 @@ export default {
</li> </li>
<li> <li>
<a <a
class="accept-merge-request" class="accept-merge-request qa-merge-immediately-option"
href="#" href="#"
@click.prevent="handleMergeButtonClick(false, true)"> @click.prevent="handleMergeButtonClick(false, true)">
<span class="media"> <span class="media">
......
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
.table-section { .table-section {
white-space: nowrap; white-space: nowrap;
$section-widths: 10 15 20 25 30 40 50 100; $section-widths: 5 10 15 20 25 30 40 50 100;
@each $width in $section-widths { @each $width in $section-widths {
&.section-#{$width} { &.section-#{$width} {
flex: 0 0 #{$width + '%'}; flex: 0 0 #{$width + '%'};
......
...@@ -154,7 +154,11 @@ class OmniauthCallbacksController < Devise::OmniauthCallbacksController ...@@ -154,7 +154,11 @@ class OmniauthCallbacksController < Devise::OmniauthCallbacksController
message << "Create a GitLab account first, and then connect it to your #{label} account." message << "Create a GitLab account first, and then connect it to your #{label} account."
end end
<<<<<<< HEAD
flash[:alert] = message.join(' ') flash[:alert] = message.join(' ')
=======
flash[:notice] = message.join(' ')
>>>>>>> upstream/master
redirect_to new_user_session_path redirect_to new_user_session_path
end end
......
.gl-responsive-table-row{ id: dom_id(runner) } .gl-responsive-table-row{ id: dom_id(runner) }
= render layout: 'runner_table_cell', locals: { label: _('Type') } do .table-section.section-10.section-wrap
- if runner.instance_type? .table-mobile-header{ role: 'rowheader' }= _('Type')
%span.badge.badge-success shared .table-mobile-content
- elsif runner.group_type? - if runner.instance_type?
%span.badge.badge-success group %span.badge.badge-success shared
- else - elsif runner.group_type?
%span.badge.badge-info specific %span.badge.badge-success group
- if runner.locked? - else
%span.badge.badge-warning locked %span.badge.badge-info specific
- unless runner.active? - if runner.locked?
%span.badge.badge-danger paused %span.badge.badge-warning locked
- unless runner.active?
= render layout: 'runner_table_cell', locals: { label: _('Runner token') } do %span.badge.badge-danger paused
= link_to runner.short_sha, admin_runner_path(runner)
.table-section.section-10
= render layout: 'runner_table_cell', locals: { label: _('Description') } do .table-mobile-header{ role: 'rowheader' }= _('Runner token')
= runner.description .table-mobile-content
= link_to runner.short_sha, admin_runner_path(runner)
= render layout: 'runner_table_cell', locals: { label: _('Version') } do
= runner.version .table-section.section-15
.table-mobile-header{ role: 'rowheader' }= _('Description')
= render layout: 'runner_table_cell', locals: { label: _('IP Address') } do .table-mobile-content.str-truncated.has-tooltip{ title: runner.description }
= runner.ip_address = runner.description
= render layout: 'runner_table_cell', locals: { label: _('Projects') } do .table-section.section-15
- if runner.instance_type? || runner.group_type? .table-mobile-header{ role: 'rowheader' }= _('Version')
= _('n/a') .table-mobile-content.str-truncated.has-tooltip{ title: runner.version }
- else = runner.version
= runner.projects.count(:all)
.table-section.section-10
= render layout: 'runner_table_cell', locals: { label: _('Jobs') } do .table-mobile-header{ role: 'rowheader' }= _('IP Address')
= runner.builds.count(:all) .table-mobile-content
= runner.ip_address
= render layout: 'runner_table_cell', locals: { label: _('Tags') } do
- runner.tag_list.sort.each do |tag| .table-section.section-5
%span.badge.badge-primary .table-mobile-header{ role: 'rowheader' }= _('Projects')
= tag .table-mobile-content
- if runner.instance_type? || runner.group_type?
= render layout: 'runner_table_cell', locals: { label: _('Last contact') } do = _('n/a')
- if runner.contacted_at - else
= time_ago_with_tooltip runner.contacted_at = runner.projects.count(:all)
- else
= _('Never') .table-section.section-5
.table-mobile-header{ role: 'rowheader' }= _('Jobs')
.table-mobile-content
= runner.builds.count(:all)
.table-section.section-10.section-wrap
.table-mobile-header{ role: 'rowheader' }= _('Tags')
.table-mobile-content
- runner.tag_list.sort.each do |tag|
%span.badge.badge-primary
= tag
.table-section.section-10
.table-mobile-header{ role: 'rowheader' }= _('Last contact')
.table-mobile-content
- if runner.contacted_at
= time_ago_with_tooltip runner.contacted_at
- else
= _('Never')
.table-section.table-button-footer.section-10 .table-section.table-button-footer.section-10
.btn-group.table-action-buttons .btn-group.table-action-buttons
......
.table-section.section-10
.table-mobile-header{ role: 'rowheader' }= label
.table-mobile-content
= yield
...@@ -98,8 +98,16 @@ ...@@ -98,8 +98,16 @@
.runners-content.content-list .runners-content.content-list
.table-holder .table-holder
.gl-responsive-table-row.table-row-header{ role: 'row' } .gl-responsive-table-row.table-row-header{ role: 'row' }
- [_('Type'), _('Runner token'), _('Description'), _('Version'), _('IP Address'), _('Projects'), _('Jobs'), _('Tags'), _('Last contact')].each do |label| .table-section.section-10{ role: 'rowheader' }= _('Type')
.table-section.section-10{ role: 'rowheader' }= label .table-section.section-10{ role: 'rowheader' }= _('Runner token')
.table-section.section-15{ role: 'rowheader' }= _('Description')
.table-section.section-15{ role: 'rowheader' }= _('Version')
.table-section.section-10{ role: 'rowheader' }= _('IP Address')
.table-section.section-5{ role: 'rowheader' }= _('Projects')
.table-section.section-5{ role: 'rowheader' }= _('Jobs')
.table-section.section-10{ role: 'rowheader' }= _('Tags')
.table-section.section-10{ role: 'rowheader' }= _('Last contact')
.table-section.section-10{ role: 'rowheader' }
- @runners.each do |runner| - @runners.each do |runner|
= render 'admin/runners/runner', runner: runner = render 'admin/runners/runner', runner: runner
......
---
title: Fixes admin runners table not wrapping content
merge_request:
author:
type: fixed
...@@ -127,6 +127,7 @@ The connection settings match those provided by [Fog](https://github.com/fog), a ...@@ -127,6 +127,7 @@ The connection settings match those provided by [Fog](https://github.com/fog), a
| `host` | S3 compatible host for when not using AWS, e.g. `localhost` or `storage.example.com` | s3.amazonaws.com | | `host` | S3 compatible host for when not using AWS, e.g. `localhost` or `storage.example.com` | s3.amazonaws.com |
| `endpoint` | Can be used when configuring an S3 compatible service such as [Minio](https://www.minio.io), by entering a URL such as `http://127.0.0.1:9000` | (optional) | | `endpoint` | Can be used when configuring an S3 compatible service such as [Minio](https://www.minio.io), by entering a URL such as `http://127.0.0.1:9000` | (optional) |
| `path_style` | Set to true to use `host/bucket_name/object` style paths instead of `bucket_name.host/object`. Leave as false for AWS S3 | false | | `path_style` | Set to true to use `host/bucket_name/object` style paths instead of `bucket_name.host/object`. Leave as false for AWS S3 | false |
| `use_iam_profile` | Set to true to use IAM profile instead of access keys | false
**In Omnibus installations:** **In Omnibus installations:**
......
...@@ -86,6 +86,7 @@ The connection settings match those provided by [Fog](https://github.com/fog), a ...@@ -86,6 +86,7 @@ The connection settings match those provided by [Fog](https://github.com/fog), a
| `host` | S3 compatible host for when not using AWS, e.g. `localhost` or `storage.example.com` | s3.amazonaws.com | | `host` | S3 compatible host for when not using AWS, e.g. `localhost` or `storage.example.com` | s3.amazonaws.com |
| `endpoint` | Can be used when configuring an S3 compatible service such as [Minio](https://www.minio.io), by entering a URL such as `http://127.0.0.1:9000` | (optional) | | `endpoint` | Can be used when configuring an S3 compatible service such as [Minio](https://www.minio.io), by entering a URL such as `http://127.0.0.1:9000` | (optional) |
| `path_style` | Set to true to use `host/bucket_name/object` style paths instead of `bucket_name.host/object`. Leave as false for AWS S3 | false | | `path_style` | Set to true to use `host/bucket_name/object` style paths instead of `bucket_name.host/object`. Leave as false for AWS S3 | false |
| `use_iam_profile` | Set to true to use IAM profile instead of access keys | false
**In Omnibus installations:** **In Omnibus installations:**
......
...@@ -82,6 +82,14 @@ You can turn this off in the webhook settings in your GitLab projects. ...@@ -82,6 +82,14 @@ You can turn this off in the webhook settings in your GitLab projects.
![SSL Verification](img/webhooks_ssl.png) ![SSL Verification](img/webhooks_ssl.png)
## Branch filtering
> [Introduced](https://gitlab.com/gitlab-org/gitlab-ce/issues/20338) in GitLab 11.3.
Push events can be filtered by branch using a branch name or wildcard pattern
to limit which push events are sent to your webhook endpoint. By default the
field is blank causing all push events to be sent to your webhook endpoint.
## Events ## Events
Below are described the supported events. Below are described the supported events.
......
...@@ -40,11 +40,6 @@ support Markdown, RDoc and AsciiDoc. For Markdown based pages, all the ...@@ -40,11 +40,6 @@ support Markdown, RDoc and AsciiDoc. For Markdown based pages, all the
[Markdown features](../../markdown.md) are supported and for links there is [Markdown features](../../markdown.md) are supported and for links there is
some [wiki specific](../../markdown.md#wiki-specific-markdown) behavior. some [wiki specific](../../markdown.md#wiki-specific-markdown) behavior.
>**Note:**
The wiki is based on a Git repository and contains only text files. Uploading
files via the web interface will upload them in GitLab itself, and they will
not be available if you clone the wiki repo locally.
In the web interface the commit message is optional, but the GitLab Wiki is In the web interface the commit message is optional, but the GitLab Wiki is
based on Git and needs a commit message, so one will be created for you if you based on Git and needs a commit message, so one will be created for you if you
do not enter one. do not enter one.
...@@ -53,6 +48,14 @@ When you're ready, click the **Create page** and the new page will be created. ...@@ -53,6 +48,14 @@ When you're ready, click the **Create page** and the new page will be created.
![New page](img/wiki_create_new_page.png) ![New page](img/wiki_create_new_page.png)
> [Introduced](https://gitlab.com/gitlab-org/gitlab-ce/issues/33475) in GitLab 11.3.
Starting with GitLab 11.3, any file that is uploaded to the wiki via GitLab's
interface will be stored in the wiki Git repository, and it will be available
if you clone the wiki repository locally. All uploaded files prior to GitLab
11.3 are stored in GitLab itself. If you want them to be part of the wiki's Git
repository, you will have to upload them again.
## Editing a wiki page ## Editing a wiki page
To edit a page, simply click on the **Edit** button. From there on, you can To edit a page, simply click on the **Edit** button. From there on, you can
......
...@@ -95,6 +95,7 @@ Here is a configuration example with S3. ...@@ -95,6 +95,7 @@ Here is a configuration example with S3.
| `host` | S3 compatible host for when not using AWS, e.g. `localhost` or `storage.example.com` | s3.amazonaws.com | | `host` | S3 compatible host for when not using AWS, e.g. `localhost` or `storage.example.com` | s3.amazonaws.com |
| `endpoint` | Can be used when configuring an S3 compatible service such as [Minio](https://www.minio.io), by entering a URL such as `http://127.0.0.1:9000` | (optional) | | `endpoint` | Can be used when configuring an S3 compatible service such as [Minio](https://www.minio.io), by entering a URL such as `http://127.0.0.1:9000` | (optional) |
| `path_style` | Set to true to use `host/bucket_name/object` style paths instead of `bucket_name.host/object`. Leave as false for AWS S3 | false | | `path_style` | Set to true to use `host/bucket_name/object` style paths instead of `bucket_name.host/object`. Leave as false for AWS S3 | false |
| `use_iam_profile` | Set to true to use IAM profile instead of access keys | false
Here is a configuration example with GCS. Here is a configuration example with GCS.
......
...@@ -7,6 +7,9 @@ module QA ...@@ -7,6 +7,9 @@ module QA
view 'app/assets/javascripts/vue_merge_request_widget/components/states/ready_to_merge.vue' do view 'app/assets/javascripts/vue_merge_request_widget/components/states/ready_to_merge.vue' do
element :merge_button element :merge_button
element :fast_forward_message, 'Fast-forward merge without a merge commit' element :fast_forward_message, 'Fast-forward merge without a merge commit'
element :merge_moment_dropdown
element :merge_when_pipeline_succeeds_option
element :merge_immediately_option
end end
view 'app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_merged.vue' do view 'app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_merged.vue' do
...@@ -29,7 +32,20 @@ module QA ...@@ -29,7 +32,20 @@ module QA
def has_merge_button? def has_merge_button?
refresh refresh
has_selector?('.accept-merge-request') has_css?(element_selector_css(:merge_button))
end
def has_merge_options?
has_css?(element_selector_css(:merge_moment_dropdown))
end
def merge_immediately
if has_merge_options?
click_element :merge_moment_dropdown
click_element :merge_immediately_option
else
click_element :merge_button
end
end end
def rebase! def rebase!
...@@ -61,7 +77,7 @@ module QA ...@@ -61,7 +77,7 @@ module QA
!first(element_selector_css(:merge_button)).disabled? !first(element_selector_css(:merge_button)).disabled?
end end
click_element :merge_button merge_immediately
wait(reload: false) do wait(reload: false) do
has_text?('The changes were merged into') has_text?('The changes were merged into')
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment