summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShinya Maeda <shinya@gitlab.com>2018-05-10 14:30:45 +0900
committerShinya Maeda <shinya@gitlab.com>2018-05-10 14:30:45 +0900
commit40e17727c72904d947b2c281918e4dad71656f62 (patch)
tree5a6658adf044f09effb9591837d472c822db7d78
parent7622f5ab079a16458f6e4583901060689734fe0e (diff)
parent93498185a762e4226c1838d3ea1dd2f2c018e339 (diff)
downloadgitlab-ce-40e17727c72904d947b2c281918e4dad71656f62.tar.gz
Merge branch 'master' into per-project-pipeline-iid
-rw-r--r--Gemfile3
-rw-r--r--Gemfile.lock3
-rw-r--r--app/assets/javascripts/cycle_analytics/cycle_analytics_bundle.js2
-rw-r--r--app/assets/javascripts/cycle_analytics/cycle_analytics_service.js30
-rw-r--r--app/assets/javascripts/deploy_keys/service/index.js33
-rw-r--r--app/assets/javascripts/ide/lib/common/model.js6
-rw-r--r--app/assets/javascripts/ide/stores/actions/file.js2
-rw-r--r--app/assets/stylesheets/print.scss8
-rw-r--r--app/controllers/import/base_controller.rb6
-rw-r--r--app/models/ci/runner.rb1
-rw-r--r--app/models/clusters/applications/runner.rb10
-rw-r--r--app/models/repository.rb10
-rw-r--r--app/views/groups/runners/_group_runners.html.haml2
-rw-r--r--app/views/groups/runners/edit.html.haml2
-rw-r--r--app/views/projects/runners/_group_runners.html.haml4
-rw-r--r--app/views/projects/runners/_shared_runners.html.haml6
-rw-r--r--app/views/projects/runners/_specific_runners.html.haml3
-rw-r--r--app/views/projects/runners/edit.html.haml2
-rw-r--r--app/views/shared/runners/_form.html.haml4
-rw-r--r--app/views/shared/runners/show.html.haml14
-rw-r--r--changelogs/unreleased/23465-print-markdown.yml5
-rw-r--r--changelogs/unreleased/blackst0ne-replace-spinach-project-deploy-keys-feature.yml5
-rw-r--r--changelogs/unreleased/blackst0ne-replace-spinach-project-issues-references-feature.yml5
-rw-r--r--changelogs/unreleased/fix-project-mirror-data-schema.yml6
-rw-r--r--changelogs/unreleased/support-active-setting-while-registering-a-runner.yml5
-rw-r--r--db/migrate/20140313092127_init_schema.rb2
-rw-r--r--db/migrate/20180420010616_cleanup_build_stage_migration.rb35
-rw-r--r--db/migrate/20180508100222_add_not_null_constraint_to_project_mirror_data_foreign_key.rb21
-rw-r--r--db/migrate/20180508102840_add_unique_constraint_to_project_mirror_data_project_id_index.rb31
-rw-r--r--db/migrate/20180508135515_set_runner_type_not_null.rb9
-rw-r--r--db/schema.rb9
-rw-r--r--doc/README.md1
-rw-r--r--doc/administration/external_database.md17
-rw-r--r--doc/administration/index.md4
-rw-r--r--doc/administration/pages/index.md8
-rw-r--r--doc/administration/raketasks/project_import_export.md2
-rw-r--r--doc/articles/openshift_and_gitlab/index.md5
-rw-r--r--doc/ci/README.md1
-rw-r--r--doc/ci/examples/container_scanning.md2
-rw-r--r--doc/ci/runners/README.md17
-rw-r--r--doc/ci/services/docker-services.md8
-rw-r--r--doc/ci/yaml/README.md18
-rw-r--r--doc/container_registry/README.md2
-rw-r--r--doc/customization/issue_closing.md7
-rw-r--r--doc/development/README.md1
-rw-r--r--doc/development/doc_styleguide.md118
-rw-r--r--doc/development/writing_documentation.md17
-rw-r--r--doc/install/README.md1
-rw-r--r--doc/install/azure/index.md5
-rw-r--r--doc/install/docker.md2
-rw-r--r--doc/install/google_cloud_platform/index.md4
-rw-r--r--doc/install/kubernetes/index.md6
-rw-r--r--doc/install/openshift_and_gitlab/index.md2
-rw-r--r--doc/legal/README.md3
-rw-r--r--doc/legal/corporate_contributor_license_agreement.md5
-rw-r--r--doc/legal/individual_contributor_license_agreement.md5
-rw-r--r--doc/raketasks/features.md2
-rw-r--r--doc/raketasks/web_hooks.md2
-rw-r--r--doc/topics/git/how_to_install_git/index.md1
-rw-r--r--doc/university/training/gitlab_flow.md30
-rw-r--r--doc/university/training/topics/gitlab_flow.md56
-rw-r--r--doc/university/training/topics/merge_requests.md2
-rw-r--r--doc/user/admin_area/labels.md2
-rw-r--r--doc/user/group/index.md20
-rw-r--r--doc/user/index.md4
-rw-r--r--doc/user/permissions.md4
-rw-r--r--doc/user/project/pages/index.md4
-rw-r--r--doc/user/project/pages/introduction.md6
-rw-r--r--doc/user/project/settings/import_export.md1
-rw-r--r--doc/workflow/protected_branches.md2
-rw-r--r--features/project/deploy_keys.feature46
-rw-r--r--features/project/issues/references.feature33
-rw-r--r--features/steps/project/deploy_keys.rb94
-rw-r--r--features/steps/shared/issuable.rb28
-rw-r--r--features/steps/shared/paths.rb4
-rw-r--r--lib/api/runner.rb3
-rw-r--r--lib/gitlab/file_detector.rb1
-rw-r--r--lib/gitlab/git/blame.rb10
-rw-r--r--locale/gitlab.pot130
-rw-r--r--package.json2
-rw-r--r--spec/factories/ci/runners.rb2
-rw-r--r--spec/features/issuables/markdown_references/internal_references_spec.rb80
-rw-r--r--spec/features/issuables/markdown_references/jira_spec.rb187
-rw-r--r--spec/features/issuables/markdown_references_spec.rb193
-rw-r--r--spec/features/projects/settings/user_interacts_with_deploy_keys_spec.rb125
-rw-r--r--spec/helpers/projects_helper_spec.rb2
-rw-r--r--spec/javascripts/deploy_keys/components/app_spec.js23
-rw-r--r--spec/javascripts/ide/lib/common/model_spec.js4
-rw-r--r--spec/javascripts/ide/stores/actions/file_spec.js16
-rw-r--r--spec/migrations/add_not_null_constraint_to_project_mirror_data_foreign_key_spec.rb18
-rw-r--r--spec/models/ci/runner_spec.rb1
-rw-r--r--spec/models/clusters/applications/runner_spec.rb3
-rw-r--r--spec/models/repository_spec.rb33
-rw-r--r--spec/requests/api/runner_spec.rb23
-rw-r--r--vendor/gitignore/Global/JetBrains.gitignore3
-rw-r--r--vendor/gitignore/Global/Vim.gitignore2
-rw-r--r--vendor/gitignore/Java.gitignore1
-rw-r--r--vendor/gitignore/Objective-C.gitignore2
-rw-r--r--vendor/gitignore/Swift.gitignore2
-rw-r--r--vendor/gitignore/TeX.gitignore6
-rw-r--r--vendor/gitignore/Unity.gitignore3
-rw-r--r--vendor/gitignore/VisualStudio.gitignore1
-rw-r--r--vendor/gitlab-ci-yml/Chef.gitlab-ci.yml2
-rw-r--r--vendor/gitlab-ci-yml/Docker.gitlab-ci.yml2
-rw-r--r--vendor/gitlab-ci-yml/Maven.gitlab-ci.yml2
-rw-r--r--vendor/gitlab-ci-yml/Swift.gitlab-ci.yml16
-rw-r--r--vendor/licenses.csv396
-rw-r--r--yarn.lock31
108 files changed, 1348 insertions, 863 deletions
diff --git a/Gemfile b/Gemfile
index bf7489e8ae0..2df14c032ed 100644
--- a/Gemfile
+++ b/Gemfile
@@ -218,9 +218,6 @@ gem 'ruby-fogbugz', '~> 0.2.1'
# Kubernetes integration
gem 'kubeclient', '~> 3.0'
-# d3
-gem 'd3_rails', '~> 3.5.0'
-
# Sanitize user input
gem 'sanitize', '~> 2.0'
gem 'babosa', '~> 1.0.2'
diff --git a/Gemfile.lock b/Gemfile.lock
index 50800af9437..ee28465decd 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -147,8 +147,6 @@ GEM
creole (0.5.0)
css_parser (1.5.0)
addressable
- d3_rails (3.5.11)
- railties (>= 3.1.0)
daemons (1.2.3)
database_cleaner (1.5.3)
debug_inspector (0.0.2)
@@ -1024,7 +1022,6 @@ DEPENDENCIES
concurrent-ruby (~> 1.0.5)
connection_pool (~> 2.0)
creole (~> 0.5.0)
- d3_rails (~> 3.5.0)
database_cleaner (~> 1.5.0)
deckar01-task_list (= 2.0.0)
default_value_for (~> 3.0.0)
diff --git a/app/assets/javascripts/cycle_analytics/cycle_analytics_bundle.js b/app/assets/javascripts/cycle_analytics/cycle_analytics_bundle.js
index 87f8854f940..1c43fc3cdc7 100644
--- a/app/assets/javascripts/cycle_analytics/cycle_analytics_bundle.js
+++ b/app/assets/javascripts/cycle_analytics/cycle_analytics_bundle.js
@@ -82,7 +82,6 @@ export default () => {
this.service
.fetchCycleAnalyticsData(fetchOptions)
- .then(resp => resp.json())
.then((response) => {
this.store.setCycleAnalyticsData(response);
this.selectDefaultStage();
@@ -116,7 +115,6 @@ export default () => {
stage,
startDate: this.startDate,
})
- .then(resp => resp.json())
.then((response) => {
this.isEmptyStage = !response.events.length;
this.store.setStageEvents(response.events, stage);
diff --git a/app/assets/javascripts/cycle_analytics/cycle_analytics_service.js b/app/assets/javascripts/cycle_analytics/cycle_analytics_service.js
index f496c38208d..4cf416c50e5 100644
--- a/app/assets/javascripts/cycle_analytics/cycle_analytics_service.js
+++ b/app/assets/javascripts/cycle_analytics/cycle_analytics_service.js
@@ -1,16 +1,20 @@
-import Vue from 'vue';
-import VueResource from 'vue-resource';
-
-Vue.use(VueResource);
+import axios from '~/lib/utils/axios_utils';
export default class CycleAnalyticsService {
constructor(options) {
- this.requestPath = options.requestPath;
- this.cycleAnalytics = Vue.resource(this.requestPath);
+ this.axios = axios.create({
+ baseURL: options.requestPath,
+ });
}
fetchCycleAnalyticsData(options = { startDate: 30 }) {
- return this.cycleAnalytics.get({ cycle_analytics: { start_date: options.startDate } });
+ return this.axios
+ .get('', {
+ params: {
+ 'cycle_analytics[start_date]': options.startDate,
+ },
+ })
+ .then(x => x.data);
}
fetchStageData(options) {
@@ -19,12 +23,12 @@ export default class CycleAnalyticsService {
startDate,
} = options;
- return Vue.http.get(`${this.requestPath}/events/${stage.name}.json`, {
- params: {
- cycle_analytics: {
- start_date: startDate,
+ return this.axios
+ .get(`events/${stage.name}.json`, {
+ params: {
+ 'cycle_analytics[start_date]': startDate,
},
- },
- });
+ })
+ .then(x => x.data);
}
}
diff --git a/app/assets/javascripts/deploy_keys/service/index.js b/app/assets/javascripts/deploy_keys/service/index.js
index 194e95e4fca..9dc3b21f6f6 100644
--- a/app/assets/javascripts/deploy_keys/service/index.js
+++ b/app/assets/javascripts/deploy_keys/service/index.js
@@ -1,37 +1,24 @@
-import Vue from 'vue';
-import VueResource from 'vue-resource';
-
-Vue.use(VueResource);
+import axios from '~/lib/utils/axios_utils';
export default class DeployKeysService {
constructor(endpoint) {
- this.endpoint = endpoint;
-
- this.resource = Vue.resource(
- `${this.endpoint}{/id}`,
- {},
- {
- enable: {
- method: 'PUT',
- url: `${this.endpoint}{/id}/enable`,
- },
- disable: {
- method: 'PUT',
- url: `${this.endpoint}{/id}/disable`,
- },
- },
- );
+ this.axios = axios.create({
+ baseURL: endpoint,
+ });
}
getKeys() {
- return this.resource.get().then(response => response.json());
+ return this.axios.get()
+ .then(response => response.data);
}
enableKey(id) {
- return this.resource.enable({ id }, {});
+ return this.axios.put(`${id}/enable`)
+ .then(response => response.data);
}
disableKey(id) {
- return this.resource.disable({ id }, {});
+ return this.axios.put(`${id}/disable`)
+ .then(response => response.data);
}
}
diff --git a/app/assets/javascripts/ide/lib/common/model.js b/app/assets/javascripts/ide/lib/common/model.js
index 016dcda1fa1..b1e43a1e38c 100644
--- a/app/assets/javascripts/ide/lib/common/model.js
+++ b/app/assets/javascripts/ide/lib/common/model.js
@@ -14,12 +14,12 @@ export default class Model {
(this.originalModel = this.monaco.editor.createModel(
head ? head.content : this.file.raw,
undefined,
- new this.monaco.Uri(null, null, `original/${this.file.key}`),
+ new this.monaco.Uri(null, null, `original/${this.path}`),
)),
(this.model = this.monaco.editor.createModel(
this.content,
undefined,
- new this.monaco.Uri(null, null, this.file.key),
+ new this.monaco.Uri(null, null, this.path),
)),
);
if (this.file.mrChange) {
@@ -27,7 +27,7 @@ export default class Model {
(this.baseModel = this.monaco.editor.createModel(
this.file.baseRaw,
undefined,
- new this.monaco.Uri(null, null, `target/${this.file.path}`),
+ new this.monaco.Uri(null, null, `target/${this.path}`),
)),
);
}
diff --git a/app/assets/javascripts/ide/stores/actions/file.js b/app/assets/javascripts/ide/stores/actions/file.js
index 3ac9b9222ca..b6baa693104 100644
--- a/app/assets/javascripts/ide/stores/actions/file.js
+++ b/app/assets/javascripts/ide/stores/actions/file.js
@@ -196,6 +196,8 @@ export const unstageChange = ({ commit }, path) => {
};
export const openPendingTab = ({ commit, getters, dispatch, state }, { file, keyPrefix }) => {
+ if (getters.activeFile && getters.activeFile.key === `${keyPrefix}-${file.key}`) return false;
+
state.openFiles.forEach(f => eventHub.$emit(`editor.update.model.dispose.${f.key}`));
commit(types.ADD_PENDING_TAB, { file, keyPrefix });
diff --git a/app/assets/stylesheets/print.scss b/app/assets/stylesheets/print.scss
index b07a5ae22cd..90ccd4abd90 100644
--- a/app/assets/stylesheets/print.scss
+++ b/app/assets/stylesheets/print.scss
@@ -36,7 +36,9 @@ ul.notes-form,
.gutter-toggle,
.issuable-details .content-block-small,
.edit-link,
-.note-action-button {
+.note-action-button,
+.right-sidebar,
+.flash-container {
display: none !important;
}
@@ -53,3 +55,7 @@ pre {
.right-sidebar {
top: 0;
}
+
+a[href]::after {
+ content: none !important;
+}
diff --git a/app/controllers/import/base_controller.rb b/app/controllers/import/base_controller.rb
index bcb856ce3f4..663269a0f92 100644
--- a/app/controllers/import/base_controller.rb
+++ b/app/controllers/import/base_controller.rb
@@ -7,9 +7,9 @@ class Import::BaseController < ApplicationController
def find_jobs(import_type)
current_user.created_projects
- .includes(:import_state)
- .where(import_type: import_type)
- .to_json(only: [:id], methods: [:import_status])
+ .includes(:import_state)
+ .where(import_type: import_type)
+ .to_json(only: [:id], methods: [:import_status])
end
def find_or_create_namespace(names, owner)
diff --git a/app/models/ci/runner.rb b/app/models/ci/runner.rb
index 23078f1c3ed..ed8b30dae49 100644
--- a/app/models/ci/runner.rb
+++ b/app/models/ci/runner.rb
@@ -58,6 +58,7 @@ module Ci
validate :tag_constraints
validate :either_projects_or_group
validates :access_level, presence: true
+ validates :runner_type, presence: true
acts_as_taggable
diff --git a/app/models/clusters/applications/runner.rb b/app/models/clusters/applications/runner.rb
index 16efe90fa27..b881b4eaf36 100644
--- a/app/models/clusters/applications/runner.rb
+++ b/app/models/clusters/applications/runner.rb
@@ -43,12 +43,20 @@ module Clusters
def create_and_assign_runner
transaction do
- project.runners.create!(name: 'kubernetes-cluster', tag_list: %w(kubernetes cluster)).tap do |runner|
+ project.runners.create!(runner_create_params).tap do |runner|
update!(runner_id: runner.id)
end
end
end
+ def runner_create_params
+ {
+ name: 'kubernetes-cluster',
+ runner_type: :project_type,
+ tag_list: %w(kubernetes cluster)
+ }
+ end
+
def gitlab_url
Gitlab::Routing.url_helpers.root_url(only_path: false)
end
diff --git a/app/models/repository.rb b/app/models/repository.rb
index b75c4aca982..44c6bff6b66 100644
--- a/app/models/repository.rb
+++ b/app/models/repository.rb
@@ -37,7 +37,7 @@ class Repository
changelog license_blob license_key gitignore koding_yml
gitlab_ci_yml branch_names tag_names branch_count
tag_count avatar exists? root_ref has_visible_content?
- issue_template_names merge_request_template_names).freeze
+ issue_template_names merge_request_template_names xcode_project?).freeze
# Methods that use cache_method but only memoize the value
MEMOIZED_CACHED_METHODS = %i(license).freeze
@@ -55,7 +55,8 @@ class Repository
gitlab_ci: :gitlab_ci_yml,
avatar: :avatar,
issue_template: :issue_template_names,
- merge_request_template: :merge_request_template_names
+ merge_request_template: :merge_request_template_names,
+ xcode_config: :xcode_project?
}.freeze
def initialize(full_path, project, disk_path: nil, is_wiki: false)
@@ -594,6 +595,11 @@ class Repository
end
cache_method :gitlab_ci_yml
+ def xcode_project?
+ file_on_head(:xcode_config).present?
+ end
+ cache_method :xcode_project?
+
def head_commit
@head_commit ||= commit(self.root_ref)
end
diff --git a/app/views/groups/runners/_group_runners.html.haml b/app/views/groups/runners/_group_runners.html.haml
index 1f9b43e8727..e6c089c3494 100644
--- a/app/views/groups/runners/_group_runners.html.haml
+++ b/app/views/groups/runners/_group_runners.html.haml
@@ -1,4 +1,4 @@
-- link = link_to 'Runners API', help_page_path('api/runners.md')
+- link = link_to _('Runners API'), help_page_path('api/runners.md')
%h3
= _('Group Runners')
diff --git a/app/views/groups/runners/edit.html.haml b/app/views/groups/runners/edit.html.haml
index d4993d9c235..fcd096eeaa0 100644
--- a/app/views/groups/runners/edit.html.haml
+++ b/app/views/groups/runners/edit.html.haml
@@ -1,4 +1,4 @@
-- page_title "Edit", "#{@runner.description} ##{@runner.id}", "Runners"
+- page_title _('Edit'), "#{@runner.description} ##{@runner.id}", 'Runners'
%h4 Runner ##{@runner.id}
diff --git a/app/views/projects/runners/_group_runners.html.haml b/app/views/projects/runners/_group_runners.html.haml
index ec8011182de..dfed0553f84 100644
--- a/app/views/projects/runners/_group_runners.html.haml
+++ b/app/views/projects/runners/_group_runners.html.haml
@@ -1,4 +1,4 @@
-- link = link_to 'Runners API', help_page_path('api/runners.md')
+- link = link_to _('Runners API'), help_page_path('api/runners.md')
%h3
= _('Group Runners')
@@ -25,7 +25,7 @@
= _('This group does not provide any group Runners yet.')
- if can?(current_user, :admin_pipeline, @project.group)
- - group_link = link_to 'Group CI/CD settings', group_settings_ci_cd_path(@project.group)
+ - group_link = link_to _('Group CI/CD settings'), group_settings_ci_cd_path(@project.group)
= _('Group masters can register group runners in the %{link}').html_safe % { link: group_link }
- else
= _('Ask your group master to setup a group Runner.')
diff --git a/app/views/projects/runners/_shared_runners.html.haml b/app/views/projects/runners/_shared_runners.html.haml
index 969efdb2560..20a5ef039f8 100644
--- a/app/views/projects/runners/_shared_runners.html.haml
+++ b/app/views/projects/runners/_shared_runners.html.haml
@@ -1,4 +1,5 @@
-%h3 Shared Runners
+%h3
+ = _('Shared Runners')
.bs-callout.shared-runners-description
- if Gitlab::CurrentSettings.shared_runners_text.present?
@@ -17,8 +18,7 @@
&nbsp; for this project
- if @shared_runners_count.zero?
- This GitLab instance does not provide any shared Runners yet. Instance
- administrators can register shared Runners in the admin area.
+ = _('This GitLab instance does not provide any shared Runners yet. Instance administrators can register shared Runners in the admin area.')
- else
%h4.underlined-title Available shared Runners : #{@shared_runners_count}
%ul.bordered-list.available-shared-runners
diff --git a/app/views/projects/runners/_specific_runners.html.haml b/app/views/projects/runners/_specific_runners.html.haml
index f0813e56b71..6c11ce3b394 100644
--- a/app/views/projects/runners/_specific_runners.html.haml
+++ b/app/views/projects/runners/_specific_runners.html.haml
@@ -1,4 +1,5 @@
-%h3 Specific Runners
+%h3
+ = _('Specific Runners')
= render partial: 'ci/runner/how_to_setup_specific_runner',
locals: { registration_token: @project.runners_token }
diff --git a/app/views/projects/runners/edit.html.haml b/app/views/projects/runners/edit.html.haml
index 56eb526bfd5..d59f9c19862 100644
--- a/app/views/projects/runners/edit.html.haml
+++ b/app/views/projects/runners/edit.html.haml
@@ -1,4 +1,4 @@
-- page_title "Edit", "#{@runner.description} ##{@runner.id}", "Runners"
+- page_title _('Edit'), "#{@runner.description} ##{@runner.id}", 'Runners'
%h4 Runner ##{@runner.id}
diff --git a/app/views/shared/runners/_form.html.haml b/app/views/shared/runners/_form.html.haml
index a995c355bd8..302a543cf12 100644
--- a/app/views/shared/runners/_form.html.haml
+++ b/app/views/shared/runners/_form.html.haml
@@ -20,11 +20,11 @@
%span.light Indicates whether this runner can pick jobs without tags
- unless runner.group_type?
.form-group
- = label :locked, 'Lock to current projects', class: 'control-label'
+ = label :locked, _('Lock to current projects'), class: 'control-label'
.col-sm-10
.checkbox
= f.check_box :locked
- %span.light When a runner is locked, it cannot be assigned to other projects
+ %span.light= _('When a runner is locked, it cannot be assigned to other projects')
.form-group
= label_tag :token, class: 'control-label' do
Token
diff --git a/app/views/shared/runners/show.html.haml b/app/views/shared/runners/show.html.haml
index 1265305608c..480a224b6d5 100644
--- a/app/views/shared/runners/show.html.haml
+++ b/app/views/shared/runners/show.html.haml
@@ -21,17 +21,17 @@
%th Value
%tr
%td Active
- %td= @runner.active? ? 'Yes' : 'No'
+ %td= @runner.active? ? _('Yes') : _('No')
%tr
%td Protected
- %td= @runner.ref_protected? ? 'Yes' : 'No'
+ %td= @runner.ref_protected? ? _('Yes') : _('No')
%tr
- %td Can run untagged jobs
- %td= @runner.run_untagged? ? 'Yes' : 'No'
+ %td= _('Can run untagged jobs')
+ %td= @runner.run_untagged? ? _('Yes') : _('No')
- unless @runner.group_type?
%tr
- %td Locked to this project
- %td= @runner.locked? ? 'Yes' : 'No'
+ %td= _('Locked to this project')
+ %td= @runner.locked? ? _('Yes') : _('No')
%tr
%td Tags
%td
@@ -60,7 +60,7 @@
%td Description
%td= @runner.description
%tr
- %td Maximum job timeout
+ %td= _('Maximum job timeout')
%td= @runner.maximum_timeout_human_readable
%tr
%td Last contact
diff --git a/changelogs/unreleased/23465-print-markdown.yml b/changelogs/unreleased/23465-print-markdown.yml
new file mode 100644
index 00000000000..ba950667acc
--- /dev/null
+++ b/changelogs/unreleased/23465-print-markdown.yml
@@ -0,0 +1,5 @@
+---
+title: Fix print styles for markdown pages
+merge_request:
+author:
+type: fixed
diff --git a/changelogs/unreleased/blackst0ne-replace-spinach-project-deploy-keys-feature.yml b/changelogs/unreleased/blackst0ne-replace-spinach-project-deploy-keys-feature.yml
new file mode 100644
index 00000000000..7014de4ece7
--- /dev/null
+++ b/changelogs/unreleased/blackst0ne-replace-spinach-project-deploy-keys-feature.yml
@@ -0,0 +1,5 @@
+---
+title: 'Replace the `project/deploy_keys.feature` spinach test with an rspec analog'
+merge_request: 18796
+author: '@blackst0ne'
+type: other
diff --git a/changelogs/unreleased/blackst0ne-replace-spinach-project-issues-references-feature.yml b/changelogs/unreleased/blackst0ne-replace-spinach-project-issues-references-feature.yml
new file mode 100644
index 00000000000..968a937ca5a
--- /dev/null
+++ b/changelogs/unreleased/blackst0ne-replace-spinach-project-issues-references-feature.yml
@@ -0,0 +1,5 @@
+---
+title: 'Replace the `project/issues/references.feature` spinach test with an rspec analog'
+merge_request: 18769
+author: '@blackst0ne'
+type: other
diff --git a/changelogs/unreleased/fix-project-mirror-data-schema.yml b/changelogs/unreleased/fix-project-mirror-data-schema.yml
new file mode 100644
index 00000000000..107f1fe3b9c
--- /dev/null
+++ b/changelogs/unreleased/fix-project-mirror-data-schema.yml
@@ -0,0 +1,6 @@
+---
+title: Fixes database inconsistencies between Community and Enterprise Edition on
+ import state
+merge_request: 18811
+author:
+type: fixed
diff --git a/changelogs/unreleased/support-active-setting-while-registering-a-runner.yml b/changelogs/unreleased/support-active-setting-while-registering-a-runner.yml
new file mode 100644
index 00000000000..6c378fd450a
--- /dev/null
+++ b/changelogs/unreleased/support-active-setting-while-registering-a-runner.yml
@@ -0,0 +1,5 @@
+---
+title: Add support for 'active' setting on Runner Registration API endpoint
+merge_request: 18848
+author:
+type: changed
diff --git a/db/migrate/20140313092127_init_schema.rb b/db/migrate/20140313092127_init_schema.rb
index e5c3b65fa8d..895298ed4ed 100644
--- a/db/migrate/20140313092127_init_schema.rb
+++ b/db/migrate/20140313092127_init_schema.rb
@@ -1,4 +1,6 @@
class InitSchema < ActiveRecord::Migration
+ DOWNTIME = true
+
def up
create_table "broadcast_messages", force: :cascade do |t|
t.text "message", null: false
diff --git a/db/migrate/20180420010616_cleanup_build_stage_migration.rb b/db/migrate/20180420010616_cleanup_build_stage_migration.rb
index 0342695ec3d..24777294101 100644
--- a/db/migrate/20180420010616_cleanup_build_stage_migration.rb
+++ b/db/migrate/20180420010616_cleanup_build_stage_migration.rb
@@ -2,6 +2,7 @@ class CleanupBuildStageMigration < ActiveRecord::Migration
include Gitlab::Database::MigrationHelpers
DOWNTIME = false
+ TMP_INDEX = 'tmp_id_stage_partial_null_index'.freeze
disable_ddl_transaction!
@@ -13,16 +14,48 @@ class CleanupBuildStageMigration < ActiveRecord::Migration
end
def up
+ disable_statement_timeout
+
+ ##
+ # We steal from the background migrations queue to catch up with the
+ # scheduled migrations set.
+ #
Gitlab::BackgroundMigration.steal('MigrateBuildStage')
+ ##
+ # We add temporary index, to make iteration over batches more performant.
+ # Conditional here is to avoid the need of doing that in a separate
+ # migration file to make this operation idempotent.
+ #
+ unless index_exists_by_name?(:ci_builds, TMP_INDEX)
+ add_concurrent_index(:ci_builds, :id, where: 'stage_id IS NULL', name: TMP_INDEX)
+ end
+
+ ##
+ # We check if there are remaining rows that should be migrated (for example
+ # if Sidekiq / Redis fails / is restarted, what could result in not all
+ # background migrations being executed correctly.
+ #
+ # We migrate remaining rows synchronously in a blocking way, to make sure
+ # that when this migration is done we are confident that all rows are
+ # already migrated.
+ #
Build.where('stage_id IS NULL').each_batch(of: 50) do |batch|
range = batch.pluck('MIN(id)', 'MAX(id)').first
Gitlab::BackgroundMigration::MigrateBuildStage.new.perform(*range)
end
+
+ ##
+ # We remove temporary index, because it is not required during standard
+ # operations and runtime.
+ #
+ remove_concurrent_index_by_name(:ci_builds, TMP_INDEX)
end
def down
- # noop
+ if index_exists_by_name?(:ci_builds, TMP_INDEX)
+ remove_concurrent_index_by_name(:ci_builds, TMP_INDEX)
+ end
end
end
diff --git a/db/migrate/20180508100222_add_not_null_constraint_to_project_mirror_data_foreign_key.rb b/db/migrate/20180508100222_add_not_null_constraint_to_project_mirror_data_foreign_key.rb
new file mode 100644
index 00000000000..82087d15ccb
--- /dev/null
+++ b/db/migrate/20180508100222_add_not_null_constraint_to_project_mirror_data_foreign_key.rb
@@ -0,0 +1,21 @@
+class AddNotNullConstraintToProjectMirrorDataForeignKey < ActiveRecord::Migration
+ include Gitlab::Database::MigrationHelpers
+
+ DOWNTIME = false
+
+ class ProjectImportState < ActiveRecord::Base
+ include EachBatch
+
+ self.table_name = 'project_mirror_data'
+ end
+
+ def up
+ ProjectImportState.where(project_id: nil).delete_all
+
+ change_column_null :project_mirror_data, :project_id, false
+ end
+
+ def down
+ change_column_null :project_mirror_data, :project_id, true
+ end
+end
diff --git a/db/migrate/20180508102840_add_unique_constraint_to_project_mirror_data_project_id_index.rb b/db/migrate/20180508102840_add_unique_constraint_to_project_mirror_data_project_id_index.rb
new file mode 100644
index 00000000000..acb976b52fa
--- /dev/null
+++ b/db/migrate/20180508102840_add_unique_constraint_to_project_mirror_data_project_id_index.rb
@@ -0,0 +1,31 @@
+class AddUniqueConstraintToProjectMirrorDataProjectIdIndex < ActiveRecord::Migration
+ include Gitlab::Database::MigrationHelpers
+
+ DOWNTIME = false
+
+ disable_ddl_transaction!
+
+ def up
+ add_concurrent_index(:project_mirror_data,
+ :project_id,
+ unique: true,
+ name: 'index_project_mirror_data_on_project_id_unique')
+
+ remove_concurrent_index_by_name(:project_mirror_data, 'index_project_mirror_data_on_project_id')
+
+ rename_index(:project_mirror_data,
+ 'index_project_mirror_data_on_project_id_unique',
+ 'index_project_mirror_data_on_project_id')
+ end
+
+ def down
+ rename_index(:project_mirror_data,
+ 'index_project_mirror_data_on_project_id',
+ 'index_project_mirror_data_on_project_id_old')
+
+ add_concurrent_index(:project_mirror_data, :project_id)
+
+ remove_concurrent_index_by_name(:project_mirror_data,
+ 'index_project_mirror_data_on_project_id_old')
+ end
+end
diff --git a/db/migrate/20180508135515_set_runner_type_not_null.rb b/db/migrate/20180508135515_set_runner_type_not_null.rb
new file mode 100644
index 00000000000..dd043ec7179
--- /dev/null
+++ b/db/migrate/20180508135515_set_runner_type_not_null.rb
@@ -0,0 +1,9 @@
+class SetRunnerTypeNotNull < ActiveRecord::Migration
+ include Gitlab::Database::MigrationHelpers
+
+ DOWNTIME = false
+
+ def change
+ change_column_null(:ci_runners, :runner_type, false)
+ end
+end
diff --git a/db/schema.rb b/db/schema.rb
index 2cf6ff3da9f..77492236f72 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -11,7 +11,7 @@
#
# It's strongly recommended that you check this file into your version control system.
-ActiveRecord::Schema.define(version: 20180508055821) do
+ActiveRecord::Schema.define(version: 20180508135515) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@@ -499,7 +499,7 @@ ActiveRecord::Schema.define(version: 20180508055821) do
t.integer "access_level", default: 0, null: false
t.string "ip_address"
t.integer "maximum_timeout"
- t.integer "runner_type", limit: 2
+ t.integer "runner_type", limit: 2, null: false
end
add_index "ci_runners", ["contacted_at"], name: "index_ci_runners_on_contacted_at", using: :btree
@@ -1531,14 +1531,14 @@ ActiveRecord::Schema.define(version: 20180508055821) do
add_index "project_import_data", ["project_id"], name: "index_project_import_data_on_project_id", using: :btree
create_table "project_mirror_data", force: :cascade do |t|
- t.integer "project_id"
+ t.integer "project_id", null: false
t.string "status"
t.string "jid"
t.text "last_error"
end
add_index "project_mirror_data", ["jid"], name: "index_project_mirror_data_on_jid", using: :btree
- add_index "project_mirror_data", ["project_id"], name: "index_project_mirror_data_on_project_id", using: :btree
+ add_index "project_mirror_data", ["project_id"], name: "index_project_mirror_data_on_project_id", unique: true, using: :btree
add_index "project_mirror_data", ["status"], name: "index_project_mirror_data_on_status", using: :btree
create_table "project_statistics", force: :cascade do |t|
@@ -2150,6 +2150,7 @@ ActiveRecord::Schema.define(version: 20180508055821) do
add_foreign_key "ci_build_trace_sections", "ci_builds", column: "build_id", name: "fk_4ebe41f502", on_delete: :cascade
add_foreign_key "ci_build_trace_sections", "projects", on_delete: :cascade
add_foreign_key "ci_builds", "ci_pipelines", column: "auto_canceled_by_id", name: "fk_a2141b1522", on_delete: :nullify
+ add_foreign_key "ci_builds", "ci_pipelines", column: "commit_id", name: "fk_d3130c9a7f", on_delete: :cascade
add_foreign_key "ci_builds", "ci_stages", column: "stage_id", name: "fk_3a9eaa254d", on_delete: :cascade
add_foreign_key "ci_builds", "projects", name: "fk_befce0568a", on_delete: :cascade
add_foreign_key "ci_builds_metadata", "ci_builds", column: "build_id", on_delete: :cascade
diff --git a/doc/README.md b/doc/README.md
index a2e152ce383..c929ba7a59e 100644
--- a/doc/README.md
+++ b/doc/README.md
@@ -1,5 +1,6 @@
---
comments: false
+description: 'Learn how to use and administer GitLab, the most scalable Git-based fully integrated platform for software development.'
---
# GitLab Documentation
diff --git a/doc/administration/external_database.md b/doc/administration/external_database.md
new file mode 100644
index 00000000000..31199f2cdc7
--- /dev/null
+++ b/doc/administration/external_database.md
@@ -0,0 +1,17 @@
+# Configure GitLab using an external PostgreSQL service
+
+If you're hosting GitLab on a cloud provider, you can optionally use a
+managed service for PostgreSQL. For example, AWS offers a managed Relational
+Database Service (RDS) that runs PostgreSQL.
+
+Alternatively, you may opt to manage your own PostgreSQL instance or cluster
+separate from the GitLab Omnibus package.
+
+If you use a cloud-managed service, or provide your own PostgreSQL instance:
+
+1. Setup PostgreSQL according to the
+ [database requirements document](../install/requirements.md#database).
+1. Set up a `gitlab` username with a password of your choice. The `gitlab` user
+ needs privileges to create the `gitlabhq_production` database.
+1. Configure the GitLab application servers with the appropriate details.
+ This step is covered in [Configuring GitLab for HA](high_availability/gitlab.md).
diff --git a/doc/administration/index.md b/doc/administration/index.md
index 5551a04959c..df935095e61 100644
--- a/doc/administration/index.md
+++ b/doc/administration/index.md
@@ -1,3 +1,7 @@
+---
+description: 'Learn how to install, configure, update, and maintain your GitLab instance.'
+---
+
# Administrator documentation **[CORE ONLY]**
Learn how to administer your GitLab instance (Community Edition and
diff --git a/doc/administration/pages/index.md b/doc/administration/pages/index.md
index 9b3b1e48efd..c0221533f13 100644
--- a/doc/administration/pages/index.md
+++ b/doc/administration/pages/index.md
@@ -1,3 +1,7 @@
+---
+description: 'Learn how to administer GitLab Pages.'
+---
+
# GitLab Pages administration
> **Notes:**
@@ -8,8 +12,6 @@
GitLab from source, follow the [Pages source installation document](source.md).
- To learn how to use GitLab Pages, read the [user documentation][pages-userguide].
----
-
This document describes how to set up the _latest_ GitLab Pages feature. Make
sure to read the [changelog](#changelog) if you are upgrading to a new GitLab
version as it may include new features and changes needed to be made in your
@@ -24,8 +26,6 @@ SNI and exposes pages using HTTP2 by default.
You are encouraged to read its [README][pages-readme] to fully understand how
it works.
----
-
In the case of [custom domains](#custom-domains) (but not
[wildcard domains](#wildcard-domains)), the Pages daemon needs to listen on
ports `80` and/or `443`. For that reason, there is some flexibility in the way
diff --git a/doc/administration/raketasks/project_import_export.md b/doc/administration/raketasks/project_import_export.md
index 39b1883375e..ecc4ac6b29b 100644
--- a/doc/administration/raketasks/project_import_export.md
+++ b/doc/administration/raketasks/project_import_export.md
@@ -1,4 +1,4 @@
-# Project import/export
+# Project import/export administration **[CORE ONLY]**
>**Note:**
>
diff --git a/doc/articles/openshift_and_gitlab/index.md b/doc/articles/openshift_and_gitlab/index.md
index b7594cfef7f..76fdb2eb00a 100644
--- a/doc/articles/openshift_and_gitlab/index.md
+++ b/doc/articles/openshift_and_gitlab/index.md
@@ -1 +1,4 @@
-This document was moved to [another location](../../install/openshift_and_gitlab/index.html).
+---
+redirect_to: '../../install/openshift_and_gitlab/index.html'
+---
+
diff --git a/doc/ci/README.md b/doc/ci/README.md
index 6aa0e5885db..8d1d72c2a2b 100644
--- a/doc/ci/README.md
+++ b/doc/ci/README.md
@@ -1,5 +1,6 @@
---
comments: false
+description: "Learn how to use GitLab CI/CD, the GitLab built-in Continuous Integration, Continuous Deployment, and Continuous Delivery toolset to build, test, and deploy your application."
---
# GitLab Continuous Integration (GitLab CI/CD)
diff --git a/doc/ci/examples/container_scanning.md b/doc/ci/examples/container_scanning.md
index eb76521cc02..a9501f6c577 100644
--- a/doc/ci/examples/container_scanning.md
+++ b/doc/ci/examples/container_scanning.md
@@ -23,7 +23,7 @@ sast:container:
- docker:stable-dind
script:
- docker run -d --name db arminc/clair-db:latest
- - docker run -p 6060:6060 --link db:postgres -d --name clair arminc/clair-local-scan:v2.0.1
+ - docker run -p 6060:6060 --link db:postgres -d --name clair --restart on-failure arminc/clair-local-scan:v2.0.1
- apk add -U wget ca-certificates
- docker pull ${CI_APPLICATION_REPOSITORY}:${CI_APPLICATION_TAG}
- wget https://github.com/arminc/clair-scanner/releases/download/v8/clair-scanner_linux_amd64
diff --git a/doc/ci/runners/README.md b/doc/ci/runners/README.md
index 821413900fd..703a7f030ed 100644
--- a/doc/ci/runners/README.md
+++ b/doc/ci/runners/README.md
@@ -11,7 +11,7 @@ Ideally, the GitLab Runner should not be installed on the same machine as GitLab
Read the [requirements documentation](../../install/requirements.md#gitlab-runner)
for more information.
-## Shared vs specific Runners
+## Shared, specific and group Runners
After [installing the Runner][install], you can either register it as shared or
specific. You can only register a shared Runner if you have admin access to
@@ -32,6 +32,9 @@ are:
Runners. For example, if you want to deploy a certain project, you can setup
a specific Runner to have the right credentials for this. The [usage of tags](#using-tags)
may be useful in this case. Specific Runners process jobs using a [FIFO] queue.
+- **Group Runners** are useful when you have multiple projects under one group
+ and would like all projects to have access to a set of Runners. Group Runners
+ process jobs using a [FIFO] queue.
A Runner that is specific only runs for the specified project(s). A shared Runner
can run jobs for every project that has enabled the option **Allow shared Runners**
@@ -66,7 +69,7 @@ Runners to disabled.
## Registering a specific Runner
-Registering a specific can be done in two ways:
+Registering a specific Runner can be done in two ways:
1. Creating a Runner with the project registration token
1. Converting a shared Runner into a specific Runner (one-way, admin only)
@@ -79,6 +82,14 @@ visit the project you want to make the Runner work for in GitLab:
1. Go to **Settings > CI/CD** to obtain the token
1. [Register the Runner][register]
+## Registering a group Runner
+
+Creating a group Runner requires Master permissions for the group. To create a
+group Runner visit the group you want to make the Runner work for in GitLab:
+
+1. Go to **Settings > CI/CD** to obtain the token
+1. [Register the Runner][register]
+
### Making an existing shared Runner specific
If you are an admin on your GitLab instance, you can turn any shared Runner into
@@ -121,7 +132,7 @@ To enable/disable a Runner in your project:
> **Note**:
Consider that if you don't lock your specific Runner to a specific project, any
-user with Master role in you project can assign your runner to another arbitrary
+user with Master role in you project can assign your Runner to another arbitrary
project without requiring your authorization, so use it with caution.
An admin can enable/disable a specific Runner for projects:
diff --git a/doc/ci/services/docker-services.md b/doc/ci/services/docker-services.md
index 787c5e462e4..e5fc7a3c85f 100644
--- a/doc/ci/services/docker-services.md
+++ b/doc/ci/services/docker-services.md
@@ -1,9 +1,3 @@
---
-comments: false
+redirect_to: 'README.md'
---
-
-# GitLab CI Services
-
-- [Using MySQL](mysql.md)
-- [Using PostgreSQL](postgres.md)
-- [Using Redis](redis.md)
diff --git a/doc/ci/yaml/README.md b/doc/ci/yaml/README.md
index fb6d9826d08..2a17a51d7f8 100644
--- a/doc/ci/yaml/README.md
+++ b/doc/ci/yaml/README.md
@@ -738,10 +738,15 @@ cache:
rspec:
script: test
cache:
+ key: rspec
paths:
- binaries/
```
+Note that since cache is shared between jobs, if you're using different
+paths for different jobs, you should also set a different **cache:key**
+otherwise cache content can be overwritten.
+
### `cache:key`
> Introduced in GitLab Runner v1.0.0.
@@ -756,10 +761,9 @@ or any other way that fits your workflow. This way, you can fine tune caching,
allowing you to cache data between different jobs or even different branches.
The `cache:key` variable can use any of the
-[predefined variables](../variables/README.md), and the default key, if not set,
-is `$CI_JOB_NAME-$CI_COMMIT_REF_NAME` which translates as "per-job and
-per-branch". It is the default across the project, therefore everything is
-shared between pipelines and jobs running on the same branch by default.
+[predefined variables](../variables/README.md), and the default key, if not
+set, is just literal `default` which means everything is shared between each
+pipelines and jobs by default, starting from GitLab 9.0.
NOTE: **Note:**
The `cache:key` variable cannot contain the `/` character, or the equivalent
@@ -779,7 +783,7 @@ If you use **Windows Batch** to run your shell scripts you need to replace
```yaml
cache:
- key: "%CI_JOB_STAGE%-%CI_COMMIT_REF_SLUG%"
+ key: "%CI_COMMIT_REF_SLUG%"
paths:
- binaries/
```
@@ -789,7 +793,7 @@ If you use **Windows PowerShell** to run your shell scripts you need to replace
```yaml
cache:
- key: "$env:CI_JOB_STAGE-$env:CI_COMMIT_REF_SLUG"
+ key: "$env:CI_COMMIT_REF_SLUG"
paths:
- binaries/
```
@@ -1572,7 +1576,7 @@ capitalization, the commit will be created but the pipeline will be skipped.
## Validate the .gitlab-ci.yml
Each instance of GitLab CI has an embedded debug tool called Lint, which validates the
-content of your `.gitlab-ci.yml` files. You can find the Lint under the page `ci/lint` of your
+content of your `.gitlab-ci.yml` files. You can find the Lint under the page `ci/lint` of your
project namespace (e.g, `http://gitlab-example.com/gitlab-org/project-123/-/ci/lint`)
## Using reserved keywords
diff --git a/doc/container_registry/README.md b/doc/container_registry/README.md
index fe3e4681ba7..5d2f5edcb18 100644
--- a/doc/container_registry/README.md
+++ b/doc/container_registry/README.md
@@ -1 +1 @@
-This document was moved in [user/project/container_registry](../user/project/container_registry.md).
+This document was moved to [another location](../user/project/container_registry.md).
diff --git a/doc/customization/issue_closing.md b/doc/customization/issue_closing.md
index d14ba6ad522..680c51e7524 100644
--- a/doc/customization/issue_closing.md
+++ b/doc/customization/issue_closing.md
@@ -1,8 +1,3 @@
---
-comments: false
+redirect_to: '../user/project/issues/automatic_issue_closing.md'
---
-
-This document was split into:
-
-- [administration/issue_closing_pattern.md](../administration/issue_closing_pattern.md).
-- [user/project/issues/automatic_issue_closing](../user/project/issues/automatic_issue_closing.md).
diff --git a/doc/development/README.md b/doc/development/README.md
index 32ae86a7150..898c60e96c0 100644
--- a/doc/development/README.md
+++ b/doc/development/README.md
@@ -1,5 +1,6 @@
---
comments: false
+description: 'Learn how to contribute to GitLab.'
---
# GitLab development guides
diff --git a/doc/development/doc_styleguide.md b/doc/development/doc_styleguide.md
index 5da015ca557..5d595c33915 100644
--- a/doc/development/doc_styleguide.md
+++ b/doc/development/doc_styleguide.md
@@ -1,3 +1,7 @@
+---
+description: 'Writing styles, markup, formatting, and reusing regular expressions throughout the GitLab Documentation.'
+---
+
# Documentation style guidelines
The documentation style guide defines the markup structure used in
@@ -21,23 +25,39 @@ Check the GitLab handbook for the [writing styles guidelines](https://about.gitl
- Use [single spaces][] instead of double spaces
- Jump a line between different markups (e.g., after every paragraph, header, list, etc)
- Capitalize "G" and "L" in GitLab
-- Capitalize feature, products, and methods names. E.g.: GitLab Runner, Geo,
-Issue Boards, Git, Prometheus, Continuous Integration.
+- Use sentence case for titles, headings, labels, menu items, and buttons.
+- Use title case when referring to [features](https://about.gitlab.com/features/) or [products](https://about.gitlab.com/pricing/), and methods. Note that some features are also objects (e.g. "Merge Requests" and "merge requests"). E.g.: GitLab Runner, Geo, Issue Boards, Git, Prometheus, Continuous Integration.
## Formatting
+- Use double asterisks (`**`) to mark a word or text in bold (`**bold**`)
+- Use undescore (`_`) for text in italics (`_italic_`)
+- Jump a line between different markups, for example:
+
+ ```md
+ ## Header
+
+ Paragraph.
+
+ - List item
+ - List item
+ ```
+
+### Punctuation
+
+For punctuation rules, please refer to the [GitLab UX guide](https://design.gitlab.com/content/punctuation/).
+
+### Ordered and unordered lists
+
- Use dashes (`-`) for unordered lists instead of asterisks (`*`)
- Use the number one (`1`) for ordered lists
-- Use underscores (`_`) to mark a word or text in italics
-- Use double asterisks (`**`) to mark a word or text in bold
-- When using lists, prefer not to end each item with a period. You can use
- them if there are multiple sentences, just keep the last sentence without
- a period
+- For punctuation in bullet lists, please refer to the [GitLab UX guide](https://design.gitlab.com/content/punctuation/)
## Headings
-- Add only one H1 title in each document, by adding `#` at the beginning of
- it (when using markdown). For subheadings, use `##`, `###` and so on
+- Add **only one H1** in each document, by adding `#` at the beginning of
+ it (when using markdown). The `h1` will be the document `<title>`.
+- For subheadings, use `##`, `###` and so on
- Avoid putting numbers in headings. Numbers shift, hence documentation anchor
links shift too, which eventually leads to dead links. If you think it is
compelling to add numbers in headings, make sure to at least discuss it with
@@ -106,21 +126,75 @@ Inside the document:
- If a heading is placed right after an image, always add three dashes (`---`)
between the image and the heading
-## Notes
+## Alert boxes
-- Notes should be quoted with the word `Note:` being bold. Use this form:
+Whenever you want to call the attention to a particular sentence,
+use the following markup for highlighting.
- ```md
- >**Note:**
- This is something to note.
- ```
+_Note that the alert boxes only work for one paragraph only. Multiple paragraphs,
+lists, headers, etc will not render correctly._
+
+### Note
+
+```md
+NOTE: **Note:**
+This is something to note.
+```
+
+How it renders in docs.gitlab.com:
+
+NOTE: **Note:**
+This is something to note.
+
+### Tip
+
+```md
+TIP: **Tip:**
+This is a tip.
+```
+
+How it renders in docs.gitlab.com:
+
+TIP: **Tip:**
+This is a tip.
+
+### Caution
+
+```md
+CAUTION: **Caution:**
+This is something to be cautious about.
+```
+
+How it renders in docs.gitlab.com:
+
+CAUTION: **Caution:**
+This is something to be cautious about.
+
+### Danger
- which renders to:
+```md
+DANGER: **Danger:**
+This is a breaking change, a bug, or something very important to note.
+```
+
+How it renders in docs.gitlab.com:
- >**Note:**
- This is something to note.
+DANGER: **Danger:**
+This is a breaking change, a bug, or something very important to note.
- If the note spans across multiple lines it's OK to split the line.
+## Blockquotes
+
+For highlighting a text within a blue blockquote, use this format:
+
+```md
+> This is a blockquote.
+```
+
+which renders in docs.gitlab.com to:
+
+> This is a blockquote.
+
+If the text spans across multiple lines it's OK to split the line.
## Specific sections and terms
@@ -137,7 +211,7 @@ below.
> Introduced in GitLab 8.3.
```
-- If possible every feature should have a link to the MR, issue, or epic that introduced it.
+- Whenever possible, every feature should have a link to the MR, issue, or epic that introduced it.
The above note would be then transformed to:
```md
@@ -152,11 +226,9 @@ below.
the feature is available in:
```md
- > [Introduced][ee-1234] in [GitLab Starter](https://about.gitlab.com/products/) 8.3.
+ > [Introduced][ee-1234] in [GitLab Starter](https://about.gitlab.com/pricing/) 8.3.
```
- Otherwise, leave this mention out.
-
### Product badges
When a feature is available in EE-only tiers, add the corresponding tier according to the
diff --git a/doc/development/writing_documentation.md b/doc/development/writing_documentation.md
index 9bca4637830..1c41fc7611f 100644
--- a/doc/development/writing_documentation.md
+++ b/doc/development/writing_documentation.md
@@ -1,3 +1,7 @@
+---
+description: Learn how to contribute to GitLab Documentation.
+---
+
# GitLab Documentation guidelines
- **General Documentation**: written by the [developers responsible by creating features](#contributing-to-docs). Should be submitted in the same merge request containing code. Feature proposals (by GitLab contributors) should also be accompanied by its respective documentation. They can be later improved by PMs and Technical Writers.
@@ -201,6 +205,19 @@ Things to note:
built-in help page, that's why we omit it in `git grep`.
- Use the checklist on the documentation MR description template.
+#### Alternative redirection method
+
+Alternatively to the method described above, you can simply replace the content
+of the old file with a frontmatter containing a redirect link:
+
+```yaml
+---
+redirect_to: '../path/to/file/README.md'
+---
+```
+
+It supports both full and relative URLs, e.g. `https://docs.gitlab.com/ee/path/to/file.html`, `../path/to/file.html`, `path/to/file.md`. Note that any `*.md` paths will be compiled to `*.html`.
+
### Redirections for pages with Disqus comments
If the documentation page being relocated already has any Disqus comments,
diff --git a/doc/install/README.md b/doc/install/README.md
index 5dadf57ea9a..27df03c6ac6 100644
--- a/doc/install/README.md
+++ b/doc/install/README.md
@@ -1,5 +1,6 @@
---
comments: false
+description: Read through the GitLab installation methods.
---
# Installation
diff --git a/doc/install/azure/index.md b/doc/install/azure/index.md
index b0c3ad960bb..21694b02d18 100644
--- a/doc/install/azure/index.md
+++ b/doc/install/azure/index.md
@@ -1,3 +1,8 @@
+---
+description: 'Learn how to spin up a
+pre-configured GitLab VM on Microsoft Azure and have your very own private GitLab instance up and running in around 30 minutes.'
+---
+
# Install GitLab on Microsoft Azure
> _This article was originally written by Dave Wentzel and [published on the GitLab Blog][Original-Blog-Post]._
diff --git a/doc/install/docker.md b/doc/install/docker.md
index 933756072ff..c7dc9db70c5 100644
--- a/doc/install/docker.md
+++ b/doc/install/docker.md
@@ -1,4 +1,4 @@
-# GitLab Docker images
+# Install GitLab with Docker
[Docker](https://www.docker.com) and container technology have been revolutionizing the software world for the past few years. They combine the performance and efficiency of native execution with the abstraction, security, and immutability of virtualization.
diff --git a/doc/install/google_cloud_platform/index.md b/doc/install/google_cloud_platform/index.md
index 2691495e0d4..ab5f7507f24 100644
--- a/doc/install/google_cloud_platform/index.md
+++ b/doc/install/google_cloud_platform/index.md
@@ -1,3 +1,7 @@
+---
+description: 'Learn how to install a GitLab instance on Google Cloud Platform.'
+---
+
# Installing GitLab on Google Cloud Platform
![GCP landing page](img/gcp_landing.png)
diff --git a/doc/install/kubernetes/index.md b/doc/install/kubernetes/index.md
index 7d8b8fc1597..aeaa739edab 100644
--- a/doc/install/kubernetes/index.md
+++ b/doc/install/kubernetes/index.md
@@ -1,4 +1,9 @@
+---
+description: 'Read through the different methods to deploy GitLab on Kubernetes.'
+---
+
# Installing GitLab on Kubernetes
+
> **Note**: These charts have been tested on Google Kubernetes Engine and Azure Container Service. Other Kubernetes installations may work as well, if not please [open an issue](https://gitlab.com/charts/charts.gitlab.io/issues).
The easiest method to deploy GitLab on [Kubernetes](https://kubernetes.io/) is
@@ -16,6 +21,7 @@ should be deployed, upgraded, and configured.
* [Community Contributed Charts](#community-contributed-charts): Community contributed charts, deprecated by the official GitLab chart.
## GitLab-Omnibus Chart (Recommended)
+
> **Note**: This chart is in beta while [additional features](https://gitlab.com/charts/charts.gitlab.io/issues/68) are being added.
This chart is the best available way to operate GitLab on Kubernetes. It deploys and configures nearly all features of GitLab, including: a [Runner](https://docs.gitlab.com/runner/), [Container Registry](../../user/project/container_registry.html#gitlab-container-registry), [Mattermost](https://docs.gitlab.com/omnibus/gitlab-mattermost/), [automatic SSL](https://github.com/kubernetes/charts/tree/master/stable/kube-lego), and a [load balancer](https://github.com/kubernetes/ingress/tree/master/controllers/nginx). It is based on our [GitLab Omnibus Docker Images](https://docs.gitlab.com/omnibus/docker/README.html).
diff --git a/doc/install/openshift_and_gitlab/index.md b/doc/install/openshift_and_gitlab/index.md
index e6ccfccd33f..1ced1fb513d 100644
--- a/doc/install/openshift_and_gitlab/index.md
+++ b/doc/install/openshift_and_gitlab/index.md
@@ -6,7 +6,7 @@ article_type: tutorial
date: 2016-06-28
---
-# Getting started with OpenShift Origin 3 and GitLab
+# How to install GitLab on OpenShift Origin 3
## Introduction
diff --git a/doc/legal/README.md b/doc/legal/README.md
index 6413f1d645f..d991429a652 100644
--- a/doc/legal/README.md
+++ b/doc/legal/README.md
@@ -4,5 +4,4 @@ comments: false
# Legal
-- [Corporate contributor license agreement](corporate_contributor_license_agreement.md)
-- [Individual contributor license agreement](individual_contributor_license_agreement.md)
+Please read through the [GitLab License Agreement](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md).
diff --git a/doc/legal/corporate_contributor_license_agreement.md b/doc/legal/corporate_contributor_license_agreement.md
index ebb24ba0a7f..e5fc7a3c85f 100644
--- a/doc/legal/corporate_contributor_license_agreement.md
+++ b/doc/legal/corporate_contributor_license_agreement.md
@@ -1,2 +1,3 @@
-This document has been replaced by a Developer Certificate of Origin and License,
-as described in [Contributing.md](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md). \ No newline at end of file
+---
+redirect_to: 'README.md'
+---
diff --git a/doc/legal/individual_contributor_license_agreement.md b/doc/legal/individual_contributor_license_agreement.md
index ebb24ba0a7f..e5fc7a3c85f 100644
--- a/doc/legal/individual_contributor_license_agreement.md
+++ b/doc/legal/individual_contributor_license_agreement.md
@@ -1,2 +1,3 @@
-This document has been replaced by a Developer Certificate of Origin and License,
-as described in [Contributing.md](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md). \ No newline at end of file
+---
+redirect_to: 'README.md'
+---
diff --git a/doc/raketasks/features.md b/doc/raketasks/features.md
index fee49cc27cc..57c16f110e4 100644
--- a/doc/raketasks/features.md
+++ b/doc/raketasks/features.md
@@ -1,4 +1,4 @@
-# Features
+# Namespaces
## Enable usernames and namespaces for user projects
diff --git a/doc/raketasks/web_hooks.md b/doc/raketasks/web_hooks.md
index 2ebf7c48f4e..5f3143f76cd 100644
--- a/doc/raketasks/web_hooks.md
+++ b/doc/raketasks/web_hooks.md
@@ -1,4 +1,4 @@
-# Webhooks
+# Webhooks administration **[CORE ONLY]**
## Add a webhook for **ALL** projects:
diff --git a/doc/topics/git/how_to_install_git/index.md b/doc/topics/git/how_to_install_git/index.md
index 6c909a1ba86..58d86f7d387 100644
--- a/doc/topics/git/how_to_install_git/index.md
+++ b/doc/topics/git/how_to_install_git/index.md
@@ -4,6 +4,7 @@ author_gitlab: SeanPackham
level: beginner
article_type: user guide
date: 2017-05-15
+description: 'This article describes how to install Git on macOS, Ubuntu Linux and Windows.'
---
# Installing Git
diff --git a/doc/university/training/gitlab_flow.md b/doc/university/training/gitlab_flow.md
index 02a6ad48a38..d7bc7bda43f 100644
--- a/doc/university/training/gitlab_flow.md
+++ b/doc/university/training/gitlab_flow.md
@@ -2,39 +2,31 @@
comments: false
---
-# GitLab Flow
+# What is the GitLab Flow
- A simplified branching strategy
- All features and fixes first go to master
- Allows for 'production' or 'stable' branches
- Bug fixes/hot fix patches are cherry-picked from master
----
-
-# Feature branches
+## Feature branches
- Create a feature/bugfix branch to do all work
- Use merge requests to merge to master
![inline](gitlab_flow/feature_branches.png)
----
-
-# Production branch
+## Production branch
- One, long-running production release branch
as opposed to individual stable branches
- Consider creating a tag for each version that gets deployed
----
-
-# Production branch
+## Production branch
![inline](gitlab_flow/production_branch.png)
----
-
-# Release branch
+## Release branch
- Useful if you release software to customers
- When preparing a new release, create stable branch
@@ -43,15 +35,11 @@ comments: false
- Cherry-pick critical bug fixes to stable branch for patch release
- Never commit bug fixes directly to stable branch
----
-
-# Release branch
+## Release branch
![inline](gitlab_flow/release_branches.png)
----
-
-# More details
+## More details
-Blog post on 'GitLab Flow' at
-[http://doc.gitlab.com/ee/workflow/gitlab_flow.html](http://doc.gitlab.com/ee/workflow/gitlab_flow.html)
+For more information read through the [GitLab Flow](../../workflow/gitlab_flow.md)
+documentation.
diff --git a/doc/university/training/topics/gitlab_flow.md b/doc/university/training/topics/gitlab_flow.md
index b8049b5c80e..f6006ce0a60 100644
--- a/doc/university/training/topics/gitlab_flow.md
+++ b/doc/university/training/topics/gitlab_flow.md
@@ -1,57 +1,3 @@
---
-comments: false
+redirect_to: '../gitlab_flow.md'
---
-
-# GitLab Flow
-
-----------
-
-- A simplified branching strategy
-- All features and fixes first go to master
-- Allows for 'production' or 'stable' branches
-- Bug fixes/hot fix patches are cherry-picked from master
-
-----------
-
-### Feature branches
-
-- Create a feature/bugfix branch to do all work
-- Use merge requests to merge to master
-
-![inline](http://gitlab.com/gitlab-org/University/raw/5baea0fe222a915d0500e40747d35eb18681cdc3/training/gitlab_flow/feature_branches.png)
-
-----------
-
-## Production branch
-
-- One, long-running production release branch
- as opposed to individual stable branches
-- Consider creating a tag for each version that gets deployed
-
-----------
-
-## Production branch
-
-![inline](http://gitlab.com/gitlab-org/University/raw/5baea0fe222a915d0500e40747d35eb18681cdc3/training/gitlab_flow/production_branch.png)
-
-----------
-
-## Release branch
-
-- Useful if you release software to customers
-- When preparing a new release, create stable branch
- from master
-- Consider creating a tag for each version
-- Cherry-pick critical bug fixes to stable branch for patch release
-- Never commit bug fixes directly to stable branch
-
-----------
-
-![inline](http://gitlab.com/gitlab-org/University/raw/5baea0fe222a915d0500e40747d35eb18681cdc3/training/gitlab_flow/release_branches.png)
-
-----------
-
-## More details
-
-Blog post on 'GitLab Flow' at
-[http://doc.gitlab.com/ee/workflow/gitlab_flow.html](http://doc.gitlab.com/ee/workflow/gitlab_flow.html)
diff --git a/doc/university/training/topics/merge_requests.md b/doc/university/training/topics/merge_requests.md
index 4e8c9de85a1..d7b771cd87b 100644
--- a/doc/university/training/topics/merge_requests.md
+++ b/doc/university/training/topics/merge_requests.md
@@ -2,7 +2,7 @@
comments: false
---
-# Merge requests
+# Code review and collaboration with Merge Requests
----------
diff --git a/doc/user/admin_area/labels.md b/doc/user/admin_area/labels.md
index 9e2a89ebdf6..e383142c33e 100644
--- a/doc/user/admin_area/labels.md
+++ b/doc/user/admin_area/labels.md
@@ -1,4 +1,4 @@
-# Labels
+# Labels administration **[CORE ONLY]**
## Default Labels
diff --git a/doc/user/group/index.md b/doc/user/group/index.md
index 88f4bb2ee04..30761a66563 100644
--- a/doc/user/group/index.md
+++ b/doc/user/group/index.md
@@ -40,20 +40,20 @@ In GitLab, a namespace is a unique name to be used as a user name, a group name,
- `http://gitlab.example.com/groupname`
- `http://gitlab.example.com/groupname/subgroup_name`
-For example, consider a user called John:
+For example, consider a user named Alex:
-1. John creates his account on GitLab.com with the username `john`;
-his profile will be accessed under `https://gitlab.example.com/john`
-1. John creates a group for his team with the groupname `john-team`;
-his group and its projects will be accessed under `https://gitlab.example.com/john-team`
-1. John creates a subgroup of `john-team` with the subgroup name `marketing`;
-his subgroup and its projects will be accessed under `https://gitlab.example.com/john-team/marketing`
+1. Alex creates an account on GitLab.com with the username `alex`;
+their profile will be accessed under `https://gitlab.example.com/alex`
+1. Alex creates a group for their team with the groupname `alex-team`;
+the group and its projects will be accessed under `https://gitlab.example.com/alex-team`
+1. Alex creates a subgroup of `alex-team` with the subgroup name `marketing`;
+this subgroup and its projects will be accessed under `https://gitlab.example.com/alex-team/marketing`
By doing so:
-- Any team member mentions John with `@john`
-- John mentions everyone from his team with `@john-team`
-- John mentions only his marketing team with `@john-team/marketing`
+- Any team member mentions Alex with `@alex`
+- Alex mentions everyone from their team with `@alex-team`
+- Alex mentions only the marketing team with `@alex-team/marketing`
## Issues and merge requests within a group
diff --git a/doc/user/index.md b/doc/user/index.md
index 2494df46f1c..a50e5e8fbf8 100644
--- a/doc/user/index.md
+++ b/doc/user/index.md
@@ -1,3 +1,7 @@
+---
+description: 'Read through the GitLab User documentation to learn how to use, configure, and customize GitLab and GitLab.com to your own needs.'
+---
+
# User documentation
Welcome to GitLab! We're glad to have you here!
diff --git a/doc/user/permissions.md b/doc/user/permissions.md
index a9ba2a51242..0808e3949be 100644
--- a/doc/user/permissions.md
+++ b/doc/user/permissions.md
@@ -1,3 +1,7 @@
+---
+description: 'Understand and explore the user permission levels in GitLab, and what features each of them grants you access to.'
+---
+
# Permissions
Users have different abilities depending on the access level they have in a
diff --git a/doc/user/project/pages/index.md b/doc/user/project/pages/index.md
index a97ce84b861..4b5c2539c4b 100644
--- a/doc/user/project/pages/index.md
+++ b/doc/user/project/pages/index.md
@@ -1,3 +1,7 @@
+---
+description: 'Learn how to use GitLab Pages to deploy a static website at no additional cost.'
+---
+
# GitLab Pages
With GitLab Pages it's easy to publish your project website. GitLab Pages is a hosting service for static websites, at no additional cost.
diff --git a/doc/user/project/pages/introduction.md b/doc/user/project/pages/introduction.md
index 0b5076b8c5d..fe4d15adfa1 100644
--- a/doc/user/project/pages/introduction.md
+++ b/doc/user/project/pages/introduction.md
@@ -1,4 +1,4 @@
-# GitLab Pages
+# Exploring GitLab Pages
> **Notes:**
> - This feature was [introduced][ee-80] in GitLab EE 8.3.
@@ -14,9 +14,7 @@ deploy static pages for your individual projects, your user or your group.
Read [GitLab Pages on GitLab.com](#gitlab-pages-on-gitlab-com) for specific
information, if you are using GitLab.com to host your website.
-Read through [All you Need to Know About GitLab Pages][pages-index-guide] for a list of all learning materials we have prepared for GitLab Pages (webpages, articles, guides, blog posts, video tutorials).
-
-## Getting started with GitLab Pages
+## Getting started with GitLab Pages domains
> **Note:**
> In the rest of this document we will assume that the general domain name that
diff --git a/doc/user/project/settings/import_export.md b/doc/user/project/settings/import_export.md
index 2c90f4b4413..b8bac01959e 100644
--- a/doc/user/project/settings/import_export.md
+++ b/doc/user/project/settings/import_export.md
@@ -5,6 +5,7 @@
> - [Introduced][ce-3050] in GitLab 8.9.
> - Importing will not be possible if the import instance version differs from
> that of the exporter.
+> - For GitLab admins, please read through [Project import/export administration](../../../administration/raketasks/project_import_export.md).
> - For existing installations, the project import option has to be enabled in
> application settings (`/admin/application_settings`) under 'Import sources'.
> Ask your administrator if you don't see the **GitLab export** button when
diff --git a/doc/workflow/protected_branches.md b/doc/workflow/protected_branches.md
index aa48b8f750e..ced7d391ace 100644
--- a/doc/workflow/protected_branches.md
+++ b/doc/workflow/protected_branches.md
@@ -1 +1 @@
-This document is moved to [user/project/protected_branches.md](../user/project/protected_branches.md)
+This document was moved to [another location](../user/project/protected_branches.md).
diff --git a/features/project/deploy_keys.feature b/features/project/deploy_keys.feature
deleted file mode 100644
index 6f1ed9ff5b6..00000000000
--- a/features/project/deploy_keys.feature
+++ /dev/null
@@ -1,46 +0,0 @@
-Feature: Project Deploy Keys
- Background:
- Given I sign in as a user
- And I own project "Shop"
-
- @javascript
- Scenario: I should see deploy keys list
- Given project has deploy key
- When I visit project deploy keys page
- Then I should see project deploy key
-
- @javascript
- Scenario: I should see project deploy keys
- Given other projects have deploy keys
- When I visit project deploy keys page
- Then I should see other project deploy key
- And I should only see the same deploy key once
-
- @javascript
- Scenario: I should see public deploy keys
- Given public deploy key exists
- When I visit project deploy keys page
- Then I should see public deploy key
-
- @javascript
- Scenario: I add new deploy key
- Given I visit project deploy keys page
- And I submit new deploy key
- Then I should be on deploy keys page
- And I should see newly created deploy key
-
- @javascript
- Scenario: I attach other project deploy key to project
- Given other projects have deploy keys
- And I visit project deploy keys page
- When I click attach deploy key
- Then I should be on deploy keys page
- And I should see newly created deploy key
-
- @javascript
- Scenario: I attach public deploy key to project
- Given public deploy key exists
- And I visit project deploy keys page
- When I click attach deploy key
- Then I should be on deploy keys page
- And I should see newly created deploy key
diff --git a/features/project/issues/references.feature b/features/project/issues/references.feature
deleted file mode 100644
index 4ae2d653337..00000000000
--- a/features/project/issues/references.feature
+++ /dev/null
@@ -1,33 +0,0 @@
-@project_issues
-Feature: Project Issues References
- Background:
- Given I sign in as "John Doe"
- And public project "Community"
- And "John Doe" owns public project "Community"
- And project "Community" has "Community issue" open issue
- And I logout
- And I sign in as "Mary Jane"
- And private project "Enterprise"
- And "Mary Jane" owns private project "Enterprise"
- And project "Enterprise" has "Enterprise issue" open issue
- And project "Enterprise" has "Enterprise fix" open merge request
- And I visit issue page "Enterprise issue"
- And I leave a comment referencing issue "Community issue"
- And I visit merge request page "Enterprise fix"
- And I leave a comment referencing issue "Community issue"
- And I logout
-
- @javascript
- Scenario: Viewing the public issue as a "John Doe"
- Given I sign in as "John Doe"
- When I visit issue page "Community issue"
- Then I should not see any related merge requests
- And I should see no notes at all
-
- @javascript
- Scenario: Viewing the public issue as "Mary Jane"
- Given I sign in as "Mary Jane"
- When I visit issue page "Community issue"
- Then I should see the "Enterprise fix" related merge request
- And I should see a note linking to "Enterprise fix" merge request
- And I should see a note linking to "Enterprise issue" issue
diff --git a/features/steps/project/deploy_keys.rb b/features/steps/project/deploy_keys.rb
deleted file mode 100644
index 8e2f594328d..00000000000
--- a/features/steps/project/deploy_keys.rb
+++ /dev/null
@@ -1,94 +0,0 @@
-class Spinach::Features::ProjectDeployKeys < Spinach::FeatureSteps
- include SharedAuthentication
- include SharedProject
- include SharedPaths
-
- step 'project has deploy key' do
- create(:deploy_keys_project, project: @project)
- end
-
- step 'I should see project deploy key' do
- page.within(find('.deploy-keys')) do
- find('.js-deployKeys-tab-enabled_keys').click()
- expect(page).to have_content deploy_key.title
- end
- end
-
- step 'I should see other project deploy key' do
- page.within(find('.deploy-keys')) do
- find('.js-deployKeys-tab-available_project_keys').click()
- expect(page).to have_content other_deploy_key.title
- end
- end
-
- step 'I should see public deploy key' do
- page.within(find('.deploy-keys')) do
- find('.js-deployKeys-tab-public_keys').click()
- expect(page).to have_content public_deploy_key.title
- end
- end
-
- step 'I click \'New Deploy Key\'' do
- click_link 'New deploy key'
- end
-
- step 'I submit new deploy key' do
- fill_in "deploy_key_title", with: "laptop"
- fill_in "deploy_key_key", with: "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAzrEJUIR6Y03TCE9rIJ+GqTBvgb8t1jI9h5UBzCLuK4VawOmkLornPqLDrGbm6tcwM/wBrrLvVOqi2HwmkKEIecVO0a64A4rIYScVsXIniHRS6w5twyn1MD3sIbN+socBDcaldECQa2u1dI3tnNVcs8wi77fiRe7RSxePsJceGoheRQgC8AZ510UdIlO+9rjIHUdVN7LLyz512auAfYsgx1OfablkQ/XJcdEwDNgi9imI6nAXhmoKUm1IPLT2yKajTIC64AjLOnE0YyCh6+7RFMpiMyu1qiOCpdjYwTgBRiciNRZCH8xIedyCoAmiUgkUT40XYHwLuwiPJICpkAzp7Q== user@laptop"
- click_button "Add key"
- end
-
- step 'I should be on deploy keys page' do
- expect(current_path).to eq project_settings_repository_path(@project)
- end
-
- step 'I should see newly created deploy key' do
- @project.reload
- page.within(find('.deploy-keys')) do
- find('.js-deployKeys-tab-enabled_keys').click()
- expect(page).to have_content(deploy_key.title)
- end
- end
-
- step 'other projects have deploy keys' do
- @second_project = create(:project, namespace: create(:group))
- @second_project.add_master(current_user)
- create(:deploy_keys_project, project: @second_project)
-
- @third_project = create(:project, namespace: create(:group))
- @third_project.add_master(current_user)
- create(:deploy_keys_project, project: @third_project, deploy_key: @second_project.deploy_keys.first)
- end
-
- step 'I should only see the same deploy key once' do
- page.within(find('.deploy-keys')) do
- expect(find('.js-deployKeys-tab-available_project_keys .badge')).to have_content('1')
- end
- end
-
- step 'public deploy key exists' do
- create(:deploy_key, public: true)
- end
-
- step 'I click attach deploy key' do
- page.within(find('.deploy-keys')) do
- find('.badge', text: '1').click()
- click_button 'Enable'
- expect(page).not_to have_selector('.fa-spinner')
- end
- end
-
- protected
-
- def deploy_key
- @project.deploy_keys.last
- end
-
- def other_deploy_key
- @second_project.deploy_keys.last
- end
-
- def public_deploy_key
- DeployKey.are_public.last
- end
-end
diff --git a/features/steps/shared/issuable.rb b/features/steps/shared/issuable.rb
index a9174efd334..8d9cd3db9d9 100644
--- a/features/steps/shared/issuable.rb
+++ b/features/steps/shared/issuable.rb
@@ -5,13 +5,6 @@ module SharedIssuable
find('.js-issuable-edit', visible: true).click
end
- step 'project "Community" has "Community issue" open issue' do
- create_issuable_for_project(
- project_name: 'Community',
- title: 'Community issue'
- )
- end
-
step 'project "Community" has "Community fix" open merge request' do
create_issuable_for_project(
project_name: 'Community',
@@ -59,32 +52,11 @@ module SharedIssuable
visit project_merge_request_path(mr.target_project, mr)
end
- step 'I visit issue page "Community issue"' do
- issue = Issue.find_by(title: 'Community issue')
- visit project_issue_path(issue.project, issue)
- end
-
step 'I visit issue page "Community fix"' do
mr = MergeRequest.find_by(title: 'Community fix')
visit project_merge_request_path(mr.target_project, mr)
end
- step 'I should not see any related merge requests' do
- page.within '.issue-details' do
- expect(page).not_to have_content('#merge-requests .merge-requests-title')
- end
- end
-
- step 'I should see the "Enterprise fix" related merge request' do
- page.within '#merge-requests .merge-requests-title' do
- expect(page).to have_content('1 Related Merge Request')
- end
-
- page.within '#merge-requests ul' do
- expect(page).to have_content('Enterprise fix')
- end
- end
-
step 'I should see a note linking to "Enterprise fix" merge request' do
visible_note(
issuable: MergeRequest.find_by(title: 'Enterprise fix'),
diff --git a/features/steps/shared/paths.rb b/features/steps/shared/paths.rb
index f2769f28fed..a6bf7008955 100644
--- a/features/steps/shared/paths.rb
+++ b/features/steps/shared/paths.rb
@@ -240,10 +240,6 @@ module SharedPaths
visit project_settings_integrations_path(@project)
end
- step 'I visit project deploy keys page' do
- visit project_deploy_keys_path(@project)
- end
-
step 'I visit project find file page' do
visit project_find_file_path(@project, root_ref)
end
diff --git a/lib/api/runner.rb b/lib/api/runner.rb
index cd7d6603171..649feba1036 100644
--- a/lib/api/runner.rb
+++ b/lib/api/runner.rb
@@ -11,13 +11,14 @@ module API
requires :token, type: String, desc: 'Registration token'
optional :description, type: String, desc: %q(Runner's description)
optional :info, type: Hash, desc: %q(Runner's metadata)
+ optional :active, type: Boolean, desc: 'Should Runner be active'
optional :locked, type: Boolean, desc: 'Should Runner be locked for current project'
optional :run_untagged, type: Boolean, desc: 'Should Runner handle untagged jobs'
optional :tag_list, type: Array[String], desc: %q(List of Runner's tags)
optional :maximum_timeout, type: Integer, desc: 'Maximum timeout set when this Runner will handle the job'
end
post '/' do
- attributes = attributes_for_keys([:description, :locked, :run_untagged, :tag_list, :maximum_timeout])
+ attributes = attributes_for_keys([:description, :active, :locked, :run_untagged, :tag_list, :maximum_timeout])
.merge(get_runner_details_from_request)
runner =
diff --git a/lib/gitlab/file_detector.rb b/lib/gitlab/file_detector.rb
index cc2638172ec..77af7a868d0 100644
--- a/lib/gitlab/file_detector.rb
+++ b/lib/gitlab/file_detector.rb
@@ -14,6 +14,7 @@ module Gitlab
avatar: /\Alogo\.(png|jpg|gif)\z/,
issue_template: %r{\A\.gitlab/issue_templates/[^/]+\.md\z},
merge_request_template: %r{\A\.gitlab/merge_request_templates/[^/]+\.md\z},
+ xcode_config: %r{\A[^/]*\.(xcodeproj|xcworkspace)\z},
# Configuration files
gitignore: '.gitignore',
diff --git a/lib/gitlab/git/blame.rb b/lib/gitlab/git/blame.rb
index 6d6ed065f79..4158d50cd9e 100644
--- a/lib/gitlab/git/blame.rb
+++ b/lib/gitlab/git/blame.rb
@@ -15,10 +15,7 @@ module Gitlab
def each
@blames.each do |blame|
- yield(
- Gitlab::Git::Commit.new(@repo, blame.commit),
- blame.line
- )
+ yield(blame.commit, blame.line)
end
end
@@ -60,9 +57,8 @@ module Gitlab
end
end
- # load all commits in single call
- commits.keys.each do |key|
- commits[key] = @repo.lookup(key)
+ Gitlab::Git::Commit.batch_by_oid(@repo, commits.keys).each do |commit|
+ commits[commit.sha] = commit
end
# get it together
diff --git a/locale/gitlab.pot b/locale/gitlab.pot
index 728c3605131..20377dc81b2 100644
--- a/locale/gitlab.pot
+++ b/locale/gitlab.pot
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: gitlab 1.0.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-05-02 22:28+0200\n"
-"PO-Revision-Date: 2018-05-02 22:28+0200\n"
+"POT-Creation-Date: 2018-05-09 09:24+0200\n"
+"PO-Revision-Date: 2018-05-09 09:24+0200\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
@@ -104,6 +104,12 @@ msgstr ""
msgid "+ %{moreCount} more"
msgstr ""
+msgid "- Runner is active and can process any new jobs"
+msgstr ""
+
+msgid "- Runner is paused and will not receive any new jobs"
+msgstr ""
+
msgid "- show less"
msgstr ""
@@ -156,6 +162,9 @@ msgstr ""
msgid "<strong>Removes</strong> source branch"
msgstr ""
+msgid "A 'Runner' is a process which runs a job. You can setup as many Runners as you need."
+msgstr ""
+
msgid "A collection of graphs regarding Continuous Integration"
msgstr ""
@@ -387,6 +396,9 @@ msgstr ""
msgid "Artifacts"
msgstr ""
+msgid "Ask your group master to setup a group Runner."
+msgstr ""
+
msgid "Assign custom color like #FF0000"
msgstr ""
@@ -474,6 +486,12 @@ msgstr ""
msgid "Available"
msgstr ""
+msgid "Available group Runners : %{runners}"
+msgstr ""
+
+msgid "Available group Runners : %{runners}."
+msgstr ""
+
msgid "Avatar will be removed. Are you sure?"
msgstr ""
@@ -716,6 +734,9 @@ msgstr ""
msgid "CI/CD configuration"
msgstr ""
+msgid "CI/CD settings"
+msgstr ""
+
msgid "CICD|An explicit %{ci_file} needs to be specified before you can begin using Continuous Integration and Delivery."
msgstr ""
@@ -749,6 +770,9 @@ msgstr ""
msgid "CICD|You need to specify a domain if you want to use Auto Review Apps and Auto Deploy stages."
msgstr ""
+msgid "Can run untagged jobs"
+msgstr ""
+
msgid "Cancel"
msgstr ""
@@ -1652,6 +1676,15 @@ msgstr ""
msgid "Directory name"
msgstr ""
+msgid "Disable"
+msgstr ""
+
+msgid "Disable for this project"
+msgstr ""
+
+msgid "Disable group Runners"
+msgstr ""
+
msgid "Discard changes"
msgstr ""
@@ -1703,6 +1736,9 @@ msgstr ""
msgid "Due date"
msgstr ""
+msgid "Each Runner can be in one of the following states:"
+msgstr ""
+
msgid "Edit"
msgstr ""
@@ -1724,6 +1760,9 @@ msgstr ""
msgid "Embed"
msgstr ""
+msgid "Enable"
+msgstr ""
+
msgid "Enable Auto DevOps"
msgstr ""
@@ -1736,6 +1775,12 @@ msgstr ""
msgid "Enable and configure Prometheus metrics."
msgstr ""
+msgid "Enable for this project"
+msgstr ""
+
+msgid "Enable group Runners"
+msgstr ""
+
msgid "Enable or disable version check and usage ping."
msgstr ""
@@ -1978,6 +2023,9 @@ msgstr ""
msgid "GitLab CI Linter has been moved"
msgstr ""
+msgid "GitLab Group Runners can execute code for all the projects in this group."
+msgstr ""
+
msgid "GitLab Runner section"
msgstr ""
@@ -2002,9 +2050,18 @@ msgstr ""
msgid "Got it!"
msgstr ""
+msgid "Group CI/CD settings"
+msgstr ""
+
msgid "Group ID"
msgstr ""
+msgid "Group Runners"
+msgstr ""
+
+msgid "Group masters can register group runners in the %{link}"
+msgstr ""
+
msgid "GroupSettings|Prevent sharing a project within %{group} with other groups"
msgstr ""
@@ -2315,9 +2372,18 @@ msgstr ""
msgid "Lock %{issuableDisplayName}"
msgstr ""
+msgid "Lock to current projects"
+msgstr ""
+
msgid "Locked"
msgstr ""
+msgid "Locked to current projects"
+msgstr ""
+
+msgid "Locked to this project"
+msgstr ""
+
msgid "Login"
msgstr ""
@@ -2348,6 +2414,9 @@ msgstr ""
msgid "Maximum git storage failures"
msgstr ""
+msgid "Maximum job timeout"
+msgstr ""
+
msgid "May"
msgstr ""
@@ -2491,6 +2560,9 @@ msgstr ""
msgid "New tag"
msgstr ""
+msgid "No"
+msgstr ""
+
msgid "No assignee"
msgstr ""
@@ -2680,6 +2752,9 @@ msgstr ""
msgid "Password"
msgstr ""
+msgid "Pause"
+msgstr ""
+
msgid "Pending"
msgstr ""
@@ -3145,6 +3220,9 @@ msgstr ""
msgid "Register / Sign In"
msgstr ""
+msgid "Register and see your runners for this group."
+msgstr ""
+
msgid "Related Commits"
msgstr ""
@@ -3169,6 +3247,12 @@ msgstr ""
msgid "Remind later"
msgstr ""
+msgid "Remove"
+msgstr ""
+
+msgid "Remove Runner"
+msgstr ""
+
msgid "Remove avatar"
msgstr ""
@@ -3202,6 +3286,9 @@ msgstr ""
msgid "Resolve discussion"
msgstr ""
+msgid "Resume"
+msgstr ""
+
msgid "Retry"
msgstr ""
@@ -3234,6 +3321,15 @@ msgstr ""
msgid "Runners"
msgstr ""
+msgid "Runners API"
+msgstr ""
+
+msgid "Runners can be placed on separate users, servers, and even on your local machine."
+msgstr ""
+
+msgid "Runners settings"
+msgstr ""
+
msgid "Running"
msgstr ""
@@ -3360,6 +3456,9 @@ msgstr ""
msgid "Share"
msgstr ""
+msgid "Shared Runners"
+msgstr ""
+
msgid "Show command"
msgstr ""
@@ -3515,6 +3614,9 @@ msgstr ""
msgid "Spam and Anti-bot Protection"
msgstr ""
+msgid "Specific Runners"
+msgstr ""
+
msgid "Specify the following URL during the Runner setup:"
msgstr ""
@@ -3772,9 +3874,18 @@ msgstr ""
msgid "There was an error when unsubscribing from this label."
msgstr ""
+msgid "They can be managed using the %{link}."
+msgstr ""
+
+msgid "This GitLab instance does not provide any shared Runners yet. Instance administrators can register shared Runners in the admin area."
+msgstr ""
+
msgid "This directory"
msgstr ""
+msgid "This group does not provide any group Runners yet."
+msgstr ""
+
msgid "This is a confidential issue."
msgstr ""
@@ -3832,6 +3943,9 @@ msgstr ""
msgid "This project"
msgstr ""
+msgid "This project does not belong to a group and can therefore not make use of group Runners."
+msgstr ""
+
msgid "This repository"
msgstr ""
@@ -4016,6 +4130,9 @@ msgstr ""
msgid "To import an SVN repository, check out %{svn_link}."
msgstr ""
+msgid "To start serving your jobs you can add Runners to your group"
+msgstr ""
+
msgid "To validate your GitLab CI configurations, go to 'CI/CD → Pipelines' inside your project, and click on the 'CI Lint' button."
msgstr ""
@@ -4187,6 +4304,9 @@ msgstr ""
msgid "Web terminal"
msgstr ""
+msgid "When a runner is locked, it cannot be assigned to other projects"
+msgstr ""
+
msgid "When enabled, users cannot use GitLab until the terms have been accepted."
msgstr ""
@@ -4304,6 +4424,9 @@ msgstr ""
msgid "Write a commit message..."
msgstr ""
+msgid "Yes"
+msgstr ""
+
msgid "You are going to remove %{group_name}. Removed groups CANNOT be restored! Are you ABSOLUTELY sure?"
msgstr ""
@@ -4447,6 +4570,9 @@ msgstr ""
msgid "estimateCommand|%{slash_command} will update the estimated time with the latest command."
msgstr ""
+msgid "for this project"
+msgstr ""
+
msgid "importing"
msgstr ""
diff --git a/package.json b/package.json
index 9543dba1bbc..6d5932dcec6 100644
--- a/package.json
+++ b/package.json
@@ -96,7 +96,7 @@
"worker-loader": "^1.1.1"
},
"devDependencies": {
- "axios-mock-adapter": "^1.10.0",
+ "axios-mock-adapter": "^1.15.0",
"babel-eslint": "^8.0.2",
"babel-plugin-istanbul": "^4.1.6",
"babel-plugin-rewire": "^1.1.0",
diff --git a/spec/factories/ci/runners.rb b/spec/factories/ci/runners.rb
index 34b8b246d0f..cdc170b9ccb 100644
--- a/spec/factories/ci/runners.rb
+++ b/spec/factories/ci/runners.rb
@@ -6,6 +6,7 @@ FactoryBot.define do
is_shared false
active true
access_level :not_protected
+ runner_type :project_type
trait :online do
contacted_at Time.now
@@ -13,6 +14,7 @@ FactoryBot.define do
trait :shared do
is_shared true
+ runner_type :instance_type
end
trait :specific do
diff --git a/spec/features/issuables/markdown_references/internal_references_spec.rb b/spec/features/issuables/markdown_references/internal_references_spec.rb
new file mode 100644
index 00000000000..8af4b157cd8
--- /dev/null
+++ b/spec/features/issuables/markdown_references/internal_references_spec.rb
@@ -0,0 +1,80 @@
+require "rails_helper"
+
+describe "Internal references", :js do
+ include Spec::Support::Helpers::Features::NotesHelpers
+
+ let(:private_project_user) { private_project.owner }
+ let(:private_project) { create(:project, :private, :repository) }
+ let(:private_project_issue) { create(:issue, project: private_project) }
+ let(:private_project_merge_request) { create(:merge_request, source_project: private_project) }
+ let(:public_project_user) { public_project.owner }
+ let(:public_project) { create(:project, :public, :repository) }
+ let(:public_project_issue) { create(:issue, project: public_project) }
+
+ context "when referencing to open issue" do
+ context "from private project" do
+ context "from issue" do
+ before do
+ sign_in(private_project_user)
+
+ visit(project_issue_path(private_project, private_project_issue))
+
+ add_note("##{public_project_issue.to_reference(private_project)}")
+ end
+
+ context "when user doesn't have access to private project" do
+ before do
+ sign_in(public_project_user)
+
+ visit(project_issue_path(public_project, public_project_issue))
+ end
+
+ it { expect(page).not_to have_css(".note") }
+ end
+ end
+
+ context "from merge request" do
+ before do
+ sign_in(private_project_user)
+
+ visit(project_merge_request_path(private_project, private_project_merge_request))
+
+ add_note("##{public_project_issue.to_reference(private_project)}")
+ end
+
+ context "when user doesn't have access to private project" do
+ before do
+ sign_in(public_project_user)
+
+ visit(project_issue_path(public_project, public_project_issue))
+ end
+
+ it "doesn't show any references" do
+ page.within(".issue-details") do
+ expect(page).not_to have_content("#merge-requests .merge-requests-title")
+ end
+ end
+ end
+
+ context "when user has access to private project" do
+ before do
+ visit(project_issue_path(public_project, public_project_issue))
+ end
+
+ it "shows references" do
+ page.within("#merge-requests .merge-requests-title") do
+ expect(page).to have_content("1 Related Merge Request")
+ end
+
+ page.within("#merge-requests ul") do
+ expect(page).to have_content(private_project_merge_request.title)
+ end
+
+ expect(page).to have_content("mentioned in merge request #{private_project_merge_request.to_reference(public_project)}")
+ .and have_content(private_project_user.name)
+ end
+ end
+ end
+ end
+ end
+end
diff --git a/spec/features/issuables/markdown_references/jira_spec.rb b/spec/features/issuables/markdown_references/jira_spec.rb
new file mode 100644
index 00000000000..fa0ab88624e
--- /dev/null
+++ b/spec/features/issuables/markdown_references/jira_spec.rb
@@ -0,0 +1,187 @@
+require "rails_helper"
+
+describe "Jira", :js do
+ let(:user) { create(:user) }
+ let(:actual_project) { create(:project, :public, :repository) }
+ let(:merge_request) { create(:merge_request, target_project: actual_project, source_project: actual_project) }
+ let(:issue_actual_project) { create(:issue, project: actual_project) }
+ let!(:other_project) { create(:project, :public) }
+ let!(:issue_other_project) { create(:issue, project: other_project) }
+ let(:issues) { [issue_actual_project, issue_other_project] }
+
+ shared_examples "correct references" do
+ before do
+ remotelink = double(:remotelink, all: [], build: double(save!: true))
+
+ stub_request(:get, "https://jira.example.com/rest/api/2/issue/JIRA-5")
+ stub_request(:post, "https://jira.example.com/rest/api/2/issue/JIRA-5/comment")
+ allow_any_instance_of(JIRA::Resource::Issue).to receive(:remotelink).and_return(remotelink)
+
+ sign_in(user)
+
+ visit(merge_request_path(merge_request))
+
+ build_note
+ end
+
+ it "creates a link to the referenced issue on the preview" do
+ find(".js-md-preview-button").click
+
+ wait_for_requests
+
+ page.within(".md-preview-holder") do
+ links_expectations
+ end
+ end
+
+ it "creates a link to the referenced issue after submit" do
+ click_button("Comment")
+
+ wait_for_requests
+
+ page.within("#diff-notes-app") do
+ links_expectations
+ end
+ end
+
+ it "creates a note on the referenced issues" do
+ click_button("Comment")
+
+ wait_for_requests
+
+ if referenced_issues.include?(issue_actual_project)
+ visit(issue_path(issue_actual_project))
+
+ page.within("#notes") do
+ expect(page).to have_content("#{user.to_reference} mentioned in merge request #{merge_request.to_reference}")
+ end
+ end
+
+ if referenced_issues.include?(issue_other_project)
+ visit(issue_path(issue_other_project))
+
+ page.within("#notes") do
+ expect(page).to have_content("#{user.to_reference} mentioned in merge request #{merge_request.to_reference(other_project)}")
+ end
+ end
+ end
+ end
+
+ context "when internal issues tracker is enabled for the other project" do
+ context "when only internal issues tracker is enabled for the actual project" do
+ include_examples "correct references" do
+ let(:referenced_issues) { [issue_actual_project, issue_other_project] }
+ let(:jira_referenced) { false }
+ end
+ end
+
+ context "when both external and internal issues trackers are enabled for the actual project" do
+ before do
+ create(:jira_service, project: actual_project)
+ end
+
+ include_examples "correct references" do
+ let(:referenced_issues) { [issue_actual_project, issue_other_project] }
+ let(:jira_referenced) { true }
+ end
+ end
+
+ context "when only external issues tracker is enabled for the actual project" do
+ let(:actual_project) { create(:project, :public, :repository, :issues_disabled) }
+
+ before do
+ create(:jira_service, project: actual_project)
+ end
+
+ include_examples "correct references" do
+ let(:referenced_issues) { [issue_other_project] }
+ let(:jira_referenced) { true }
+ end
+ end
+
+ context "when no tracker is enabled for the actual project" do
+ let(:actual_project) { create(:project, :public, :repository, :issues_disabled) }
+
+ include_examples 'correct references' do
+ let(:referenced_issues) { [issue_other_project] }
+ let(:jira_referenced) { false }
+ end
+ end
+ end
+
+ context "when internal issues tracker is disabled for the other project" do
+ let(:other_project) { create(:project, :public, :repository, :issues_disabled) }
+
+ context "when only internal issues tracker is enabled for the actual project" do
+ include_examples "correct references" do
+ let(:referenced_issues) { [issue_actual_project] }
+ let(:jira_referenced) { false }
+ end
+ end
+
+ context "when both external and internal issues trackers are enabled for the actual project" do
+ before do
+ create(:jira_service, project: actual_project)
+ end
+
+ include_examples "correct references" do
+ let(:referenced_issues) { [issue_actual_project] }
+ let(:jira_referenced) { true }
+ end
+ end
+
+ context "when only external issues tracker is enabled for the actual project" do
+ let(:actual_project) { create(:project, :public, :repository, :issues_disabled) }
+
+ before do
+ create(:jira_service, project: actual_project)
+ end
+
+ include_examples "correct references" do
+ let(:referenced_issues) { [] }
+ let(:jira_referenced) { true }
+ end
+ end
+
+ context "when no issues tracker is enabled for the actual project" do
+ let(:actual_project) { create(:project, :public, :repository, :issues_disabled) }
+
+ include_examples "correct references" do
+ let(:referenced_issues) { [] }
+ let(:jira_referenced) { false }
+ end
+ end
+ end
+
+ private
+
+ def build_note
+ markdown = <<~HEREDOC
+ Referencing internal issue #{issue_actual_project.to_reference},
+ cross-project #{issue_other_project.to_reference(actual_project)} external JIRA-5
+ and non existing #999
+ HEREDOC
+
+ page.within("#diff-notes-app") do
+ fill_in("note_note", with: markdown)
+ end
+ end
+
+ def links_expectations
+ issues.each do |issue|
+ if referenced_issues.include?(issue)
+ expect(page).to have_link(issue.to_reference, href: issue_path(issue))
+ else
+ expect(page).not_to have_link(issue.to_reference, href: issue_path(issue))
+ end
+ end
+
+ if jira_referenced
+ expect(page).to have_link("JIRA-5", href: "https://jira.example.com/browse/JIRA-5")
+ else
+ expect(page).not_to have_link("JIRA-5", href: "https://jira.example.com/browse/JIRA-5")
+ end
+
+ expect(page).not_to have_link("#999")
+ end
+end
diff --git a/spec/features/issuables/markdown_references_spec.rb b/spec/features/issuables/markdown_references_spec.rb
deleted file mode 100644
index dd4e10a9886..00000000000
--- a/spec/features/issuables/markdown_references_spec.rb
+++ /dev/null
@@ -1,193 +0,0 @@
-require 'rails_helper'
-
-describe 'Markdown References', :js do
- let(:user) { create(:user) }
- let(:actual_project) { create(:project, :public, :repository) }
- let(:merge_request) { create(:merge_request, target_project: actual_project, source_project: actual_project)}
- let(:issue_actual_project) { create(:issue, project: actual_project) }
- let!(:other_project) { create(:project, :public) }
- let!(:issue_other_project) { create(:issue, project: other_project) }
- let(:issues) { [issue_actual_project, issue_other_project] }
-
- def build_note
- markdown = "Referencing internal issue #{issue_actual_project.to_reference}, " +
- "cross-project #{issue_other_project.to_reference(actual_project)} external JIRA-5 " +
- "and non existing #999"
-
- page.within('#diff-notes-app') do
- fill_in 'note_note', with: markdown
- end
- end
-
- shared_examples 'correct references' do
- before do
- remotelink = double(:remotelink, all: [], build: double(save!: true))
-
- stub_request(:get, "https://jira.example.com/rest/api/2/issue/JIRA-5")
- stub_request(:post, "https://jira.example.com/rest/api/2/issue/JIRA-5/comment")
- allow_any_instance_of(JIRA::Resource::Issue).to receive(:remotelink).and_return(remotelink)
-
- sign_in(user)
- visit merge_request_path(merge_request)
- build_note
- end
-
- def links_expectations
- issues.each do |issue|
- if referenced_issues.include?(issue)
- expect(page).to have_link(issue.to_reference, href: issue_path(issue))
- else
- expect(page).not_to have_link(issue.to_reference, href: issue_path(issue))
- end
- end
-
- if jira_referenced
- expect(page).to have_link('JIRA-5', href: 'https://jira.example.com/browse/JIRA-5')
- else
- expect(page).not_to have_link('JIRA-5', href: 'https://jira.example.com/browse/JIRA-5')
- end
-
- expect(page).not_to have_link('#999')
- end
-
- it 'creates a link to the referenced issue on the preview' do
- find('.js-md-preview-button').click
- wait_for_requests
-
- page.within('.md-preview-holder') do
- links_expectations
- end
- end
-
- it 'creates a link to the referenced issue after submit' do
- click_button 'Comment'
- wait_for_requests
-
- page.within('#diff-notes-app') do
- links_expectations
- end
- end
-
- it 'creates a note on the referenced issues' do
- click_button 'Comment'
- wait_for_requests
-
- if referenced_issues.include?(issue_actual_project)
- visit issue_path(issue_actual_project)
-
- page.within('#notes') do
- expect(page).to have_content(
- "#{user.to_reference} mentioned in merge request #{merge_request.to_reference}"
- )
- end
- end
-
- if referenced_issues.include?(issue_other_project)
- visit issue_path(issue_other_project)
-
- page.within('#notes') do
- expect(page).to have_content(
- "#{user.to_reference} mentioned in merge request #{merge_request.to_reference(other_project)}"
- )
- end
- end
- end
- end
-
- context 'when internal issues tracker is enabled for the other project' do
- context 'when only internal issues tracker is enabled for the actual project' do
- include_examples 'correct references' do
- let(:referenced_issues) { [issue_actual_project, issue_other_project] }
- let(:jira_referenced) { false }
- end
- end
-
- context 'when both external and internal issues trackers are enabled for the actual project' do
- before do
- create(:jira_service, project: actual_project)
- end
-
- include_examples 'correct references' do
- let(:referenced_issues) { [issue_actual_project, issue_other_project] }
- let(:jira_referenced) { true }
- end
- end
-
- context 'when only external issues tracker is enabled for the actual project' do
- before do
- create(:jira_service, project: actual_project)
-
- actual_project.issues_enabled = false
- actual_project.save!
- end
-
- include_examples 'correct references' do
- let(:referenced_issues) { [issue_other_project] }
- let(:jira_referenced) { true }
- end
- end
-
- context 'when no tracker is enabled for the actual project' do
- before do
- actual_project.issues_enabled = false
- actual_project.save!
- end
-
- include_examples 'correct references' do
- let(:referenced_issues) { [issue_other_project] }
- let(:jira_referenced) { false }
- end
- end
- end
-
- context 'when internal issues tracker is disabled for the other project' do
- before do
- other_project.issues_enabled = false
- other_project.save!
- end
-
- context 'when only internal issues tracker is enabled for the actual project' do
- include_examples 'correct references' do
- let(:referenced_issues) { [issue_actual_project] }
- let(:jira_referenced) { false }
- end
- end
-
- context 'when both external and internal issues trackers are enabled for the actual project' do
- before do
- create(:jira_service, project: actual_project)
- end
-
- include_examples 'correct references' do
- let(:referenced_issues) { [issue_actual_project] }
- let(:jira_referenced) { true }
- end
- end
-
- context 'when only external issues tracker is enabled for the actual project' do
- before do
- create(:jira_service, project: actual_project)
-
- actual_project.issues_enabled = false
- actual_project.save!
- end
-
- include_examples 'correct references' do
- let(:referenced_issues) { [] }
- let(:jira_referenced) { true }
- end
- end
-
- context 'when no issues tracker is enabled for the actual project' do
- before do
- actual_project.issues_enabled = false
- actual_project.save!
- end
-
- include_examples 'correct references' do
- let(:referenced_issues) { [] }
- let(:jira_referenced) { false }
- end
- end
- end
-end
diff --git a/spec/features/projects/settings/user_interacts_with_deploy_keys_spec.rb b/spec/features/projects/settings/user_interacts_with_deploy_keys_spec.rb
new file mode 100644
index 00000000000..71a077039b7
--- /dev/null
+++ b/spec/features/projects/settings/user_interacts_with_deploy_keys_spec.rb
@@ -0,0 +1,125 @@
+require "spec_helper"
+
+describe "User interacts with deploy keys", :js do
+ let(:project) { create(:project, :repository) }
+ let(:user) { project.owner }
+
+ before do
+ sign_in(user)
+ end
+
+ shared_examples "attaches a key" do
+ it "attaches key" do
+ visit(project_deploy_keys_path(project))
+
+ page.within(".deploy-keys") do
+ find(".badge", text: "1").click
+
+ click_button("Enable")
+
+ expect(page).not_to have_selector(".fa-spinner")
+ expect(current_path).to eq(project_settings_repository_path(project))
+
+ find(".js-deployKeys-tab-enabled_keys").click
+
+ expect(page).to have_content(deploy_key.title)
+ end
+ end
+ end
+
+ context "viewing deploy keys" do
+ let(:deploy_key) { create(:deploy_key) }
+
+ context "when project has keys" do
+ before do
+ create(:deploy_keys_project, project: project, deploy_key: deploy_key)
+ end
+
+ it "shows deploy keys" do
+ visit(project_deploy_keys_path(project))
+
+ page.within(".deploy-keys") do
+ expect(page).to have_content(deploy_key.title)
+ end
+ end
+ end
+
+ context "when another project has keys" do
+ let(:another_project) { create(:project) }
+
+ before do
+ create(:deploy_keys_project, project: another_project, deploy_key: deploy_key)
+
+ another_project.add_master(user)
+ end
+
+ it "shows deploy keys" do
+ visit(project_deploy_keys_path(project))
+
+ page.within(".deploy-keys") do
+ find('.js-deployKeys-tab-available_project_keys').click
+
+ expect(page).to have_content(deploy_key.title)
+ expect(find(".js-deployKeys-tab-available_project_keys .badge")).to have_content("1")
+ end
+ end
+ end
+
+ context "when there are public deploy keys" do
+ let!(:deploy_key) { create(:deploy_key, public: true) }
+
+ it "shows public deploy keys" do
+ visit(project_deploy_keys_path(project))
+
+ page.within(".deploy-keys") do
+ find(".js-deployKeys-tab-public_keys").click
+
+ expect(page).to have_content(deploy_key.title)
+ end
+ end
+ end
+ end
+
+ context "adding deploy keys" do
+ before do
+ visit(project_deploy_keys_path(project))
+ end
+
+ it "adds new key" do
+ DEPLOY_KEY_TITLE = attributes_for(:key)[:title]
+ DEPLOY_KEY_BODY = attributes_for(:key)[:key]
+
+ fill_in("deploy_key_title", with: DEPLOY_KEY_TITLE)
+ fill_in("deploy_key_key", with: DEPLOY_KEY_BODY)
+
+ click_button("Add key")
+
+ expect(current_path).to eq(project_settings_repository_path(project))
+
+ page.within(".deploy-keys") do
+ expect(page).to have_content(DEPLOY_KEY_TITLE)
+ end
+ end
+ end
+
+ context "attaching existing keys" do
+ context "from another project" do
+ let(:another_project) { create(:project) }
+ let(:deploy_key) { create(:deploy_key) }
+
+ before do
+ create(:deploy_keys_project, project: another_project, deploy_key: deploy_key)
+
+ another_project.add_master(user)
+ end
+
+ it_behaves_like "attaches a key"
+ end
+
+ context "when keys are public" do
+ let!(:deploy_key) { create(:deploy_key, public: true) }
+
+ it_behaves_like "attaches a key"
+ end
+ end
+end
diff --git a/spec/helpers/projects_helper_spec.rb b/spec/helpers/projects_helper_spec.rb
index 8fcb175416f..f8877b6d1aa 100644
--- a/spec/helpers/projects_helper_spec.rb
+++ b/spec/helpers/projects_helper_spec.rb
@@ -283,7 +283,7 @@ describe ProjectsHelper do
end
it 'removes the repo path' do
- repo = "#{storage_path}/namespace/test.git"
+ repo = File.join(storage_path, 'namespace/test.git')
import_error = "Could not clone #{repo}\n"
expect(sanitize_repo_path(project, import_error)).to eq('Could not clone [REPOS PATH]/namespace/test.git')
diff --git a/spec/javascripts/deploy_keys/components/app_spec.js b/spec/javascripts/deploy_keys/components/app_spec.js
index 3f9e25a8862..183d7cf2d41 100644
--- a/spec/javascripts/deploy_keys/components/app_spec.js
+++ b/spec/javascripts/deploy_keys/components/app_spec.js
@@ -1,28 +1,25 @@
-import _ from 'underscore';
import Vue from 'vue';
+import MockAdapter from 'axios-mock-adapter';
+import axios from '~/lib/utils/axios_utils';
import eventHub from '~/deploy_keys/eventhub';
import deployKeysApp from '~/deploy_keys/components/app.vue';
+import { TEST_HOST } from 'spec/test_constants';
describe('Deploy keys app component', () => {
const data = getJSONFixture('deploy_keys/keys.json');
let vm;
+ let mock;
- const deployKeysResponse = (request, next) => {
- next(
- request.respondWith(JSON.stringify(data), {
- status: 200,
- }),
- );
- };
+ beforeEach((done) => {
+ // setup axios mock before component
+ mock = new MockAdapter(axios);
+ mock.onGet(`${TEST_HOST}/dummy/`).replyOnce(200, data);
- beforeEach(done => {
const Component = Vue.extend(deployKeysApp);
- Vue.http.interceptors.push(deployKeysResponse);
-
vm = new Component({
propsData: {
- endpoint: '/test',
+ endpoint: `${TEST_HOST}/dummy`,
projectId: '8',
},
}).$mount();
@@ -31,7 +28,7 @@ describe('Deploy keys app component', () => {
});
afterEach(() => {
- Vue.http.interceptors = _.without(Vue.http.interceptors, deployKeysResponse);
+ mock.restore();
});
it('renders loading icon', done => {
diff --git a/spec/javascripts/ide/lib/common/model_spec.js b/spec/javascripts/ide/lib/common/model_spec.js
index 7a6c22b6d27..c278bf92b08 100644
--- a/spec/javascripts/ide/lib/common/model_spec.js
+++ b/spec/javascripts/ide/lib/common/model_spec.js
@@ -28,6 +28,10 @@ describe('Multi-file editor library model', () => {
expect(model.originalModel).not.toBeNull();
expect(model.model).not.toBeNull();
expect(model.baseModel).not.toBeNull();
+
+ expect(model.originalModel.uri.path).toBe('original/path--path');
+ expect(model.model.uri.path).toBe('path--path');
+ expect(model.baseModel.uri.path).toBe('target/path--path');
});
it('creates model with head file to compare against', () => {
diff --git a/spec/javascripts/ide/stores/actions/file_spec.js b/spec/javascripts/ide/stores/actions/file_spec.js
index 3ef5a859001..7bebc2288e3 100644
--- a/spec/javascripts/ide/stores/actions/file_spec.js
+++ b/spec/javascripts/ide/stores/actions/file_spec.js
@@ -569,6 +569,22 @@ describe('IDE store file actions', () => {
.catch(done.fail);
});
+ it('returns false when already opened', done => {
+ store.state.openFiles.push({
+ ...f,
+ active: true,
+ key: `pending-${f.key}`,
+ });
+
+ store
+ .dispatch('openPendingTab', { file: f, keyPrefix: 'pending' })
+ .then(added => {
+ expect(added).toBe(false);
+ })
+ .then(done)
+ .catch(done.fail);
+ });
+
it('pushes router URL when added', done => {
store.state.currentBranchId = 'master';
diff --git a/spec/migrations/add_not_null_constraint_to_project_mirror_data_foreign_key_spec.rb b/spec/migrations/add_not_null_constraint_to_project_mirror_data_foreign_key_spec.rb
new file mode 100644
index 00000000000..6fd3cb1f44e
--- /dev/null
+++ b/spec/migrations/add_not_null_constraint_to_project_mirror_data_foreign_key_spec.rb
@@ -0,0 +1,18 @@
+require 'spec_helper'
+require Rails.root.join('db', 'migrate', '20180508100222_add_not_null_constraint_to_project_mirror_data_foreign_key.rb')
+
+describe AddNotNullConstraintToProjectMirrorDataForeignKey, :migration do
+ let(:namespaces) { table(:namespaces) }
+ let(:projects) { table(:projects) }
+ let(:import_state) { table(:project_mirror_data) }
+
+ before do
+ import_state.create!(id: 1, project_id: nil, status: :started)
+ end
+
+ it 'removes every import state without an associated project_id' do
+ expect do
+ subject.up
+ end.to change { import_state.count }.from(1).to(0)
+ end
+end
diff --git a/spec/models/ci/runner_spec.rb b/spec/models/ci/runner_spec.rb
index fa9dff1c0f1..eb59ba7cbe9 100644
--- a/spec/models/ci/runner_spec.rb
+++ b/spec/models/ci/runner_spec.rb
@@ -3,6 +3,7 @@ require 'spec_helper'
describe Ci::Runner do
describe 'validation' do
it { is_expected.to validate_presence_of(:access_level) }
+ it { is_expected.to validate_presence_of(:runner_type) }
context 'when runner is not allowed to pick untagged jobs' do
context 'when runner does not have tags' do
diff --git a/spec/models/clusters/applications/runner_spec.rb b/spec/models/clusters/applications/runner_spec.rb
index 64d995a73c1..5f2c723d483 100644
--- a/spec/models/clusters/applications/runner_spec.rb
+++ b/spec/models/clusters/applications/runner_spec.rb
@@ -74,9 +74,8 @@ describe Clusters::Applications::Runner do
it 'assigns the new runner to runner' do
subject
- gitlab_runner.reload
- expect(gitlab_runner.runner).not_to be_nil
+ expect(gitlab_runner.reload.runner).to be_project_type
end
end
diff --git a/spec/models/repository_spec.rb b/spec/models/repository_spec.rb
index 4b736b02b7d..a7755a505d8 100644
--- a/spec/models/repository_spec.rb
+++ b/spec/models/repository_spec.rb
@@ -1733,7 +1733,8 @@ describe Repository do
:gitlab_ci,
:avatar,
:issue_template,
- :merge_request_template
+ :merge_request_template,
+ :xcode_config
])
repository.after_change_head
@@ -2058,6 +2059,36 @@ describe Repository do
end
end
+ describe '#xcode_project?' do
+ before do
+ allow(repository).to receive(:tree).with(:head).and_return(double(:tree, blobs: [blob]))
+ end
+
+ context 'when the root contains a *.xcodeproj file' do
+ let(:blob) { double(:blob, path: 'Foo.xcodeproj') }
+
+ it 'returns true' do
+ expect(repository.xcode_project?).to be_truthy
+ end
+ end
+
+ context 'when the root contains a *.xcworkspace file' do
+ let(:blob) { double(:blob, path: 'Foo.xcworkspace') }
+
+ it 'returns true' do
+ expect(repository.xcode_project?).to be_truthy
+ end
+ end
+
+ context 'when the root contains no XCode config file' do
+ let(:blob) { double(:blob, path: 'subdir/Foo.xcworkspace') }
+
+ it 'returns false' do
+ expect(repository.xcode_project?).to be_falsey
+ end
+ end
+ end
+
describe "#keep_around" do
it "does not fail if we attempt to reference bad commit" do
expect(repository.kept_around?('abc1234')).to be_falsey
diff --git a/spec/requests/api/runner_spec.rb b/spec/requests/api/runner_spec.rb
index 082605827b7..da392c5ab81 100644
--- a/spec/requests/api/runner_spec.rb
+++ b/spec/requests/api/runner_spec.rb
@@ -41,6 +41,7 @@ describe API::Runner, :clean_gitlab_redis_shared_state do
expect(json_response['id']).to eq(runner.id)
expect(json_response['token']).to eq(runner.token)
expect(runner.run_untagged).to be true
+ expect(runner.active).to be true
expect(runner.token).not_to eq(registration_token)
expect(runner).to be_instance_type
end
@@ -129,6 +130,28 @@ describe API::Runner, :clean_gitlab_redis_shared_state do
end
end
+ context 'when option for activating a Runner is provided' do
+ context 'when active is set to true' do
+ it 'creates runner' do
+ post api('/runners'), token: registration_token,
+ active: true
+
+ expect(response).to have_gitlab_http_status 201
+ expect(Ci::Runner.first.active).to be true
+ end
+ end
+
+ context 'when active is set to false' do
+ it 'creates runner' do
+ post api('/runners'), token: registration_token,
+ active: false
+
+ expect(response).to have_gitlab_http_status 201
+ expect(Ci::Runner.first.active).to be false
+ end
+ end
+ end
+
context 'when maximum job timeout is specified' do
it 'creates runner' do
post api('/runners'), token: registration_token,
diff --git a/vendor/gitignore/Global/JetBrains.gitignore b/vendor/gitignore/Global/JetBrains.gitignore
index a83a428c844..b09cb3dbc04 100644
--- a/vendor/gitignore/Global/JetBrains.gitignore
+++ b/vendor/gitignore/Global/JetBrains.gitignore
@@ -4,7 +4,8 @@
# User-specific stuff
.idea/**/workspace.xml
.idea/**/tasks.xml
-.idea/dictionaries
+.idea/**/dictionaries
+.idea/**/shelf
# Sensitive or high-churn files
.idea/**/dataSources/
diff --git a/vendor/gitignore/Global/Vim.gitignore b/vendor/gitignore/Global/Vim.gitignore
index 6d21783d471..19cfe22f583 100644
--- a/vendor/gitignore/Global/Vim.gitignore
+++ b/vendor/gitignore/Global/Vim.gitignore
@@ -12,3 +12,5 @@ Session.vim
*~
# Auto-generated tag files
tags
+# Persistent undo
+[._]*.un~
diff --git a/vendor/gitignore/Java.gitignore b/vendor/gitignore/Java.gitignore
index 6143e53f9e3..a1c2a238a96 100644
--- a/vendor/gitignore/Java.gitignore
+++ b/vendor/gitignore/Java.gitignore
@@ -13,6 +13,7 @@
# Package Files #
*.jar
*.war
+*.nar
*.ear
*.zip
*.tar.gz
diff --git a/vendor/gitignore/Objective-C.gitignore b/vendor/gitignore/Objective-C.gitignore
index 09dfede4814..86de6aa3f5f 100644
--- a/vendor/gitignore/Objective-C.gitignore
+++ b/vendor/gitignore/Objective-C.gitignore
@@ -52,7 +52,7 @@ Carthage/Build
fastlane/report.xml
fastlane/Preview.html
-fastlane/screenshots
+fastlane/screenshots/**/*.png
fastlane/test_output
# Code Injection
diff --git a/vendor/gitignore/Swift.gitignore b/vendor/gitignore/Swift.gitignore
index 161179bff3e..312d1f652c6 100644
--- a/vendor/gitignore/Swift.gitignore
+++ b/vendor/gitignore/Swift.gitignore
@@ -64,5 +64,5 @@ Carthage/Build
fastlane/report.xml
fastlane/Preview.html
-fastlane/screenshots
+fastlane/screenshots/**/*.png
fastlane/test_output
diff --git a/vendor/gitignore/TeX.gitignore b/vendor/gitignore/TeX.gitignore
index c560658e45c..e6598ba1727 100644
--- a/vendor/gitignore/TeX.gitignore
+++ b/vendor/gitignore/TeX.gitignore
@@ -198,6 +198,9 @@ pythontex-files-*/
# easy-todo
*.lod
+# xmpincl
+*.xmpi
+
# xindy
*.xdy
@@ -234,3 +237,6 @@ TSWLatexianTemp*
# standalone packages
*.sta
+
+# generated if using elsarticle.cls
+*.spl
diff --git a/vendor/gitignore/Unity.gitignore b/vendor/gitignore/Unity.gitignore
index a7c0c70a0b4..0210746b1a5 100644
--- a/vendor/gitignore/Unity.gitignore
+++ b/vendor/gitignore/Unity.gitignore
@@ -6,7 +6,7 @@
Assets/AssetStoreTools*
# Visual Studio cache directory
-/.vs/
+.vs/
# Autogenerated VS/MD/Consulo solution and project files
ExportedObj/
@@ -22,6 +22,7 @@ ExportedObj/
*.booproj
*.svd
*.pdb
+*.opendb
# Unity3D generated meta files
*.pidb.meta
diff --git a/vendor/gitignore/VisualStudio.gitignore b/vendor/gitignore/VisualStudio.gitignore
index 29063cf6072..3e759b75bf4 100644
--- a/vendor/gitignore/VisualStudio.gitignore
+++ b/vendor/gitignore/VisualStudio.gitignore
@@ -240,6 +240,7 @@ Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
ServiceFabricBackup/
+*.rptproj.bak
# SQL Server files
*.mdf
diff --git a/vendor/gitlab-ci-yml/Chef.gitlab-ci.yml b/vendor/gitlab-ci-yml/Chef.gitlab-ci.yml
index ff7c87c29f0..4d5b6484d6e 100644
--- a/vendor/gitlab-ci-yml/Chef.gitlab-ci.yml
+++ b/vendor/gitlab-ci-yml/Chef.gitlab-ci.yml
@@ -7,7 +7,7 @@
image: "chef/chefdk"
services:
- - docker:stable-dind
+ - docker:dind
variables:
DOCKER_HOST: "tcp://docker:2375"
diff --git a/vendor/gitlab-ci-yml/Docker.gitlab-ci.yml b/vendor/gitlab-ci-yml/Docker.gitlab-ci.yml
index 58d48d1284b..eeefadaa019 100644
--- a/vendor/gitlab-ci-yml/Docker.gitlab-ci.yml
+++ b/vendor/gitlab-ci-yml/Docker.gitlab-ci.yml
@@ -2,7 +2,7 @@
image: docker:latest
services:
- - docker:stable-dind
+ - docker:dind
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
diff --git a/vendor/gitlab-ci-yml/Maven.gitlab-ci.yml b/vendor/gitlab-ci-yml/Maven.gitlab-ci.yml
index ba2efbd03a0..d5ee7ed2c13 100644
--- a/vendor/gitlab-ci-yml/Maven.gitlab-ci.yml
+++ b/vendor/gitlab-ci-yml/Maven.gitlab-ci.yml
@@ -24,7 +24,7 @@ variables:
MAVEN_CLI_OPTS: "--batch-mode --errors --fail-at-end --show-version -DinstallAtEnd=true -DdeployAtEnd=true"
# Cache downloaded dependencies and plugins between builds.
-# To keep cache across branches add 'key: "$CI_JOB_REF_NAME"'
+# To keep cache across branches add 'key: "$CI_JOB_NAME"'
cache:
paths:
- .m2/repository
diff --git a/vendor/gitlab-ci-yml/Swift.gitlab-ci.yml b/vendor/gitlab-ci-yml/Swift.gitlab-ci.yml
index c9c35906d1c..10d0b05d9f8 100644
--- a/vendor/gitlab-ci-yml/Swift.gitlab-ci.yml
+++ b/vendor/gitlab-ci-yml/Swift.gitlab-ci.yml
@@ -1,5 +1,5 @@
# Lifted from: https://about.gitlab.com/2016/03/10/setting-up-gitlab-ci-for-ios-projects/
-# This file assumes an own GitLab CI runner, setup on an OS X system.
+# This file assumes an own GitLab CI runner, setup on an macOS system.
stages:
- build
- archive
@@ -8,11 +8,11 @@ build_project:
stage: build
script:
- xcodebuild clean -project ProjectName.xcodeproj -scheme SchemeName | xcpretty
- - xcodebuild test -project ProjectName.xcodeproj -scheme SchemeName -destination 'platform=iOS Simulator,name=iPhone 6s,OS=9.2' | xcpretty -s
+ - xcodebuild test -project ProjectName.xcodeproj -scheme SchemeName -destination 'platform=iOS Simulator,name=iPhone 8,OS=11.3' | xcpretty -s
tags:
- - ios_9-2
- - xcode_7-2
- - osx_10-11
+ - ios_11-3
+ - xcode_9-3
+ - macos_10-13
archive_project:
stage: archive
@@ -25,6 +25,6 @@ archive_project:
paths:
- build/ProjectName.ipa
tags:
- - ios_9-2
- - xcode_7-2
- - osx_10-11
+ - ios_11-3
+ - xcode_9-3
+ - macos_10-13
diff --git a/vendor/licenses.csv b/vendor/licenses.csv
index ca88f867fe5..07861631a07 100644
--- a/vendor/licenses.csv
+++ b/vendor/licenses.csv
@@ -4,22 +4,19 @@
@babel/template,7.0.0-beta.32,MIT
@babel/traverse,7.0.0-beta.32,MIT
@babel/types,7.0.0-beta.32,MIT
-@gitlab-org/gitlab-svgs,1.17.0,SEE LICENSE IN LICENSE
+@gitlab-org/gitlab-svgs,1.20.0,SEE LICENSE IN LICENSE
+@mrmlnc/readdir-enhanced,2.2.1,MIT
+@sindresorhus/is,0.7.0,MIT
@types/jquery,2.0.48,MIT
-JSONStream,1.3.2,MIT
RedCloth,4.3.2,MIT
abbrev,1.0.9,ISC
abbrev,1.1.1,ISC
-accepts,1.3.3,MIT
accepts,1.3.4,MIT
ace-rails-ap,4.1.2,MIT
acorn,3.3.0,MIT
-acorn,4.0.13,MIT
-acorn,5.1.1,MIT
acorn,5.4.1,MIT
-acorn-dynamic-import,2.0.2,MIT
+acorn-dynamic-import,3.0.0,MIT
acorn-jsx,3.0.1,MIT
-acorn-node,1.3.0,Apache 2.0
actionmailer,4.2.10,MIT
actionpack,4.2.10,MIT
actionview,4.2.10,MIT
@@ -28,14 +25,12 @@ activemodel,4.2.10,MIT
activerecord,4.2.10,MIT
activesupport,4.2.10,MIT
acts-as-taggable-on,5.0.0,MIT
-address,1.0.3,MIT
addressable,2.5.2,Apache 2.0
addressparser,1.0.1,MIT
aes_key_wrap,1.0.1,MIT
after,0.8.2,MIT
agent-base,2.1.1,MIT
ajv,4.11.8,MIT
-ajv,5.2.2,MIT
ajv,5.5.2,MIT
ajv,6.1.1,MIT
ajv-keywords,1.5.1,MIT
@@ -52,8 +47,10 @@ ansi-escapes,3.0.0,MIT
ansi-html,0.0.7,Apache 2.0
ansi-regex,2.1.1,MIT
ansi-regex,3.0.0,MIT
+ansi-styles,1.0.0,MIT
ansi-styles,2.2.1,MIT
-ansi-styles,3.2.0,MIT
+ansi-styles,3.2.1,MIT
+any-observable,0.2.0,MIT
anymatch,1.3.2,ISC
anymatch,2.0.0,ISC
append-transform,0.4.0,MIT
@@ -65,14 +62,12 @@ arr-diff,2.0.0,MIT
arr-diff,4.0.0,MIT
arr-flatten,1.1.0,MIT
arr-union,3.1.0,MIT
-array-filter,0.0.1,MIT
+array-differ,1.0.0,MIT
array-find,1.0.0,MIT
array-find-index,1.0.2,MIT
array-flatten,1.1.1,MIT
array-flatten,2.1.1,MIT
array-includes,3.0.3,MIT
-array-map,0.0.0,MIT
-array-reduce,0.0.0,MIT
array-slice,0.2.3,MIT
array-union,1.0.2,MIT
array-uniq,1.0.3,MIT
@@ -88,11 +83,11 @@ asn1.js,4.10.1,MIT
assert,1.4.1,MIT
assert-plus,0.2.0,MIT
assert-plus,1.0.0,MIT
-asset_sync,2.2.0,MIT
+asset_sync,2.4.0,MIT
assign-symbols,1.0.0,MIT
+ast-types,0.10.1,MIT
ast-types,0.11.1,MIT
-astw,2.2.0,MIT
-async,0.9.2,MIT
+ast-types,0.11.3,MIT
async,1.5.2,MIT
async,2.1.5,MIT
async,2.4.1,MIT
@@ -102,7 +97,7 @@ async-limiter,1.0.0,MIT
asynckit,0.4.0,MIT
atob,2.0.3,(MIT OR Apache-2.0)
atomic,1.1.99,Apache 2.0
-attr_encrypted,3.0.3,MIT
+attr_encrypted,3.1.0,MIT
attr_required,1.0.0,MIT
autoprefixer,6.7.7,MIT
autoprefixer-rails,6.2.3,MIT
@@ -115,7 +110,7 @@ axios,0.15.3,MIT
axios,0.17.1,MIT
axios-mock-adapter,1.10.0,MIT
babel-code-frame,6.26.0,MIT
-babel-core,6.26.0,MIT
+babel-core,6.26.3,MIT
babel-eslint,8.0.2,MIT
babel-generator,6.26.0,MIT
babel-helper-bindify-decorators,6.24.1,MIT
@@ -132,20 +127,25 @@ babel-helper-regex,6.26.0,MIT
babel-helper-remap-async-to-generator,6.24.1,MIT
babel-helper-replace-supers,6.24.1,MIT
babel-helpers,6.24.1,MIT
-babel-loader,7.1.2,MIT
+babel-loader,7.1.4,MIT
babel-messages,6.23.0,MIT
babel-plugin-check-es2015-constants,6.22.0,MIT
-babel-plugin-istanbul,4.1.5,New BSD
+babel-plugin-istanbul,4.1.6,New BSD
+babel-plugin-rewire,1.1.0,ISC
babel-plugin-syntax-async-functions,6.13.0,MIT
babel-plugin-syntax-async-generators,6.13.0,MIT
+babel-plugin-syntax-class-constructor-call,6.18.0,MIT
babel-plugin-syntax-class-properties,6.13.0,MIT
babel-plugin-syntax-decorators,6.13.0,MIT
babel-plugin-syntax-dynamic-import,6.18.0,MIT
babel-plugin-syntax-exponentiation-operator,6.13.0,MIT
+babel-plugin-syntax-export-extensions,6.13.0,MIT
+babel-plugin-syntax-flow,6.18.0,MIT
babel-plugin-syntax-object-rest-spread,6.13.0,MIT
babel-plugin-syntax-trailing-function-commas,6.22.0,MIT
babel-plugin-transform-async-generator-functions,6.24.1,MIT
babel-plugin-transform-async-to-generator,6.24.1,MIT
+babel-plugin-transform-class-constructor-call,6.24.1,MIT
babel-plugin-transform-class-properties,6.24.1,MIT
babel-plugin-transform-decorators,6.24.1,MIT
babel-plugin-transform-define,1.3.0,MIT
@@ -172,6 +172,8 @@ babel-plugin-transform-es2015-template-literals,6.22.0,MIT
babel-plugin-transform-es2015-typeof-symbol,6.23.0,MIT
babel-plugin-transform-es2015-unicode-regex,6.24.1,MIT
babel-plugin-transform-exponentiation-operator,6.24.1,MIT
+babel-plugin-transform-export-extensions,6.22.0,MIT
+babel-plugin-transform-flow-strip-types,6.22.0,MIT
babel-plugin-transform-object-rest-spread,6.23.0,MIT
babel-plugin-transform-regenerator,6.26.0,MIT
babel-plugin-transform-strict-mode,6.24.1,MIT
@@ -179,6 +181,7 @@ babel-preset-es2015,6.24.1,MIT
babel-preset-es2016,6.24.1,MIT
babel-preset-es2017,6.24.1,MIT
babel-preset-latest,6.24.1,MIT
+babel-preset-stage-1,6.24.1,MIT
babel-preset-stage-2,6.24.1,MIT
babel-preset-stage-3,6.24.1,MIT
babel-register,6.26.0,MIT
@@ -189,6 +192,7 @@ babel-types,6.26.0,MIT
babosa,1.0.2,MIT
babylon,6.18.0,MIT
babylon,7.0.0-beta.32,MIT
+babylon,7.0.0-beta.44,MIT
backo2,1.0.2,MIT
balanced-match,0.4.2,MIT
balanced-match,1.0.0,MIT
@@ -206,13 +210,13 @@ better-assert,1.0.2,MIT
bfj-node4,5.2.1,MIT
big.js,3.1.3,MIT
binary-extensions,1.11.0,MIT
+binaryextensions,2.1.1,MIT
bindata,2.4.3,ruby
bitsyntax,0.0.4,UNKNOWN
bl,1.1.2,MIT
blackst0ne-mermaid,7.1.0-fixed,MIT
blob,0.0.4,MIT*
block-stream,0.0.9,ISC
-bluebird,3.5.0,MIT
bluebird,3.5.1,MIT
bn.js,4.11.8,MIT
body-parser,1.18.2,MIT
@@ -224,25 +228,19 @@ bootstrap-sass,3.3.6,MIT
bootstrap_form,2.7.0,MIT
boxen,1.3.0,MIT
brace-expansion,1.1.11,MIT
-brace-expansion,1.1.8,MIT
braces,0.1.5,MIT
braces,1.8.5,MIT
braces,2.3.1,MIT
brorand,1.1.0,MIT
browser,2.2.0,MIT
-browser-pack,6.0.4,MIT
-browser-resolve,1.11.2,MIT
-browserify,14.5.0,MIT
browserify-aes,1.1.1,MIT
browserify-cipher,1.0.0,MIT
browserify-des,1.0.0,MIT
browserify-rsa,4.0.1,MIT
browserify-sign,4.0.4,ISC
browserify-zlib,0.1.4,MIT
-browserify-zlib,0.2.0,MIT
browserslist,1.7.7,MIT
buffer,4.9.1,MIT
-buffer,5.1.0,MIT
buffer-indexof,1.1.0,MIT
buffer-more-ints,0.0.2,MIT
buffer-xor,1.0.3,MIT
@@ -254,13 +252,13 @@ bytes,2.5.0,MIT
bytes,3.0.0,MIT
cacache,10.0.4,ISC
cache-base,1.0.1,MIT
-cached-path-relative,1.0.1,MIT
+cacheable-request,2.1.4,MIT
+call-me-maybe,1.0.1,MIT
caller-path,0.1.0,MIT
callsite,1.0.0,MIT*
callsites,0.2.0,MIT
camelcase,1.2.1,MIT
camelcase,2.1.1,MIT
-camelcase,3.0.0,MIT
camelcase,4.1.0,MIT
camelcase-keys,2.1.0,MIT
caniuse-api,1.6.1,MIT
@@ -271,16 +269,19 @@ caseless,0.11.0,Apache 2.0
caseless,0.12.0,Apache 2.0
cause,0.1,MIT
center-align,0.1.3,MIT
+chalk,0.4.0,MIT
chalk,1.1.3,MIT
-chalk,2.3.0,MIT
-chalk,2.3.1,MIT
+chalk,2.4.0,MIT
+chalk,2.4.1,MIT
chardet,0.4.2,MIT
+charenc,0.0.2,New BSD
charlock_holmes,0.7.6,MIT
chart.js,1.0.2,MIT
check-types,7.3.0,MIT
chokidar,1.7.0,MIT
chokidar,2.0.2,MIT
chownr,1.0.1,ISC
+chrome-trace-event,0.1.2,MIT
chronic,0.10.2,MIT
chronic_duration,0.10.6,MIT
chunky_png,1.3.5,MIT
@@ -294,11 +295,21 @@ classlist-polyfill,1.2.0,Unlicense
cli-boxes,1.0.0,MIT
cli-cursor,1.0.2,MIT
cli-cursor,2.1.0,MIT
+cli-spinners,0.1.2,MIT
+cli-table,0.3.1,MIT
+cli-truncate,0.2.1,MIT
cli-width,2.1.0,ISC
clipboard,1.7.1,MIT
cliui,2.1.0,ISC
-cliui,3.2.0,ISC
+cliui,4.0.0,ISC
clone,1.0.2,MIT
+clone,1.0.3,MIT
+clone,2.1.1,MIT
+clone-buffer,1.0.0,MIT
+clone-response,1.0.2,MIT
+clone-stats,0.0.1,MIT
+clone-stats,1.0.0,MIT
+cloneable-readable,1.0.0,MIT
co,3.0.6,MIT
co,4.6.0,MIT
coa,1.0.1,MIT
@@ -310,11 +321,11 @@ color-convert,1.9.1,MIT
color-name,1.1.2,MIT
color-string,0.3.0,MIT
colormin,1.1.2,MIT
+colors,1.0.3,MIT
colors,1.1.2,MIT
combine-lists,1.0.1,MIT
-combine-source-map,0.7.2,MIT
-combine-source-map,0.8.0,MIT
combined-stream,1.0.6,MIT
+commander,2.13.0,MIT
commander,2.15.1,MIT
commondir,1.0.1,MIT
commonmarker,0.17.8,MIT
@@ -323,9 +334,8 @@ component-emitter,1.2.1,MIT
component-inherit,0.0.3,MIT*
compressible,2.0.11,MIT
compression,1.7.0,MIT
-compression-webpack-plugin,1.1.7,MIT
+compression-webpack-plugin,1.1.11,MIT
concat-map,0.0.1,MIT
-concat-stream,1.5.2,MIT
concat-stream,1.6.0,MIT
concurrent-ruby-ext,1.0.5,MIT
configstore,3.1.1,Simplified BSD
@@ -339,21 +349,18 @@ constants-browserify,1.0.0,MIT
contains-path,0.1.0,MIT
content-disposition,0.5.2,MIT
content-type,1.0.4,MIT
-convert-source-map,1.1.3,MIT
-convert-source-map,1.5.0,MIT
+convert-source-map,1.5.1,MIT
cookie,0.3.1,MIT
cookie-signature,1.0.6,MIT
copy-concurrently,1.0.5,ISC
copy-descriptor,0.1.1,MIT
-copy-webpack-plugin,4.4.1,MIT
+copy-webpack-plugin,4.5.1,MIT
core-js,2.3.0,MIT
-core-js,2.4.1,MIT
-core-js,2.5.1,MIT
core-js,2.5.3,MIT
core-util-is,1.0.2,MIT
-cosmiconfig,2.1.1,MIT
+cosmiconfig,2.2.2,MIT
crack,0.4.3,MIT
-crass,1.0.3,MIT
+crass,1.0.4,MIT
create-ecdh,4.0.0,MIT
create-error-class,3.0.2,MIT
create-hash,1.1.3,MIT
@@ -361,13 +368,14 @@ create-hmac,1.1.6,MIT
creole,0.5.0,ruby
cropper,2.3.0,MIT
cross-spawn,5.1.0,MIT
+cross-spawn,6.0.5,MIT
+crypt,0.0.2,New BSD
cryptiles,2.0.5,New BSD
cryptiles,3.1.2,New BSD
-crypto-browserify,3.11.0,MIT
crypto-browserify,3.12.0,MIT
crypto-random-string,1.0.0,MIT
css-color-names,0.0.4,MIT
-css-loader,0.28.9,MIT
+css-loader,0.28.11,MIT
css-selector-tokenizer,0.7.0,MIT
css_parser,1.5.0,MIT
cssesc,0.1.0,MIT
@@ -400,10 +408,13 @@ d3-transition,1.1.1,New BSD
d3_rails,3.5.11,MIT
dagre-d3-renderer,0.4.24,MIT
dagre-layout,0.8.0,MIT
+dargs,5.1.0,MIT
dashdash,1.14.1,MIT
data-uri-to-buffer,1.2.0,MIT
+date-fns,1.29.0,MIT
date-format,1.2.0,MIT
date-now,0.1.4,MIT
+dateformat,3.0.3,MIT
de-indent,1.0.2,MIT
debug,2.2.0,MIT
debug,2.6.8,MIT
@@ -418,6 +429,7 @@ decode-uri-component,0.2.0,MIT
decompress-response,3.3.0,MIT
deep-equal,1.0.1,MIT
deep-extend,0.4.2,MIT
+deep-extend,0.5.1,MIT
deep-is,0.1.3,MIT
default-require-extensions,1.0.0,MIT
default_value_for,3.0.2,MIT
@@ -433,19 +445,19 @@ delayed-stream,1.0.0,MIT
delegate,3.1.2,MIT
delegates,1.0.0,MIT
depd,1.1.1,MIT
-deps-sort,2.0.0,MIT
des.js,1.0.0,MIT
descendants_tracker,0.0.4,MIT
destroy,1.0.4,MIT
+detect-conflict,1.0.1,MIT
detect-indent,4.0.0,MIT
detect-libc,1.0.3,Apache 2.0
detect-node,2.0.3,ISC
-detect-port-alt,1.1.5,MIT
-detective,4.7.1,MIT
-devise,4.2.0,MIT
+device_detector,1.0.0,LGPL
+devise,4.4.3,MIT
devise-two-factor,3.0.0,MIT
di,0.0.1,MIT
diff,3.4.0,New BSD
+diff,3.5.0,New BSD
diff-lcs,1.3,"MIT,Artistic-2.0,GPL-2.0+"
diffie-hellman,5.0.2,MIT
diffy,3.1.0,MIT
@@ -464,38 +476,43 @@ domelementtype,1.1.3,Simplified BSD
domelementtype,1.3.0,Simplified BSD
domhandler,2.4.1,Simplified BSD
domutils,1.6.2,Simplified BSD
-doorkeeper,4.3.1,MIT
+doorkeeper,4.3.2,MIT
doorkeeper-openid_connect,1.3.0,MIT
dot-prop,4.2.0,MIT
double-ended-queue,2.1.0-0,MIT
dropzone,4.2.0,MIT
dropzonejs-rails,0.7.2,MIT
duplexer,0.1.1,MIT
-duplexer2,0.1.4,New BSD
duplexer3,0.1.4,New BSD
duplexify,3.5.3,MIT
ecc-jsbn,0.1.1,MIT
+editions,1.3.4,MIT
ee-first,1.1.1,MIT
ejs,2.5.7,Apache 2.0
+ejs,2.5.9,Apache 2.0
electron-to-chromium,1.3.3,ISC
+elegant-spinner,1.0.1,MIT
elliptic,6.4.0,MIT
email_reply_trimmer,0.1.6,MIT
emoji-unicode-version,0.2.1,MIT
emojis-list,2.1.0,MIT
encodeurl,1.0.2,MIT
encryptor,3.0.0,MIT
-end-of-stream,1.4.0,MIT
end-of-stream,1.4.1,MIT
engine.io,3.1.5,MIT
engine.io-client,3.1.5,MIT
engine.io-parser,2.1.2,MIT
enhanced-resolve,0.9.1,MIT
-enhanced-resolve,3.4.1,MIT
+enhanced-resolve,4.0.0,MIT
ent,2.2.0,MIT
entities,1.1.1,Simplified BSD
+envinfo,4.4.2,MIT
equalizer,0.0.11,MIT
errno,0.1.4,MIT
+errno,0.1.7,MIT
+error,7.0.2,MIT
error-ex,1.3.0,MIT
+error-ex,1.3.1,MIT
erubis,2.7.0,MIT
es-abstract,1.10.0,MIT
es-to-primitive,1.1.1,MIT
@@ -525,7 +542,6 @@ eslint-plugin-promise,3.5.0,ISC
eslint-plugin-vue,4.0.1,MIT
eslint-scope,3.7.1,Simplified BSD
eslint-visitor-keys,1.0.0,Apache 2.0
-espree,3.5.0,Simplified BSD
espree,3.5.2,Simplified BSD
esprima,2.7.3,Simplified BSD
esprima,3.1.3,Simplified BSD
@@ -545,7 +561,7 @@ eventemitter3,1.2.0,MIT
events,1.1.1,MIT
eventsource,0.1.6,MIT
evp_bytestokey,1.0.3,MIT
-excon,0.60.0,MIT
+excon,0.62.0,MIT
execa,0.7.0,MIT
execjs,2.6.0,MIT
exit-hook,1.1.1,MIT
@@ -562,14 +578,16 @@ extend,3.0.1,MIT
extend-shallow,2.0.1,MIT
extend-shallow,3.0.2,MIT
external-editor,2.1.0,MIT
+external-editor,2.2.0,MIT
extglob,0.3.2,MIT
extglob,2.0.4,MIT
extsprintf,1.3.0,MIT
extsprintf,1.4.0,MIT
faraday,0.12.2,MIT
-faraday_middleware,0.11.0.1,MIT
+faraday_middleware,0.12.2,MIT
faraday_middleware-multi_json,0.0.6,MIT
fast-deep-equal,1.0.0,MIT
+fast-glob,2.2.1,MIT
fast-json-stable-stringify,2.0.0,MIT
fast-levenshtein,2.0.6,MIT
fast_blank,1.0.0,MIT
@@ -581,11 +599,10 @@ ffi,1.9.18,New BSD
figures,1.7.0,MIT
figures,2.0.0,MIT
file-entry-cache,2.0.0,MIT
-file-loader,1.1.8,MIT
+file-loader,1.1.11,MIT
file-uri-to-path,1.0.0,MIT
filename-regex,2.0.1,MIT
fileset,2.0.3,MIT
-filesize,3.5.11,New BSD
filesize,3.6.0,New BSD
fill-range,2.2.3,MIT
fill-range,4.0.0,MIT
@@ -594,11 +611,13 @@ find-cache-dir,1.0.0,MIT
find-root,0.1.2,MIT
find-up,1.1.2,MIT
find-up,2.1.0,MIT
+first-chunk-stream,2.0.0,MIT
flat-cache,1.2.2,MIT
flatten,1.0.2,MIT
flipper,0.13.0,MIT
flipper-active_record,0.13.0,MIT
flipper-active_support_cache_store,0.13.0,MIT
+flow-parser,0.66.0,MIT
flowdock,0.7.1,MIT
flush-write-stream,1.0.2,MIT
fog-aliyun,0.2.0,MIT
@@ -649,19 +668,25 @@ get_process_mem,0.2.0,MIT
getpass,0.1.7,MIT
gettext_i18n_rails,1.8.0,MIT
gettext_i18n_rails_js,1.3.0,MIT
-gitaly-proto,0.94.0,MIT
+gh-got,6.0.0,MIT
+gitaly-proto,0.99.0,MIT
github-linguist,5.3.3,MIT
-github-markup,1.6.1,MIT
+github-markup,1.7.0,MIT
+github-username,4.1.0,MIT
gitlab-flowdock-git-hook,1.0.1,MIT
+gitlab-gollum-lib,4.2.7.2,MIT
+gitlab-gollum-rugged_adapter,0.4.4,MIT
gitlab-grit,2.8.2,MIT
gitlab-markup,1.6.3,MIT
gitlab_omniauth-ldap,2.0.4,MIT
glob,5.0.15,ISC
glob,7.1.1,ISC
glob,7.1.2,ISC
+glob-all,3.1.0,MIT
glob-base,0.3.0,MIT
glob-parent,2.0.0,ISC
glob-parent,3.1.0,ISC
+glob-to-regexp,0.3.0,BSD
global-dirs,0.1.1,MIT
global-modules,1.0.0,MIT
global-prefix,1.0.2,MIT
@@ -671,10 +696,8 @@ globals,9.18.0,MIT
globby,5.0.0,MIT
globby,6.1.0,MIT
globby,7.1.1,MIT
-goldiloader,2.0.1,MIT
+globby,8.0.1,MIT
gollum-grit_adapter,1.0.1,MIT
-gollum-lib,4.2.7,MIT
-gollum-rugged_adapter,0.4.4,MIT
gon,6.1.0,MIT
good-listener,1.2.2,MIT
google-api-client,0.19.8,Apache 2.0
@@ -683,15 +706,16 @@ googleapis-common-protos-types,1.0.1,Apache 2.0
googleauth,0.6.2,Apache 2.0
got,6.7.1,MIT
got,7.1.0,MIT
+got,8.3.0,MIT
gpgme,2.0.13,LGPL-2.1+
graceful-fs,4.1.11,ISC
grape,1.0.2,MIT
-grape-entity,0.6.0,MIT
+grape-entity,0.7.1,MIT
grape-route-helpers,2.1.0,MIT
grape_logging,1.7.0,MIT
graphlib,2.1.1,MIT
-grpc,1.10.0,Apache 2.0
-gzip-size,3.0.0,MIT
+grouped-queue,0.3.3,MIT
+grpc,1.11.0,Apache 2.0
gzip-size,4.1.0,MIT
hamlit,2.6.1,MIT
handle-thing,1.2.5,MIT
@@ -704,6 +728,7 @@ har-validator,5.0.3,ISC
has,1.0.1,MIT
has-ansi,2.0.0,MIT
has-binary2,1.0.2,MIT
+has-color,0.1.7,MIT
has-cors,1.1.0,MIT
has-flag,1.0.0,MIT
has-flag,2.0.0,MIT
@@ -739,16 +764,16 @@ html-entities,1.2.0,MIT
html-pipeline,2.7.1,MIT
html2text,0.2.0,MIT
htmlentities,4.3.4,MIT
-htmlescape,1.1.1,MIT
htmlparser2,3.9.2,MIT
http,2.2.2,MIT
+http-cache-semantics,3.8.1,Simplified BSD
http-cookie,1.0.3,MIT
http-deceiver,1.2.7,MIT
http-errors,1.6.2,MIT
http-form_data,1.0.3,MIT
http-proxy,1.16.2,MIT
http-proxy-agent,1.0.0,MIT
-http-proxy-middleware,0.17.4,MIT
+http-proxy-middleware,0.18.0,MIT
http-signature,1.1.1,MIT
http-signature,1.2.0,MIT
http_parser.rb,0.6.0,MIT
@@ -757,7 +782,6 @@ httpclient,2.8.3,ruby
httpntlm,1.6.1,MIT
httpreq,0.4.24,MIT
https-browserify,0.0.1,MIT
-https-browserify,1.0.0,MIT
https-proxy-agent,1.0.0,MIT
i18n,0.9.5,MIT
ice_nine,0.11.2,MIT
@@ -767,7 +791,6 @@ icss-replace-symbols,1.1.0,ISC
icss-utils,2.1.0,ISC
ieee754,1.1.8,New BSD
iferr,0.1.5,MIT
-ignore,3.3.3,MIT
ignore,3.3.7,MIT
ignore-by-default,1.0.1,ISC
immediate,3.0.6,MIT
@@ -776,6 +799,7 @@ import-local,1.0.0,MIT
imports-loader,0.8.0,MIT
imurmurhash,0.1.4,MIT
indent-string,2.1.0,MIT
+indent-string,3.2.0,MIT
indexes-of,1.0.1,MIT
indexof,0.0.1,MIT*
inflection,1.10.0,MIT
@@ -785,12 +809,13 @@ influxdb,0.2.3,MIT
inherits,2.0.1,ISC
inherits,2.0.3,ISC
ini,1.3.5,ISC
-inline-source-map,0.6.2,MIT
inquirer,0.12.0,MIT
inquirer,3.3.0,MIT
-insert-module-globals,7.0.1,MIT
+inquirer,5.2.0,MIT
internal-ip,1.2.0,MIT
interpret,1.0.1,MIT
+interpret,1.1.0,MIT
+into-stream,3.1.0,MIT
invariant,2.2.2,New BSD
invert-kv,1.0.0,MIT
ip,1.0.1,MIT
@@ -803,7 +828,6 @@ is-accessor-descriptor,0.1.6,MIT
is-accessor-descriptor,1.0.0,MIT
is-arrayish,0.2.1,MIT
is-binary-path,1.0.1,MIT
-is-buffer,1.1.5,MIT
is-buffer,1.1.6,MIT
is-builtin-module,1.0.0,MIT
is-callable,1.1.3,MIT
@@ -812,6 +836,7 @@ is-data-descriptor,1.0.0,MIT
is-date-object,1.0.1,MIT
is-descriptor,0.1.6,MIT
is-descriptor,1.0.2,MIT
+is-directory,0.3.1,MIT
is-dotfile,1.0.3,MIT
is-equal-shallow,0.1.3,MIT
is-extendable,0.1.1,MIT
@@ -826,7 +851,6 @@ is-glob,3.1.0,MIT
is-glob,4.0.0,MIT
is-installed-globally,0.1.0,MIT
is-my-ip-valid,1.0.0,MIT
-is-my-json-valid,2.16.0,MIT
is-my-json-valid,2.17.2,MIT
is-npm,1.0.0,MIT
is-number,0.1.1,MIT
@@ -835,6 +859,7 @@ is-number,3.0.0,MIT
is-number,4.0.0,MIT
is-obj,1.0.1,MIT
is-object,1.0.1,MIT
+is-observable,0.2.0,MIT
is-odd,2.0.0,MIT
is-path-cwd,1.0.0,MIT
is-path-in-cwd,1.0.0,MIT
@@ -850,7 +875,7 @@ is-regex,1.0.4,MIT
is-relative,0.2.1,MIT
is-resolvable,1.0.0,MIT
is-retry-allowed,1.1.0,MIT
-is-root,1.0.0,MIT
+is-scoped,1.0.0,MIT
is-stream,1.1.0,MIT
is-svg,2.1.0,MIT
is-symbol,1.0.1,MIT
@@ -864,7 +889,6 @@ isarray,0.0.1,MIT
isarray,1.0.0,MIT
isarray,2.0.1,MIT
isbinaryfile,3.0.2,MIT
-isexe,1.1.2,ISC
isexe,2.0.0,ISC
isobject,2.1.0,MIT
isobject,3.0.1,MIT
@@ -872,11 +896,14 @@ isstream,0.1.2,MIT
istanbul,0.4.5,New BSD
istanbul-api,1.2.1,New BSD
istanbul-lib-coverage,1.1.1,New BSD
+istanbul-lib-coverage,1.2.0,New BSD
istanbul-lib-hook,1.1.0,New BSD
+istanbul-lib-instrument,1.10.1,New BSD
istanbul-lib-instrument,1.9.1,New BSD
istanbul-lib-report,1.1.2,New BSD
istanbul-lib-source-maps,1.2.2,New BSD
istanbul-reports,1.1.3,New BSD
+istextorbinary,2.2.1,MIT
isurl,1.0.0,MIT
jasmine-core,2.9.0,MIT
jasmine-jquery,2.1.1,MIT
@@ -889,23 +916,25 @@ jquery.waitforimages,2.2.0,MIT
js-base64,2.1.9,New BSD
js-cookie,2.1.3,MIT
js-tokens,3.0.2,MIT
+js-yaml,3.11.0,MIT
js-yaml,3.7.0,MIT
js-yaml,3.9.1,MIT
jsbn,0.1.1,MIT
+jscodeshift,0.4.1,New BSD
+jscodeshift,0.5.0,New BSD
jsesc,0.5.0,MIT
jsesc,1.3.0,MIT
json,1.8.6,ruby
+json-buffer,3.0.0,MIT
json-jwt,1.9.2,MIT
-json-loader,0.5.7,MIT
+json-parse-better-errors,1.0.2,MIT
json-schema,0.2.3,BSD
json-schema-traverse,0.3.1,MIT
-json-stable-stringify,0.0.1,MIT
json-stable-stringify,1.0.1,MIT
json-stringify-safe,5.0.1,ISC
json3,3.3.2,MIT
json5,0.5.1,MIT
jsonify,0.0.0,Public Domain
-jsonparse,1.3.1,MIT
jsonpointer,4.0.1,MIT
jsprim,1.4.1,MIT
jszip,3.1.3,(MIT OR GPL-3.0)
@@ -915,14 +944,15 @@ kaminari,1.0.1,MIT
kaminari-actionview,1.0.1,MIT
kaminari-activerecord,1.0.1,MIT
kaminari-core,1.0.1,MIT
-karma,2.0.0,MIT
+karma,2.0.2,MIT
karma-chrome-launcher,2.2.0,MIT
-karma-coverage-istanbul-reporter,1.4.1,MIT
+karma-coverage-istanbul-reporter,1.4.2,MIT
karma-jasmine,1.1.1,MIT
karma-mocha-reporter,2.2.5,MIT
karma-sourcemap-loader,0.3.7,MIT
-karma-webpack,2.0.7,MIT
+karma-webpack,3.0.0,MIT
katex,0.8.3,MIT
+keyv,3.0.0,MIT
kgio,2.10.0,LGPL-2.1+
killable,1.0.0,ISC
kind-of,3.2.2,MIT
@@ -930,27 +960,28 @@ kind-of,4.0.0,MIT
kind-of,5.1.0,MIT
kind-of,6.0.2,MIT
kubeclient,3.0.0,MIT
-labeled-stream-splicer,2.0.0,MIT
latest-version,3.1.0,MIT
lazy-cache,1.0.4,MIT
lazy-cache,2.0.2,MIT
lcid,1.0.0,MIT
levn,0.3.0,MIT
-lexical-scope,1.2.0,MIT
libbase64,0.1.0,MIT
libmime,3.0.0,MIT
libqp,1.1.0,MIT
licensee,8.9.2,MIT
lie,3.1.1,MIT
+listr,0.13.0,MIT
+listr-silent-renderer,1.1.1,MIT
+listr-update-renderer,0.4.0,MIT
+listr-verbose-renderer,0.4.1,MIT
little-plugger,1.1.4,MIT
load-json-file,1.1.0,MIT
-load-json-file,2.0.0,MIT
+load-json-file,4.0.0,MIT
loader-runner,2.3.0,MIT
-loader-utils,0.2.16,MIT
loader-utils,1.1.0,MIT
locale,2.1.2,"ruby,LGPLv3+"
locate-path,2.0.0,MIT
-lodash,3.10.1,MIT
+lodash,4.17.10,MIT
lodash,4.17.4,MIT
lodash,4.17.5,MIT
lodash._baseget,3.7.2,MIT
@@ -968,24 +999,28 @@ lodash.isarray,3.0.4,MIT
lodash.isfunction,3.0.9,MIT
lodash.isstring,4.0.1,MIT
lodash.kebabcase,4.0.1,MIT
-lodash.memoize,3.0.4,MIT
lodash.memoize,4.1.2,MIT
lodash.mergewith,4.6.0,MIT
lodash.snakecase,4.0.1,MIT
lodash.startswith,4.2.1,MIT
lodash.uniq,4.5.0,MIT
lodash.words,4.2.0,MIT
+log-symbols,1.0.2,MIT
log-symbols,2.1.0,MIT
+log-symbols,2.2.0,MIT
+log-update,1.0.2,MIT
log4js,2.5.3,Apache 2.0
logging,2.2.2,MIT
loggly,1.1.1,MIT
loglevel,1.4.1,MIT
-lograge,0.5.1,MIT
+loglevelnext,1.0.3,MIT
+lograge,0.10.0,MIT
longest,1.0.1,MIT
loofah,2.2.2,MIT
loose-envify,1.3.1,MIT
loud-rejection,1.6.0,MIT
lowercase-keys,1.0.0,MIT
+lru-cache,2.2.4,MIT
lru-cache,2.6.5,ISC
lru-cache,4.1.1,ISC
macaddress,0.2.8,MIT
@@ -994,6 +1029,7 @@ mail_room,0.9.1,MIT
mailcomposer,4.0.1,MIT
mailgun-js,0.7.15,MIT
make-dir,1.0.0,MIT
+make-dir,1.2.0,MIT
map-cache,0.2.2,MIT
map-obj,1.0.1,MIT
map-stream,0.1.0,UNKNOWN
@@ -1004,19 +1040,25 @@ math-expression-evaluator,1.2.16,MIT
md5.js,1.3.4,MIT
media-typer,0.3.0,MIT
mem,1.1.0,MIT
+mem-fs,1.1.3,MIT
+mem-fs-editor,4.0.1,MIT
memoist,0.16.0,MIT
memory-fs,0.2.0,MIT
memory-fs,0.4.1,MIT
meow,3.7.0,MIT
merge-descriptors,1.0.1,MIT
+merge2,1.2.2,MIT
method_source,0.8.2,MIT
methods,1.1.2,MIT
micromatch,2.3.11,MIT
+micromatch,3.1.10,MIT
micromatch,3.1.6,MIT
+micromatch,3.1.9,MIT
miller-rabin,4.0.1,MIT
mime,1.4.1,MIT
mime,1.6.0,MIT
-mime-db,1.29.0,MIT
+mime,2.2.0,MIT
+mime,2.3.1,MIT
mime-db,1.33.0,MIT
mime-types,2.1.18,MIT
mime-types,3.1,MIT
@@ -1028,15 +1070,14 @@ mini_mime,1.0.0,MIT
mini_portile2,2.3.0,MIT
minimalistic-assert,1.0.0,ISC
minimalistic-crypto-utils,1.0.1,MIT
-minimatch,3.0.3,ISC
minimatch,3.0.4,ISC
minimist,0.0.10,MIT
minimist,0.0.8,MIT
+minimist,0.1.0,MIT
minimist,1.2.0,MIT
mississippi,2.0.0,Simplified BSD
mixin-deep,1.3.1,MIT
mkdirp,0.5.1,MIT
-module-deps,4.1.1,MIT
moment,2.19.2,MIT
monaco-editor,0.10.0,MIT
mousetrap,1.4.6,Apache 2.0
@@ -1048,21 +1089,24 @@ multi_json,1.13.1,MIT
multi_xml,0.6.0,MIT
multicast-dns,6.1.1,MIT
multicast-dns-service-types,1.1.0,MIT
+multimatch,2.1.0,MIT
multipart-post,2.0.0,MIT
mustermann,1.0.2,MIT
mustermann-grape,1.0.0,MIT
mute-stream,0.0.5,ISC
mute-stream,0.0.7,ISC
mysql2,0.4.10,MIT
-name-all-modules-plugin,1.0.1,MIT
nan,2.8.0,MIT
nanomatch,1.2.9,MIT
natural-compare,1.4.0,MIT
negotiator,0.6.1,MIT
+neo-async,2.5.0,MIT
net-ldap,0.16.0,MIT
net-ssh,4.2.0,MIT
netmask,1.0.6,MIT
netrc,0.11.0,MIT
+nice-try,1.0.4,MIT
+node-dir,0.1.8,MIT
node-forge,0.6.33,New BSD
node-libs-browser,1.1.1,MIT
node-libs-browser,2.0.0,MIT
@@ -1075,8 +1119,9 @@ nodemailer-shared,1.1.0,MIT
nodemailer-smtp-pool,2.8.2,MIT
nodemailer-smtp-transport,2.7.2,MIT
nodemailer-wellknown,0.1.10,MIT
-nodemon,1.15.1,MIT
+nodemon,1.17.3,MIT
nokogiri,1.8.2,MIT
+nomnom,1.8.1,MIT
nopt,1.0.10,MIT
nopt,3.0.6,ISC
nopt,4.0.1,ISC
@@ -1084,6 +1129,7 @@ normalize-package-data,2.4.0,Simplified BSD
normalize-path,2.1.1,MIT
normalize-range,0.1.2,MIT
normalize-url,1.9.1,MIT
+normalize-url,2.0.1,MIT
npm-run-path,2.0.2,MIT
npmlog,4.1.2,ISC
null-check,1.0.0,MIT
@@ -1108,10 +1154,9 @@ omniauth-authentiq,0.3.1,MIT
omniauth-azure-oauth2,0.0.9,MIT
omniauth-cas3,1.1.4,MIT
omniauth-facebook,4.0.0,MIT
-omniauth-github,1.1.2,MIT
+omniauth-github,1.3.0,MIT
omniauth-gitlab,1.0.2,MIT
omniauth-google-oauth2,0.5.3,MIT
-omniauth-jwt,0.0.2,MIT
omniauth-kerberos,0.3.0,MIT
omniauth-multipassword,0.4.2,MIT
omniauth-oauth,1.1.0,MIT
@@ -1130,36 +1175,39 @@ opener,1.4.3,(WTFPL OR MIT)
opn,5.2.0,MIT
optimist,0.6.1,MIT
optionator,0.8.2,MIT
+ora,0.2.3,MIT
org-ruby,0.9.12,MIT
original,1.0.0,MIT
orm_adapter,0.5.0,MIT
os,0.9.6,MIT
os-browserify,0.2.1,MIT
-os-browserify,0.3.0,MIT
os-homedir,1.0.2,MIT
-os-locale,1.4.0,MIT
os-locale,2.1.0,MIT
os-tmpdir,1.0.2,MIT
osenv,0.1.5,ISC
p-cancelable,0.3.0,MIT
+p-cancelable,0.4.1,MIT
+p-each-series,1.0.0,MIT
p-finally,1.0.0,MIT
-p-limit,1.1.0,MIT
+p-is-promise,1.1.0,MIT
+p-lazy,1.0.0,MIT
p-limit,1.2.0,MIT
p-locate,2.0.0,MIT
p-map,1.1.1,MIT
-p-timeout,1.2.0,MIT
+p-reduce,1.0.0,MIT
+p-timeout,1.2.1,MIT
+p-timeout,2.0.1,MIT
p-try,1.0.0,MIT
pac-proxy-agent,1.1.0,MIT
pac-resolver,2.0.0,MIT
package-json,4.0.1,MIT
pako,0.2.9,MIT
-pako,1.0.5,(MIT AND Zlib)
pako,1.0.6,(MIT AND Zlib)
parallel-transform,1.1.0,MIT
-parents,1.0.1,MIT
parse-asn1,5.1.0,ISC
parse-glob,3.0.4,MIT
parse-json,2.2.0,MIT
+parse-json,4.0.0,MIT
parse-passwd,1.0.0,MIT
parseqs,0.0.5,MIT
parseuri,0.0.5,MIT
@@ -1173,18 +1221,15 @@ path-is-absolute,1.0.1,MIT
path-is-inside,1.0.2,(WTFPL OR MIT)
path-key,2.0.1,MIT
path-parse,1.0.5,MIT
-path-platform,0.11.15,MIT
path-proxy,1.0.0,MIT
path-to-regexp,0.1.7,MIT
path-type,1.1.0,MIT
-path-type,2.0.0,MIT
path-type,3.0.0,MIT
pause-stream,0.0.11,Apache 2.0
pbkdf2,3.0.14,MIT
peek,1.0.1,MIT
peek-gc,0.0.2,MIT
peek-mysql2,1.1.0,MIT
-peek-performance_bar,1.3.1,MIT
peek-pg,1.3.0,MIT
peek-rblineprof,0.2.0,MIT
peek-redis,1.2.0,MIT
@@ -1206,9 +1251,8 @@ portfinder,1.0.13,MIT
posix-character-classes,0.1.1,MIT
posix-spawn,0.3.13,MIT
postcss,5.2.16,MIT
-postcss,6.0.14,MIT
-postcss,6.0.15,MIT
postcss,6.0.19,MIT
+postcss,6.0.21,MIT
postcss-calc,5.3.1,MIT
postcss-colormin,2.2.2,MIT
postcss-convert-values,2.6.1,MIT
@@ -1248,13 +1292,15 @@ prelude-ls,1.1.2,MIT
premailer,1.10.4,New BSD
premailer-rails,1.9.7,MIT
prepend-http,1.0.4,MIT
+prepend-http,2.0.0,MIT
preserve,0.2.0,MIT
+prettier,1.10.2,MIT
prettier,1.11.1,MIT
prettier,1.8.2,MIT
+pretty-bytes,4.0.2,MIT
prismjs,1.6.0,MIT
private,0.1.8,MIT
process,0.11.10,MIT
-process,0.11.9,MIT
process-nextick-args,1.0.7,MIT
process-nextick-args,2.0.0,MIT
progress,1.1.8,MIT
@@ -1263,6 +1309,7 @@ promise-inflight,1.0.1,ISC
proxy-addr,2.0.3,MIT
proxy-agent,2.0.0,MIT
prr,0.0.0,MIT
+prr,1.0.1,MIT
ps-tree,1.1.0,MIT
pseudomap,1.0.2,ISC
pstree.remy,1.1.0,MIT
@@ -1280,11 +1327,12 @@ qs,6.2.3,New BSD
qs,6.4.0,New BSD
qs,6.5.1,New BSD
query-string,4.3.2,MIT
+query-string,5.1.1,MIT
querystring,0.2.0,MIT
querystring-es3,0.2.1,MIT
querystringify,0.0.4,MIT
querystringify,1.0.0,MIT
-rack,1.6.9,MIT
+rack,1.6.10,MIT
rack-accept,0.4.5,MIT
rack-attack,4.4.1,MIT
rack-cors,1.0.2,MIT
@@ -1300,7 +1348,7 @@ rails-i18n,4.0.9,MIT
railties,4.2.10,MIT
rainbow,2.2.2,MIT
raindrops,0.18.0,LGPL-2.1+
-rake,12.3.0,MIT
+rake,12.3.1,MIT
randomatic,1.1.7,MIT
randombytes,2.0.6,MIT
randomfill,1.0.4,MIT
@@ -1313,27 +1361,24 @@ rb-fsevent,0.10.2,MIT
rb-inotify,0.9.10,MIT
rbnacl,4.0.2,MIT
rbnacl-libsodium,1.0.11,MIT
-rc,1.2.1,(BSD-2-Clause OR MIT OR Apache-2.0)
rc,1.2.5,(BSD-2-Clause OR MIT OR Apache-2.0)
rdoc,4.2.2,ruby
re2,1.1.1,New BSD
-react-dev-utils,5.0.0,MIT
-react-error-overlay,4.0.0,MIT
-read-only-stream,2.0.0,MIT
+read-chunk,2.1.0,MIT
read-pkg,1.1.0,MIT
-read-pkg,2.0.0,MIT
+read-pkg,3.0.0,MIT
read-pkg-up,1.0.1,MIT
-read-pkg-up,2.0.0,MIT
+read-pkg-up,3.0.0,MIT
readable-stream,1.1.14,MIT
readable-stream,2.0.6,MIT
-readable-stream,2.3.3,MIT
readable-stream,2.3.4,MIT
readdirp,2.1.0,MIT
readline2,1.0.1,MIT
recaptcha,3.0.0,MIT
+recast,0.12.9,MIT
+recast,0.14.7,MIT
rechoir,0.6.2,MIT
recursive-open-struct,1.0.5,MIT
-recursive-readdir,2.2.1,MIT
redcarpet,3.4.0,MIT
redent,1.0.0,MIT
redis,2.8.0,MIT
@@ -1364,6 +1409,8 @@ repeat-element,1.1.2,MIT
repeat-string,0.2.2,MIT
repeat-string,1.6.1,MIT
repeating,2.0.1,MIT
+replace-ext,0.0.1,MIT
+replace-ext,1.0.0,MIT
representable,3.0.4,MIT
request,2.75.0,Apache 2.0
request,2.81.0,Apache 2.0
@@ -1378,24 +1425,27 @@ require-uncached,1.0.3,MIT
requires-port,1.0.0,MIT
resolve,1.1.7,MIT
resolve,1.5.0,MIT
+resolve,1.7.1,MIT
resolve-cwd,2.0.0,MIT
resolve-dir,1.0.1,MIT
resolve-from,1.0.1,MIT
resolve-from,3.0.0,MIT
resolve-url,0.2.1,MIT
-responders,2.3.0,MIT
+responders,2.4.0,MIT
+responselike,1.0.2,MIT
rest-client,2.0.2,MIT
restore-cursor,1.0.1,MIT
restore-cursor,2.0.0,MIT
ret,0.1.15,MIT
retriable,3.1.1,MIT
right-align,0.1.3,MIT
+rimraf,2.2.8,MIT
rimraf,2.6.1,ISC
rimraf,2.6.2,ISC
rinku,2.0.0,ISC
ripemd160,2.0.1,MIT
rotp,2.1.2,MIT
-rouge,2.2.1,MIT
+rouge,3.1.1,MIT
rqrcode,0.7.0,MIT
rqrcode-rails3,0.1.7,MIT
ruby-enum,0.7.2,MIT
@@ -1413,6 +1463,7 @@ run-queue,1.0.3,ISC
rx-lite,3.1.2,Apache 2.0
rx-lite,4.0.8,Apache 2.0
rx-lite-aggregates,4.0.8,Apache 2.0
+rxjs,5.5.10,Apache 2.0
safe-buffer,5.1.1,MIT
safe-regex,1.1.0,MIT
safe_yaml,1.0.4,MIT
@@ -1423,8 +1474,8 @@ sass-listen,4.0.0,MIT
sass-rails,5.0.6,MIT
sawyer,0.8.1,MIT
sax,1.2.2,ISC
-schema-utils,0.3.0,MIT
schema-utils,0.4.5,MIT
+scoped-regex,1.0.0,MIT
securecompare,1.0.0,MIT
seed-fu,2.3.7,MIT
select,1.1.2,MIT
@@ -1452,11 +1503,11 @@ setprototypeof,1.1.0,ISC
settingslogic,2.0.9,MIT
sexp_processor,4.9.0,MIT
sha.js,2.4.10,MIT
-shasum,1.0.2,MIT
+sha1,1.1.1,New BSD
shebang-command,1.2.0,MIT
shebang-regex,1.0.0,MIT
-shell-quote,1.6.1,MIT
shelljs,0.7.8,New BSD
+shelljs,0.8.1,New BSD
sidekiq,5.0.5,LGPL
sidekiq-cron,0.6.0,MIT
sidekiq-limit_fetch,3.4.0,MIT
@@ -1466,6 +1517,7 @@ slack-node,0.2.0,MIT
slack-notifier,1.5.1,MIT
slash,1.0.0,MIT
slice-ansi,0.0.4,MIT
+slide,1.1.6,ISC
smart-buffer,1.1.15,MIT
smtp-connection,2.12.0,MIT
snapdragon,0.8.1,MIT
@@ -1483,6 +1535,7 @@ socks,1.1.10,MIT
socks,1.1.9,MIT
socks-proxy-agent,2.1.1,MIT
sort-keys,1.1.2,MIT
+sort-keys,2.0.0,MIT
source-list-map,2.0.0,MIT
source-map,0.2.0,New BSD
source-map,0.4.4,New BSD
@@ -1516,50 +1569,51 @@ statuses,1.3.1,MIT
statuses,1.4.0,MIT
stream-browserify,2.0.1,MIT
stream-combiner,0.0.4,MIT
-stream-combiner2,1.1.1,MIT
stream-each,1.2.2,MIT
-stream-http,2.6.3,MIT
stream-http,2.8.0,MIT
stream-shift,1.0.0,MIT
-stream-splicer,2.0.0,MIT
+stream-to-observable,0.2.0,MIT
streamroller,0.7.0,MIT
strict-uri-encode,1.1.0,MIT
+string-template,0.2.1,MIT
string-width,1.0.2,MIT
-string-width,2.0.0,MIT
string-width,2.1.1,MIT
string_decoder,0.10.31,MIT
string_decoder,1.0.3,MIT
-stringex,2.7.1,MIT
+stringex,2.8.4,MIT
stringstream,0.0.5,MIT
+strip-ansi,0.1.1,MIT
strip-ansi,3.0.1,MIT
strip-ansi,4.0.0,MIT
strip-bom,2.0.0,MIT
strip-bom,3.0.0,MIT
+strip-bom-stream,2.0.0,MIT
strip-eof,1.0.0,MIT
strip-indent,1.0.1,MIT
strip-json-comments,2.0.1,MIT
-style-loader,0.20.2,MIT
-subarg,1.0.0,MIT
+style-loader,0.21.0,MIT
supports-color,2.0.0,MIT
supports-color,3.2.3,MIT
-supports-color,4.2.1,MIT
-supports-color,4.5.0,MIT
supports-color,5.1.0,MIT
supports-color,5.2.0,MIT
+supports-color,5.4.0,MIT
svg4everybody,2.1.9,CC0-1.0
svgo,0.7.2,MIT
-syntax-error,1.4.0,MIT
+symbol-observable,0.2.4,MIT
+symbol-observable,1.0.1,MIT
sys-filesystem,1.1.6,Artistic 2.0
table,3.8.3,New BSD
tapable,0.1.10,MIT
-tapable,0.2.8,MIT
+tapable,1.0.0,MIT
tar,2.2.1,ISC
tar-pack,3.4.1,Simplified BSD
+temp,0.8.3,MIT
temple,0.7.7,MIT
term-size,1.2.0,MIT
-test-exclude,4.1.1,ISC
+test-exclude,4.2.1,ISC
text,1.3.1,MIT
text-table,0.2.0,MIT
+textextensions,2.2.0,MIT
thor,0.19.4,MIT
thread_safe,0.3.6,Apache 2.0
three,0.84.0,MIT
@@ -1570,7 +1624,6 @@ through2,2.0.3,MIT
thunkify,2.1.2,MIT
thunky,0.1.0,MIT*
tilt,2.0.6,MIT
-time-stamp,2.0.0,MIT
timeago.js,3.0.2,MIT
timed-out,4.0.1,MIT
timers-browserify,1.4.2,MIT
@@ -1585,6 +1638,7 @@ to-fast-properties,1.0.3,MIT
to-fast-properties,2.0.0,MIT
to-object-path,0.3.0,MIT
to-regex,3.0.1,MIT
+to-regex,3.0.2,MIT
to-regex-range,2.1.1,MIT
toml-rb,1.0.0,MIT
touch,3.1.0,ISC
@@ -1597,7 +1651,6 @@ tryer,1.0.0,MIT
tryit,1.0.3,MIT
tsscmp,1.0.5,MIT
tty-browserify,0.0.0,MIT
-tty-browserify,0.0.1,MIT
tunnel-agent,0.4.3,Apache 2.0
tunnel-agent,0.6.0,Apache 2.0
tweetnacl,0.14.5,Unlicense
@@ -1608,16 +1661,17 @@ tzinfo,1.2.5,MIT
u2f,0.2.1,MIT
uber,0.1.0,MIT
uglifier,2.7.2,MIT
+uglify-es,3.3.9,Simplified BSD
uglify-js,2.8.29,Simplified BSD
uglify-to-browserify,1.0.2,MIT
-uglifyjs-webpack-plugin,0.4.6,MIT
+uglifyjs-webpack-plugin,1.2.5,MIT
uid-number,0.0.6,ISC
ultron,1.1.1,MIT
-umd,3.0.1,MIT
unc-path-regex,0.1.2,MIT
undefsafe,2.0.2,MIT
+underscore,1.6.0,MIT
underscore,1.7.0,MIT
-underscore,1.8.3,MIT
+underscore,1.9.0,MIT
unf,0.1.4,BSD
unf_ext,0.0.7.5,MIT
unicorn,5.1.0,ruby
@@ -1631,25 +1685,30 @@ unique-slug,2.0.0,ISC
unique-string,1.0.0,MIT
unpipe,1.0.0,MIT
unset-value,1.0.0,MIT
+untildify,3.0.2,MIT
unzip-response,2.0.1,MIT
upath,1.0.2,MIT
update-notifier,2.3.0,Simplified BSD
urix,0.1.0,MIT
url,0.11.0,MIT
-url-loader,0.6.2,MIT
+url-join,2.0.5,MIT
+url-join,4.0.0,MIT
+url-loader,1.0.1,MIT
url-parse,1.0.5,MIT
url-parse,1.1.9,MIT
url-parse-lax,1.0.0,MIT
+url-parse-lax,3.0.0,MIT
url-to-options,1.0.1,MIT
url_safe_base64,0.2.2,MIT
use,2.0.2,MIT
user-home,2.0.0,MIT
-useragent,2.3.0,MIT
+useragent,2.2.1,MIT
util,0.10.3,MIT
util-deprecate,1.0.2,MIT
utils-merge,1.0.1,MIT
uuid,3.2.1,MIT
uws,9.14.0,Zlib
+v8-compile-cache,1.1.2,MIT
validate-npm-package-license,3.0.1,Apache 2.0
validates_hostname,1.0.6,MIT
vary,1.1.1,MIT
@@ -1657,38 +1716,46 @@ vary,1.1.2,MIT
vendors,1.0.1,MIT
verror,1.10.0,MIT
version_sorter,2.1.0,MIT
+vinyl,1.2.0,MIT
+vinyl,2.1.0,MIT
+vinyl-file,2.0.0,MIT
virtus,1.0.5,MIT
visibilityjs,1.2.4,MIT
vm-browserify,0.0.4,MIT
vmstat,2.3.0,MIT
void-elements,2.0.1,MIT
-vue,2.5.13,MIT
+vue,2.5.16,MIT
vue-eslint-parser,2.0.1,MIT
-vue-hot-reload-api,2.2.4,MIT
-vue-loader,14.1.1,MIT
-vue-resource,1.3.5,MIT
+vue-hot-reload-api,2.3.0,MIT
+vue-loader,14.2.2,MIT
+vue-resource,1.5.0,MIT
vue-router,3.0.1,MIT
-vue-style-loader,4.0.2,MIT
-vue-template-compiler,2.5.13,MIT
+vue-style-loader,4.1.0,MIT
+vue-template-compiler,2.5.16,MIT
vue-template-es2015-compiler,1.6.0,MIT
+vue-virtual-scroll-list,1.2.5,MIT
vuex,3.0.1,MIT
-warden,1.2.6,MIT
-watchpack,1.4.0,MIT
+warden,1.2.7,MIT
+watchpack,1.5.0,MIT
wbuf,1.7.2,MIT
-webpack,3.11.0,MIT
-webpack-bundle-analyzer,2.10.0,MIT
-webpack-dev-middleware,1.12.2,MIT
-webpack-dev-server,2.11.2,MIT
+webpack,4.7.0,MIT
+webpack-addons,1.1.5,MIT
+webpack-bundle-analyzer,2.11.1,MIT
+webpack-cli,2.1.2,MIT
+webpack-dev-middleware,2.0.6,MIT
+webpack-dev-middleware,3.1.3,MIT
+webpack-dev-server,3.1.4,MIT
+webpack-log,1.1.2,MIT
+webpack-log,1.2.0,MIT
webpack-rails,0.9.10,MIT
webpack-sources,1.0.1,MIT
-webpack-stats-plugin,0.1.5,MIT
+webpack-sources,1.1.0,MIT
+webpack-stats-plugin,0.2.1,MIT
websocket-driver,0.6.5,MIT
websocket-extensions,0.1.1,MIT
when,3.7.8,MIT
whet.extend,0.9.9,MIT
-which,1.2.12,ISC
which,1.3.0,ISC
-which-module,1.0.0,ISC
which-module,2.0.0,ISC
wide-align,1.1.2,ISC
widest-line,2.0.0,MIT
@@ -1697,10 +1764,12 @@ window-size,0.1.0,MIT
wordwrap,0.0.2,MIT
wordwrap,0.0.3,MIT
wordwrap,1.0.0,MIT
-worker-loader,1.1.0,MIT
+worker-farm,1.5.2,MIT
+worker-loader,1.1.1,MIT
wrap-ansi,2.1.0,MIT
wrappy,1.0.2,ISC
write,0.2.1,MIT
+write-file-atomic,1.3.4,ISC
write-file-atomic,2.3.0,ISC
ws,3.3.3,MIT
ws,4.0.0,MIT
@@ -1712,9 +1781,12 @@ xtend,4.0.1,MIT
y18n,3.2.1,ISC
y18n,4.0.0,ISC
yallist,2.1.2,ISC
+yargs,1.2.6,MIT
+yargs,11.0.0,MIT
+yargs,11.1.0,MIT
yargs,3.10.0,MIT
-yargs,6.6.0,MIT
-yargs,8.0.2,MIT
-yargs-parser,4.2.1,ISC
-yargs-parser,7.0.0,ISC
+yargs-parser,9.0.2,ISC
yeast,0.1.2,MIT
+yeoman-environment,2.0.5,Simplified BSD
+yeoman-environment,2.0.6,Simplified BSD
+yeoman-generator,2.0.5,Simplified BSD
diff --git a/yarn.lock b/yarn.lock
index d3d04fa0d47..b48a16c6ff1 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -444,9 +444,9 @@ aws4@^1.2.1, aws4@^1.6.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e"
-axios-mock-adapter@^1.10.0:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/axios-mock-adapter/-/axios-mock-adapter-1.10.0.tgz#3ccee65466439a2c7567e932798fc0377d39209d"
+axios-mock-adapter@^1.15.0:
+ version "1.15.0"
+ resolved "https://registry.yarnpkg.com/axios-mock-adapter/-/axios-mock-adapter-1.15.0.tgz#fbc06825d8302c95c3334d21023bba996255d45d"
dependencies:
deep-equal "^1.0.1"
@@ -5406,10 +5406,6 @@ lodash.deburr@^4.0.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/lodash.deburr/-/lodash.deburr-4.1.0.tgz#ddb1bbb3ef07458c0177ba07de14422cb033ff9b"
-lodash.endswith@^4.2.1:
- version "4.2.1"
- resolved "https://registry.yarnpkg.com/lodash.endswith/-/lodash.endswith-4.2.1.tgz#fed59ac1738ed3e236edd7064ec456448b37bc09"
-
lodash.escaperegexp@^4.1.2:
version "4.1.2"
resolved "https://registry.yarnpkg.com/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz#64762c48618082518ac3df4ccf5d5886dae20347"
@@ -5425,14 +5421,6 @@ lodash.isarray@^3.0.0:
version "3.0.4"
resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55"
-lodash.isfunction@^3.0.8:
- version "3.0.9"
- resolved "https://registry.yarnpkg.com/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz#06de25df4db327ac931981d1bdb067e5af68d051"
-
-lodash.isstring@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451"
-
lodash.kebabcase@4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.0.1.tgz#5e63bc9aa2a5562ff3b97ca7af2f803de1bcb90e"
@@ -5455,10 +5443,6 @@ lodash.snakecase@4.0.1:
lodash.deburr "^4.0.0"
lodash.words "^4.0.0"
-lodash.startswith@^4.2.1:
- version "4.2.1"
- resolved "https://registry.yarnpkg.com/lodash.startswith/-/lodash.startswith-4.2.1.tgz#c598c4adce188a27e53145731cdc6c0e7177600c"
-
lodash.uniq@^4.5.0:
version "4.5.0"
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
@@ -8787,13 +8771,8 @@ unzip-response@^2.0.1:
resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97"
upath@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/upath/-/upath-1.0.2.tgz#80aaae5395abc5fd402933ae2f58694f0860204c"
- dependencies:
- lodash.endswith "^4.2.1"
- lodash.isfunction "^3.0.8"
- lodash.isstring "^4.0.1"
- lodash.startswith "^4.2.1"
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/upath/-/upath-1.0.5.tgz#02cab9ecebe95bbec6d5fc2566325725ab6d1a73"
update-notifier@^2.3.0:
version "2.3.0"