Add latest changes from gitlab-org/gitlab@master

This commit is contained in:
GitLab Bot 2020-01-23 06:08:32 +00:00
parent ccaa944882
commit 0f8c2334f0
52 changed files with 195 additions and 153 deletions

View File

@ -18,7 +18,6 @@ export function startPollingDetails({ commit }, endpoint) {
data: { endpoint },
successCallback: ({ data }) => {
if (!data) {
detailPoll.restart();
return;
}
@ -43,7 +42,6 @@ export function startPollingStacktrace({ commit }, endpoint) {
data: { endpoint },
successCallback: ({ data }) => {
if (!data) {
stackTracePoll.restart();
return;
}
commit(types.SET_STACKTRACE_DATA, data.error);

View File

@ -6,7 +6,7 @@
Mattermost
.col-sm-10
.form-check.js-toggle-container
.js-toggle-button.form-check-input= f.check_box(:create_chat_team, { checked: true }, true, false)
.js-toggle-button.form-check-input= f.check_box(:create_chat_team, { checked: false }, true, false)
= f.label :create_chat_team, class: 'form-check-label' do
= _('Create a Mattermost team for this group')
%br

View File

@ -0,0 +1,5 @@
---
title: Default the `creation of a Mattermost team` checkbox to false
merge_request: 23329
author: briankabiro
type: changed

View File

@ -0,0 +1,5 @@
---
title: Make rake -T output more consistent
merge_request: 23550
author:
type: other

View File

@ -0,0 +1,5 @@
---
title: Ensure that error tracking frontend only polls when required
merge_request: 23305
author:
type: fixed

View File

@ -105,7 +105,7 @@ bundle exec rake file_hooks:validate RAILS_ENV=production
Example of output:
```
```plaintext
Validating file hooks from /plugins directory
* /home/git/gitlab/plugins/save_to_file.clj succeed (zero exit code)
* /home/git/gitlab/plugins/save_to_file.rb failure (non-zero exit code)

View File

@ -45,7 +45,7 @@ query.
## Can I `git push` to a **secondary** node?
Yes! Pushing directly to a **secondary** node (for both HTTP and SSH, including Git LFS) was [introduced](https://about.gitlab.com/blog/2018/09/22/gitlab-11-3-released/) in [GitLab Premium](https://about.gitlab.com/pricing/#self-managed) 11.3.
Yes! Pushing directly to a **secondary** node (for both HTTP and SSH, including Git LFS) was [introduced](https://about.gitlab.com/releases/2018/09/22/gitlab-11-3-released/) in [GitLab Premium](https://about.gitlab.com/pricing/#self-managed) 11.3.
## How long does it take to have a commit replicated to a **secondary** node?

View File

@ -63,7 +63,7 @@ Keep in mind that:
- Get user data for logins (API).
- Replicate repositories, LFS Objects, and Attachments (HTTPS + JWT).
- Since GitLab Premium 10.0, the **primary** node no longer talks to **secondary** nodes to notify for changes (API).
- Pushing directly to a **secondary** node (for both HTTP and SSH, including Git LFS) was [introduced](https://about.gitlab.com/blog/2018/09/22/gitlab-11-3-released/) in [GitLab Premium](https://about.gitlab.com/pricing/#self-managed) 11.3.
- Pushing directly to a **secondary** node (for both HTTP and SSH, including Git LFS) was [introduced](https://about.gitlab.com/releases/2018/09/22/gitlab-11-3-released/) in [GitLab Premium](https://about.gitlab.com/pricing/#self-managed) 11.3.
- There are [limitations](#current-limitations) in the current implementation.
### Architecture

View File

@ -2,8 +2,8 @@
The following security review of the Geo feature set focuses on security aspects of
the feature as they apply to customers running their own GitLab instances. The review
questions are based in part on the [OWASP Application Security Verification Standard Project](https://www.owasp.org/index.php/Category:OWASP_Application_Security_Verification_Standard_Project)
from [owasp.org](https://www.owasp.org/index.php/Main_Page).
questions are based in part on the [OWASP Application Security Verification Standard Project](https://owasp.org/www-project-application-security-verification-standard/)
from [owasp.org](https://www.owasp.org/).
## Business Model

View File

@ -4,7 +4,7 @@
After you set up the [database replication and configure the Geo nodes][req], use your closest GitLab node as you would a normal standalone GitLab instance.
Pushing directly to a **secondary** node (for both HTTP, SSH including Git LFS) was [introduced](https://about.gitlab.com/blog/2018/09/22/gitlab-11-3-released/) in [GitLab Premium](https://about.gitlab.com/pricing/#self-managed) 11.3.
Pushing directly to a **secondary** node (for both HTTP, SSH including Git LFS) was [introduced](https://about.gitlab.com/releases/2018/09/22/gitlab-11-3-released/) in [GitLab Premium](https://about.gitlab.com/pricing/#self-managed) 11.3.
Example of the output you will see when pushing to a **secondary** node:

View File

@ -98,7 +98,7 @@ The Pages daemon doesn't listen to the outside world.
1. Install the Pages daemon:
```
```bash
cd /home/git
sudo -u git -H git clone https://gitlab.com/gitlab-org/gitlab-pages.git
cd gitlab-pages
@ -160,7 +160,7 @@ outside world.
1. Install the Pages daemon:
```
```bash
cd /home/git
sudo -u git -H git clone https://gitlab.com/gitlab-org/gitlab-pages.git
cd gitlab-pages
@ -225,7 +225,7 @@ world. Custom domains are supported, but no TLS.
1. Install the Pages daemon:
```
```bash
cd /home/git
sudo -u git -H git clone https://gitlab.com/gitlab-org/gitlab-pages.git
cd gitlab-pages
@ -290,7 +290,7 @@ world. Custom domains and TLS are supported.
1. Install the Pages daemon:
```
```bash
cd /home/git
sudo -u git -H git clone https://gitlab.com/gitlab-org/gitlab-pages.git
cd gitlab-pages
@ -353,20 +353,20 @@ not remove the backslashes.
If your GitLab Pages domain is `example.io`, replace:
```bash
```nginx
server_name ~^.*\.YOUR_GITLAB_PAGES\.DOMAIN$;
```
with:
```
```nginx
server_name ~^.*\.example\.io$;
```
If you are using a subdomain, make sure to escape all dots (`.`) except from
the first one with a backslash (\). For example `pages.example.io` would be:
```
```nginx
server_name ~^.*\.pages\.example\.io$;
```

View File

@ -33,7 +33,7 @@ integrity check described previously.
**Omnibus Installation**
```
```bash
sudo gitlab-rake gitlab:git:fsck
```
@ -58,7 +58,7 @@ Currently, integrity checks are supported for the following types of file:
**Omnibus Installation**
```
```bash
sudo gitlab-rake gitlab:artifacts:check
sudo gitlab-rake gitlab:lfs:check
sudo gitlab-rake gitlab:uploads:check
@ -90,7 +90,7 @@ sudo gitlab-rake gitlab:uploads:check BATCH=100 ID_FROM=50 ID_TO=250
Example output:
```
```bash
$ sudo gitlab-rake gitlab:uploads:check
Checking integrity of Uploads
- 1..1350: Failures: 0
@ -107,7 +107,7 @@ Done!
Example verbose output:
```
```bash
$ sudo gitlab-rake gitlab:uploads:check VERBOSE=1
Checking integrity of Uploads
- 1..1350: Failures: 0

View File

@ -11,7 +11,7 @@ This is equivalent of running `git repack -d` on a _bare_ repository.
**Omnibus Installation**
```
```bash
sudo gitlab-rake geo:git:housekeeping:incremental_repack
```
@ -29,7 +29,7 @@ when this is enabled in GitLab.
**Omnibus Installation**
```
```bash
sudo gitlab-rake geo:git:housekeeping:full_repack
```
@ -46,7 +46,7 @@ a reachability bitmap index when this is enabled in GitLab.
**Omnibus Installation**
```
```bash
sudo gitlab-rake geo:git:housekeeping:gc
```
@ -63,7 +63,7 @@ can remove them using the rake task `geo:run_orphaned_project_registry_cleaner`:
**Omnibus Installation**
```
```bash
sudo gitlab-rake geo:run_orphaned_project_registry_cleaner
```

View File

@ -9,7 +9,7 @@ using the command below.
**Omnibus Installation**
```
```bash
sudo gitlab-rake gitlab:ldap:check
```
@ -41,7 +41,7 @@ instead.
**Omnibus Installation**
```
```bash
sudo gitlab-rake gitlab:ldap:group_sync
```
@ -101,7 +101,7 @@ sudo gitlab-rake gitlab:ldap:rename_provider[ldapmain,ldapmycompany]
Example output:
```
```plaintext
100 users with provider 'ldapmain' will be updated to 'ldapmycompany'.
If the new provider is incorrect, users will be unable to sign in.
Do you want to continue (yes/no)? yes
@ -128,7 +128,7 @@ bundle exec rake gitlab:ldap:rename_provider RAILS_ENV=production
**Example output:**
```
```plaintext
What is the old provider? Ex. 'ldapmain': ldapmain
What is the new provider? Ex. 'ldapcustom': ldapmycompany
```

View File

@ -6,19 +6,19 @@ This command gathers information about your GitLab installation and the System i
**Omnibus Installation**
```
```bash
sudo gitlab-rake gitlab:env:info
```
**Source Installation**
```
```bash
bundle exec rake gitlab:env:info RAILS_ENV=production
```
Example output:
```
```plaintext
System information
System: Debian 7.8
Current User: git
@ -66,13 +66,13 @@ You may also have a look at our Troubleshooting Guides:
**Omnibus Installation**
```
```bash
sudo gitlab-rake gitlab:check
```
**Source Installation**
```
```bash
bundle exec rake gitlab:check RAILS_ENV=production
```
@ -80,7 +80,7 @@ NOTE: Use `SANITIZE=true` for `gitlab:check` if you want to omit project names f
Example output:
```
```plaintext
Checking Environment ...
Git configured for git user? ... yes
@ -129,18 +129,18 @@ In some case it is necessary to rebuild the `authorized_keys` file.
**Omnibus Installation**
```
```bash
sudo gitlab-rake gitlab:shell:setup
```
**Source Installation**
```
```bash
cd /home/git/gitlab
sudo -u git -H bundle exec rake gitlab:shell:setup RAILS_ENV=production
```
```
```plaintext
This will rebuild an authorized_keys file.
You will lose any data stored in authorized_keys file.
Do you want to continue (yes/no)? yes
@ -153,13 +153,13 @@ clear Redis' cache.
**Omnibus Installation**
```
```bash
sudo gitlab-rake cache:clear
```
**Source Installation**
```
```bash
cd /home/git/gitlab
sudo -u git -H bundle exec rake cache:clear RAILS_ENV=production
```
@ -174,7 +174,7 @@ Omnibus packages.
**Source Installation**
```
```bash
cd /home/git/gitlab
sudo -u git -H bundle exec rake gitlab:assets:compile RAILS_ENV=production
```
@ -194,13 +194,13 @@ in the GitLab Performance Monitoring database.
**Omnibus Installation**
```
```bash
sudo gitlab-rake gitlab:track_deployment
```
**Source Installation**
```
```bash
cd /home/git/gitlab
sudo -u git -H bundle exec rake gitlab:track_deployment RAILS_ENV=production
```
@ -213,13 +213,13 @@ is included to help you with this:
**Omnibus Installation**
```
```bash
sudo gitlab-rake gitlab:tcp_check[example.com,80]
```
**Source Installation**
```
```bash
cd /home/git/gitlab
sudo -u git -H bundle exec rake gitlab:tcp_check[example.com,80] RAILS_ENV=production
```
@ -279,6 +279,6 @@ This could be as a result of [updating existing metrics](../../development/prome
To re-import the metrics you can run:
```sh
```bash
sudo gitlab-rake metrics:setup_common_metrics
```

View File

@ -659,8 +659,6 @@ procfile exec` to replicate the environment where your application will run.
#### Workers
> [Introduced](https://gitlab.com/gitlab-org/gitlab/issues/30628) in GitLab 12.6, `.gitlab/auto-deploy-values.yaml` will be used by default for Helm upgrades.
Some web applications need to run extra deployments for "worker processes". For
example, it is common in a Rails application to have a separate worker process
to run background tasks like sending emails.
@ -683,17 +681,8 @@ need to:
ensure it's passed into your deployments.
Once you have configured your worker to respond to health checks, run a Sidekiq
worker for your Rails application. For:
- GitLab 12.6 and later, either:
- Add a file named `.gitlab/auto-deploy-values.yaml` to your repository. It will
be automatically used if found.
- Add a file with a different name or path to the repository, and override the value of the
`HELM_UPGRADE_VALUES_FILE` variable with the path and name.
- GitLab 12.5 and earlier, run the worker with the `--values` parameter that specifies
a file in the repository.
In any case, the file must contain the following:
worker for your Rails application. You can enable workers by setting the
following in the [`.gitlab/auto-deploy-values.yaml` file](#customize-values-for-helm-chart):
```yml
workers:
@ -927,8 +916,21 @@ repo or by specifying a project variable:
- **Project variable** - Create a [project variable](../../ci/variables/README.md#gitlab-cicd-environment-variables)
`AUTO_DEVOPS_CHART` with the URL of a custom chart to use or create two project variables `AUTO_DEVOPS_CHART_REPOSITORY` with the URL of a custom chart repository and `AUTO_DEVOPS_CHART` with the path to the chart.
You can also make use of the `HELM_UPGRADE_EXTRA_ARGS` environment variable to override the default values in the `values.yaml` file in the [default Helm chart](https://gitlab.com/gitlab-org/charts/auto-deploy-app).
To apply your own `values.yaml` file to all Helm upgrade commands in Auto Deploy set `HELM_UPGRADE_EXTRA_ARGS` to `--values my-values.yaml`.
### Customize values for Helm Chart
> [Introduced](https://gitlab.com/gitlab-org/gitlab/issues/30628) in GitLab 12.6, `.gitlab/auto-deploy-values.yaml` will be used by default for Helm upgrades.
You can override the default values in the `values.yaml` file in the [default Helm chart](https://gitlab.com/gitlab-org/charts/auto-deploy-app).
This can be achieved by either:
- Adding a file named `.gitlab/auto-deploy-values.yaml` to your repository. It will
be automatically used if found.
- Adding a file with a different name or path to the repository, and set the
`HELM_UPGRADE_VALUES_FILE` [environment variable](#environment-variables) with the path and name.
NOTE: **Note:**
For GitLab 12.5 and earlier, the `HELM_UPGRADE_EXTRA_ARGS` environment variable can be used to override the default chart values.
To do so, set `HELM_UPGRADE_EXTRA_ARGS` to `--values my-values.yaml`.
### Custom Helm chart per environment

View File

@ -78,7 +78,7 @@ service: gitlab-example
provider:
name: aws
runtime: nodejs10.x
functions:
hello:
handler: src/handler.hello
@ -222,7 +222,7 @@ From there, you can reference them in your functions as well.
Remember to add `A_VARIABLE` to your GitLab CI variables under **Settings > CI/CD > Variables**, and it will get picked up and deployed with your function.
NOTE: **Note:**
Anyone with access to the AWS environemnt may be able to see the values of those
Anyone with access to the AWS environment may be able to see the values of those
variables persisted in the lambda definition.
### Setting up CORS

View File

@ -12,9 +12,9 @@ The [Prometheus service](../prometheus.md) must be enabled.
| Name | Query |
| ---- | ----- |
| Throughput (req/sec) | sum(aws_elb_request_count_sum{%{environment_filter}}) / 60 |
| Latency (ms) | avg(aws_elb_latency_average{%{environment_filter}}) * 1000 |
| HTTP Error Rate (%) | sum(aws_elb_httpcode_backend_5_xx_sum{%{environment_filter}}) / sum(aws_elb_request_count_sum{%{environment_filter}}) |
| Throughput (req/sec) | `sum(aws_elb_request_count_sum{%{environment_filter}}) / 60` |
| Latency (ms) | `avg(aws_elb_latency_average{%{environment_filter}}) * 1000` |
| HTTP Error Rate (%) | `sum(aws_elb_httpcode_backend_5_xx_sum{%{environment_filter}}) / sum(aws_elb_request_count_sum{%{environment_filter}})` |
## Configuring Prometheus to monitor for Cloudwatch metrics

View File

@ -62,8 +62,8 @@ Data will be encoded with a comma as the column delimiter, with `"` used to quot
| Confidential | `Yes` or `No` |
| Locked | `Yes` or `No` |
| Due Date | Formated as `YYYY-MM-DD` |
| Created At (UTC) | Formated as `YYYY-MM-DD HH:MM:SS` |
| Updated At (UTC) | Formated as `YYYY-MM-DD HH:MM:SS` |
| Created At (UTC) | Formatted as `YYYY-MM-DD HH:MM:SS` |
| Updated At (UTC) | Formatted as `YYYY-MM-DD HH:MM:SS` |
| Milestone | Title of the issue milestone |
| Weight | Issue weight |
| Labels | Title of any labels joined with a `,` |

View File

@ -17,7 +17,7 @@ or through the GitLab UI.
This document describes the several ways to create a merge request.
When you start a new merge request, regarless of the method,
When you start a new merge request, regardless of the method,
you'll be taken to the [**New Merge Request** page](#new-merge-request-page)
to fill it with information about the merge request.
@ -29,9 +29,9 @@ button and start a merge request from there.
On the **New Merge Request** page, start by filling in the title
and description for the merge request. If there are are already
commits on the branch, the title will be pre-filled with the first
commits on the branch, the title will be prefilled with the first
line of the first commit message, and the description will be
pre-filled with any additional lines in the commit message.
prefilled with any additional lines in the commit message.
The title is the only field that is mandatory in all cases.
From there, you can fill it with information (title, description,

View File

@ -63,7 +63,7 @@ merge request from the UI, until you make all relevant jobs pass.
When this setting is enabled, a merge request is prevented from being merged if there is no pipeline. This may conflict with some use cases where [`only/except`](../../../ci/yaml/README.md#onlyexcept-advanced) rules are used and they don't generate any pipelines.
Users that expect to be able to merge a merge request in this scenario should ensure that [there is always a pipeline](https://gitlab.com/gitlab-org/gitlab-foss/issues/54226) and that it's succesful.
Users that expect to be able to merge a merge request in this scenario should ensure that [there is always a pipeline](https://gitlab.com/gitlab-org/gitlab-foss/issues/54226) and that it's successful.
For example, to that on merge requests there is always a passing job even though `only/except` rules may not generate any other jobs:

View File

@ -38,7 +38,7 @@ repository. There, you will have full [Owner](../../permissions.md)
access, so you can set it up as you please.
CAUTION: **CAUTION:**
From GitLab 12.6 onwards, if the [visibility of an upstream project is reduced](../../../public_access/public_access.md#reducing-visibility)
From GitLab 12.6 onward, if the [visibility of an upstream project is reduced](../../../public_access/public_access.md#reducing-visibility)
in any way, the fork relationship with all its forks will be removed.
CAUTION: **Caution:**

View File

@ -49,7 +49,7 @@ After making your changes, click the **Commit** button in the bottom left to
review the list of changed files. If you're using GitLab 12.6 or older versions,
click on each file to review the changes and tick the item to stage a file.
From [GitLab 12.7 onwards](https://gitlab.com/gitlab-org/gitlab/issues/33441),
From [GitLab 12.7 onward](https://gitlab.com/gitlab-org/gitlab/issues/33441),
all your files will be automatically staged. You still have the option to unstage
changes in case you want to submit them in multiple smaller commits. To unstage
a change, simply click the **Unstage** button when a staged file is open, or click

View File

@ -3,7 +3,7 @@ namespace :cache do
REDIS_CLEAR_BATCH_SIZE = 1000 # There seems to be no speedup when pushing beyond 1,000
REDIS_SCAN_START_STOP = '0'.freeze # Magic value, see http://redis.io/commands/scan
desc "GitLab | Clear redis cache"
desc "GitLab | Cache | Clear redis cache"
task redis: :environment do
Gitlab::Redis::Cache.with do |redis|
cache_key_pattern = %W[#{Gitlab::Redis::Cache::CACHE_NAMESPACE}*

View File

@ -1,6 +1,6 @@
namespace :ci do
namespace :cleanup do
desc "GitLab CI | Clean running builds"
desc "GitLab | CI | Clean running builds"
task builds: :environment do
Ci::Build.running.update_all(status: 'canceled')
end

View File

@ -1,7 +1,7 @@
task dev: ["dev:setup"]
namespace :dev do
desc "GitLab | Setup developer environment (db, fixtures)"
desc "GitLab | Dev | Setup developer environment (db, fixtures)"
task setup: :environment do
ENV['force'] = 'yes'
Rake::Task["gitlab:setup"].invoke
@ -12,7 +12,7 @@ namespace :dev do
Rake::Task["gitlab:shell:setup"].invoke
end
desc "GitLab | Eager load application"
desc "GitLab | Dev | Eager load application"
task load: :environment do
Rails.configuration.eager_load = true
Rails.application.eager_load!

View File

@ -1,7 +1,7 @@
require 'logger'
require 'resolv-replace'
desc "GitLab | Migrate files for artifacts to comply with new storage format"
desc 'GitLab | Artifacts | Migrate files for artifacts to comply with new storage format'
namespace :gitlab do
namespace :artifacts do
task migrate: :environment do

View File

@ -3,18 +3,18 @@ require 'active_record/fixtures'
namespace :gitlab do
namespace :backup do
# Create backup of GitLab system
desc "GitLab | Create a backup of the GitLab system"
desc 'GitLab | Backup | Create a backup of the GitLab system'
task create: :gitlab_environment do
warn_user_is_not_gitlab
Rake::Task["gitlab:backup:db:create"].invoke
Rake::Task["gitlab:backup:repo:create"].invoke
Rake::Task["gitlab:backup:uploads:create"].invoke
Rake::Task["gitlab:backup:builds:create"].invoke
Rake::Task["gitlab:backup:artifacts:create"].invoke
Rake::Task["gitlab:backup:pages:create"].invoke
Rake::Task["gitlab:backup:lfs:create"].invoke
Rake::Task["gitlab:backup:registry:create"].invoke
Rake::Task['gitlab:backup:db:create'].invoke
Rake::Task['gitlab:backup:repo:create'].invoke
Rake::Task['gitlab:backup:uploads:create'].invoke
Rake::Task['gitlab:backup:builds:create'].invoke
Rake::Task['gitlab:backup:artifacts:create'].invoke
Rake::Task['gitlab:backup:pages:create'].invoke
Rake::Task['gitlab:backup:lfs:create'].invoke
Rake::Task['gitlab:backup:registry:create'].invoke
backup = Backup::Manager.new(progress)
backup.pack
@ -28,7 +28,7 @@ namespace :gitlab do
end
# Restore backup of GitLab system
desc 'GitLab | Restore a previously created backup'
desc 'GitLab | Backup | Restore a previously created backup'
task restore: :gitlab_environment do
warn_user_is_not_gitlab

View File

@ -1,6 +1,6 @@
namespace :gitlab do
namespace :import do
desc "GitLab | Add all users to all projects (admin users are added as maintainers)"
desc "GitLab | Import | Add all users to all projects (admin users are added as maintainers)"
task all_users_to_all_projects: :environment do |t, args|
user_ids = User.where(admin: false).pluck(:id)
admin_ids = User.where(admin: true).pluck(:id)
@ -13,7 +13,7 @@ namespace :gitlab do
ProjectMember.add_users_to_projects(project_ids, admin_ids, ProjectMember::MAINTAINER)
end
desc "GitLab | Add a specific user to all projects (as a developer)"
desc "GitLab | Import | Add a specific user to all projects (as a developer)"
task :user_to_projects, [:email] => :environment do |t, args|
user = User.find_by(email: args.email)
project_ids = Project.pluck(:id)
@ -21,7 +21,7 @@ namespace :gitlab do
ProjectMember.add_users_to_projects(project_ids, Array.wrap(user.id), ProjectMember::DEVELOPER)
end
desc "GitLab | Add all users to all groups (admin users are added as owners)"
desc "GitLab | Import | Add all users to all groups (admin users are added as owners)"
task all_users_to_all_groups: :environment do |t, args|
user_ids = User.where(admin: false).pluck(:id)
admin_ids = User.where(admin: true).pluck(:id)
@ -35,7 +35,7 @@ namespace :gitlab do
end
end
desc "GitLab | Add a specific user to all groups (as a developer)"
desc "GitLab | Import | Add a specific user to all groups (as a developer)"
task :user_to_groups, [:email] => :environment do |t, args|
user = User.find_by_email args.email
groups = Group.all

View File

@ -5,35 +5,35 @@ namespace :gitlab do
end
namespace :app do
desc 'GitLab | Check the configuration of the GitLab Rails app'
desc 'GitLab | App | Check the configuration of the GitLab Rails app'
task check: :gitlab_environment do
SystemCheck::RakeTask::AppTask.run!
end
end
namespace :gitlab_shell do
desc "GitLab | Check the configuration of GitLab Shell"
desc 'GitLab | GitLab Shell | Check the configuration of GitLab Shell'
task check: :gitlab_environment do
SystemCheck::RakeTask::GitlabShellTask.run!
end
end
namespace :gitaly do
desc 'GitLab | Check the health of Gitaly'
desc 'GitLab | Gitaly | Check the health of Gitaly'
task check: :gitlab_environment do
SystemCheck::RakeTask::GitalyTask.run!
end
end
namespace :sidekiq do
desc "GitLab | Check the configuration of Sidekiq"
desc 'GitLab | Sidekiq | Check the configuration of Sidekiq'
task check: :gitlab_environment do
SystemCheck::RakeTask::SidekiqTask.run!
end
end
namespace :incoming_email do
desc "GitLab | Check the configuration of Reply by email"
desc 'GitLab | Incoming Email | Check the configuration of Reply by email'
task check: :gitlab_environment do
SystemCheck::RakeTask::IncomingEmailTask.run!
end
@ -48,17 +48,17 @@ namespace :gitlab do
end
namespace :orphans do
desc 'Gitlab | Check for orphaned namespaces and repositories'
desc 'Gitlab | Orphans | Check for orphaned namespaces and repositories'
task check: :gitlab_environment do
SystemCheck::RakeTask::OrphansTask.run!
end
desc 'GitLab | Check for orphaned namespaces in the repositories path'
desc 'GitLab | Orphans | Check for orphaned namespaces in the repositories path'
task check_namespaces: :gitlab_environment do
SystemCheck::RakeTask::Orphans::NamespaceTask.run!
end
desc 'GitLab | Check for orphaned repositories in the repositories path'
desc 'GitLab | Orphans | Check for orphaned repositories in the repositories path'
task check_repositories: :gitlab_environment do
SystemCheck::RakeTask::Orphans::RepositoryTask.run!
end

View File

@ -1,6 +1,6 @@
namespace :gitlab do
namespace :db do
desc 'GitLab | Manually insert schema migration version'
desc 'GitLab | DB | Manually insert schema migration version'
task :mark_migration_complete, [:version] => :environment do |_, args|
unless args[:version]
puts "Must specify a migration version as an argument".color(:red)
@ -22,7 +22,7 @@ namespace :gitlab do
end
end
desc 'Drop all tables'
desc 'GitLab | DB | Drop all tables'
task drop_tables: :environment do
connection = ActiveRecord::Base.connection
@ -41,7 +41,7 @@ namespace :gitlab do
tables.each { |t| connection.execute("DROP TABLE IF EXISTS #{connection.quote_table_name(t)} CASCADE") }
end
desc 'Configures the database by running migrate, or by loading the schema and seeding if needed'
desc 'GitLab | DB | Configures the database by running migrate, or by loading the schema and seeding if needed'
task configure: :environment do
# Check if we have existing db tables
# The schema_migrations table will still exist if drop_tables was called
@ -55,7 +55,7 @@ namespace :gitlab do
end
end
desc 'Checks if migrations require downtime or not'
desc 'GitLab | DB | Checks if migrations require downtime or not'
task :downtime_check, [:ref] => :environment do |_, args|
abort 'You must specify a Git reference to compare with' unless args[:ref]
@ -71,7 +71,7 @@ namespace :gitlab do
Gitlab::DowntimeCheck.new.check_and_print(migrations)
end
desc 'Sets up EE specific database functionality'
desc 'GitLab | DB | Sets up EE specific database functionality'
if Gitlab.ee?
task setup_ee: %w[geo:db:drop geo:db:create geo:db:schema:load geo:db:migrate]

View File

@ -1,6 +1,6 @@
namespace :gitlab do
namespace :exclusive_lease do
desc 'GitLab | Clear existing exclusive leases for specified scope (default: *)'
desc 'GitLab | Exclusive Lease | Clear existing exclusive leases for specified scope (default: *)'
task :clear, [:scope] => [:environment] do |_, args|
args[:scope].nil? ? Gitlab::ExclusiveLease.reset_all! : Gitlab::ExclusiveLease.reset_all!(args[:scope])
puts 'All exclusive lease entries were removed.'

View File

@ -1,6 +1,6 @@
namespace :gitlab do
namespace :gitaly do
desc "GitLab | Install or upgrade gitaly"
desc 'GitLab | Gitaly | Install or upgrade gitaly'
task :install, [:dir, :storage_path, :repo] => :gitlab_environment do |t, args|
warn_user_is_not_gitlab

View File

@ -21,7 +21,7 @@ namespace :gitlab do
)
namespace :graphql do
desc 'GitLab | Generate GraphQL docs'
desc 'GitLab | GraphQL | Generate GraphQL docs'
task compile_docs: :environment do
renderer = Gitlab::Graphql::Docs::Renderer.new(GitlabSchema.graphql_definition, render_options)
@ -30,7 +30,7 @@ namespace :gitlab do
puts "Documentation compiled."
end
desc 'GitLab | Check if GraphQL docs are up to date'
desc 'GitLab | GraphQL | Check if GraphQL docs are up to date'
task check_docs: :environment do
renderer = Gitlab::Graphql::Docs::Renderer.new(GitlabSchema.graphql_definition, render_options)
@ -44,7 +44,7 @@ namespace :gitlab do
end
end
desc 'GitLab | Check if GraphQL schemas are up to date'
desc 'GitLab | GraphQL | Check if GraphQL schemas are up to date'
task check_schema: :environment do
idl_doc = File.read(Rails.root.join(OUTPUT_DIR, 'gitlab_schema.graphql'))
json_doc = File.read(Rails.root.join(OUTPUT_DIR, 'gitlab_schema.json'))

View File

@ -8,7 +8,7 @@ namespace :gitlab do
# Notes:
# * The project owner will set to the first administator of the system
# * Existing projects will be skipped
desc "GitLab | Import bare repositories from repositories -> storages into GitLab project instance"
desc "GitLab | Import | Import bare repositories from repositories -> storages into GitLab project instance"
task :repos, [:import_path] => :environment do |_t, args|
unless args.import_path
puts 'Please specify an import path that contains the repositories'.color(:red)

View File

@ -1,16 +1,16 @@
namespace :gitlab do
namespace :import_export do
desc "GitLab | Show Import/Export version"
desc 'GitLab | Import/Export | Show Import/Export version'
task version: :environment do
puts "Import/Export v#{Gitlab::ImportExport.version}"
end
desc "GitLab | Display exported DB structure"
desc 'GitLab | Import/Export | Display exported DB structure'
task data: :environment do
puts Gitlab::ImportExport::Config.new.to_h['project_tree'].to_yaml(SortKeys: true)
end
desc 'GitLab | Bumps the Import/Export version in fixtures and project templates'
desc 'GitLab | Import/Export | Bumps the Import/Export version in fixtures and project templates'
task bump_version: :environment do
archives = Dir['vendor/project_templates/*.tar.gz']
archives.push('spec/features/projects/import_export/test_project_export.tar.gz')

View File

@ -11,7 +11,7 @@
#
namespace :gitlab do
namespace :import_export do
desc 'EXPERIMENTAL | Import large project archives'
desc 'GitLab | Import/Export | EXPERIMENTAL | Import large project archives'
task :import, [:username, :namespace_path, :project_path, :archive_path] => :gitlab_environment do |_t, args|
# Load it here to avoid polluting Rake tasks with Sidekiq test warnings
require 'sidekiq/testing'

View File

@ -1,6 +1,6 @@
namespace :gitlab do
namespace :env do
desc "GitLab | Show information about GitLab and its environment"
desc 'GitLab | Env | Show information about GitLab and its environment'
task info: :gitlab_environment do
# check if there is an RVM environment
rvm_version = run_and_match(%w(rvm --version), /[\d\.]+/).try(:to_s)

View File

@ -1,6 +1,6 @@
require 'logger'
desc "GitLab | Migrate LFS objects to remote storage"
desc "GitLab | LFS | Migrate LFS objects to remote storage"
namespace :gitlab do
namespace :lfs do
task migrate: :environment do

View File

@ -1,7 +1,7 @@
# frozen_string_literal: true
namespace :metrics do
desc "GitLab | Setup common metrics"
desc "GitLab | Metrics | Setup common metrics"
task setup_common_metrics: :gitlab_environment do
::Gitlab::DatabaseImporters::CommonMetrics::Importer.new.execute
end

View File

@ -1,6 +1,6 @@
namespace :gitlab do
namespace :shell do
desc "GitLab | Install or upgrade gitlab-shell"
desc "GitLab | Shell | Install or upgrade gitlab-shell"
task :install, [:repo] => :gitlab_environment do |t, args|
warn_user_is_not_gitlab
@ -54,12 +54,12 @@ namespace :gitlab do
Gitlab::Shell.ensure_secret_token!
end
desc "GitLab | Setup gitlab-shell"
desc "GitLab | Shell | Setup gitlab-shell"
task setup: :gitlab_environment do
setup
end
desc "GitLab | Build missing projects"
desc "GitLab | Shell | Build missing projects"
task build_missing_projects: :gitlab_environment do
Project.find_each(batch_size: 1000) do |project|
path_to_repo = project.repository.path_to_repo

View File

@ -16,7 +16,7 @@ namespace :gitlab do
File.write(path, banner + YAML.dump(object))
end
desc 'GitLab | Generate all_queues.yml based on worker definitions'
desc 'GitLab | Sidekiq | Generate all_queues.yml based on worker definitions'
task generate: :environment do
foss_workers, ee_workers = Gitlab::SidekiqConfig.workers_for_all_queues_yml
@ -27,7 +27,7 @@ namespace :gitlab do
end
end
desc 'GitLab | Validate that all_queues.yml matches worker definitions'
desc 'GitLab | Sidekiq | Validate that all_queues.yml matches worker definitions'
task check: :environment do
if Gitlab::SidekiqConfig.all_queues_yml_outdated?
raise <<~MSG

View File

@ -1,6 +1,6 @@
namespace :gitlab do
namespace :two_factor do
desc "GitLab | Disable Two-factor authentication (2FA) for all users"
desc "GitLab | 2FA | Disable Two-factor authentication (2FA) for all users"
task disable_for_all_users: :gitlab_environment do
scope = User.with_two_factor
count = scope.count
@ -25,12 +25,12 @@ namespace :gitlab do
@rotator ||= Gitlab::OtpKeyRotator.new(ENV['filename'])
end
desc "Encrypt user OTP secrets with a new encryption key"
desc "GitLab | 2FA | Rotate Key | Encrypt user OTP secrets with a new encryption key"
task apply: :environment do |t, args|
rotator.rotate!(old_key: ENV['old_key'], new_key: ENV['new_key'])
end
desc "Rollback to secrets encrypted with the old encryption key"
desc "GitLab | 2FA | Rotate Key | Rollback to secrets encrypted with the old encryption key"
task rollback: :environment do
rotator.rollback!
end

View File

@ -1,6 +1,6 @@
namespace :gitlab do
namespace :web_hook do
desc "GitLab | Adds a webhook to the projects"
desc "GitLab | Webhook | Adds a webhook to the projects"
task add: :environment do
web_hook_url = ENV['URL']
namespace_path = ENV['NAMESPACE']
@ -20,7 +20,7 @@ namespace :gitlab do
end
end
desc "GitLab | Remove a webhook from the projects"
desc "GitLab | Webhook | Remove a webhook from the projects"
task rm: :environment do
web_hook_url = ENV['URL']
namespace_path = ENV['NAMESPACE']
@ -44,7 +44,7 @@ namespace :gitlab do
puts "#{count} webhooks were removed."
end
desc "GitLab | List webhooks"
desc "GitLab | Webhook | List webhooks"
task list: :environment do
namespace_path = ENV['NAMESPACE']

View File

@ -1,6 +1,6 @@
namespace :gitlab do
namespace :workhorse do
desc "GitLab | Install or upgrade gitlab-workhorse"
desc "GitLab | Workhorse | Install or upgrade gitlab-workhorse"
task :install, [:dir, :repo] => :gitlab_environment do |t, args|
warn_user_is_not_gitlab

View File

@ -138,7 +138,7 @@ class GithubRepos
end
namespace :import do
desc 'Import a GitHub project - Example: import:github[ToKeN,root,root/blah,my/github_repo] (optional my/github_repo)'
desc 'GitLab | Import | Import a GitHub project - Example: import:github[ToKeN,root,root/blah,my/github_repo] (optional my/github_repo)'
task :github, [:token, :gitlab_username, :project_path] => :environment do |_t, args|
abort 'Project path must be: namespace(s)/project_name'.color(:red) unless args.project_path.include?('/')

View File

@ -4,7 +4,7 @@ unless Rails.env.production?
ENV['STATIC_VERIFICATION'] = 'true'
end
desc "GitLab | lint | Static verification"
desc "GitLab | Lint | Static verification"
task static_verification: %w[
lint:static_verification_env
dev:load
@ -12,19 +12,19 @@ unless Rails.env.production?
Gitlab::Utils::Override.verify!
end
desc "GitLab | lint | Lint JavaScript files using ESLint"
desc "GitLab | Lint | Lint JavaScript files using ESLint"
task :javascript do
Rake::Task['eslint'].invoke
end
desc "GitLab | lint | Lint HAML files"
desc "GitLab | Lint | Lint HAML files"
task :haml do
Rake::Task['haml_lint'].invoke
rescue RuntimeError # The haml_lint tasks raise a RuntimeError
exit(1)
end
desc "GitLab | lint | Run several lint checks"
desc "GitLab | Lint | Run several lint checks"
task :all do
status = 0

View File

@ -1,12 +1,12 @@
namespace :gitlab do
namespace :db do
desc 'GitLab | Adds primary keys to tables that only have composite unique keys'
desc 'GitLab | DB | Adds primary keys to tables that only have composite unique keys'
task composite_primary_keys_add: :environment do
require Rails.root.join('db/optional_migrations/composite_primary_keys')
CompositePrimaryKeysMigration.new.up
end
desc 'GitLab | Removes previously added composite primary keys'
desc 'GitLab | DB | Removes previously added composite primary keys'
task composite_primary_keys_drop: :environment do
require Rails.root.join('db/optional_migrations/composite_primary_keys')
CompositePrimaryKeysMigration.new.down

View File

@ -53,7 +53,7 @@ namespace :pngquant do
end
end
desc 'GitLab | pngquant | Compress all documentation PNG images using pngquant'
desc 'GitLab | Pngquant | Compress all documentation PNG images using pngquant'
task :compress do
check_executable
@ -69,7 +69,7 @@ namespace :pngquant do
end
end
desc 'GitLab | pngquant | Checks that all documentation PNG images have been compressed with pngquant'
desc 'GitLab | Pngquant | Checks that all documentation PNG images have been compressed with pngquant'
task :lint do
check_executable

View File

@ -8,28 +8,28 @@ namespace :sidekiq do
WARNING
end
desc "[DEPRECATED] GitLab | Stop sidekiq"
desc '[DEPRECATED] GitLab | Sidekiq | Stop sidekiq'
task :stop do
deprecation_warning!
system(*%w(bin/background_jobs stop))
end
desc "[DEPRECATED] GitLab | Start sidekiq"
desc '[DEPRECATED] GitLab | Sidekiq | Start sidekiq'
task :start do
deprecation_warning!
system(*%w(bin/background_jobs start))
end
desc '[DEPRECATED] GitLab | Restart sidekiq'
desc '[DEPRECATED] GitLab | Sidekiq | Restart sidekiq'
task :restart do
deprecation_warning!
system(*%w(bin/background_jobs restart))
end
desc "[DEPRECATED] GitLab | Start sidekiq with launchd on Mac OS X"
desc '[DEPRECATED] GitLab | Sidekiq | Start sidekiq with launchd on Mac OS X'
task :launchd do
deprecation_warning!

View File

@ -82,8 +82,8 @@ describe 'Group' do
expect(page).to have_selector('#group_create_chat_team')
end
it 'checks the checkbox by default' do
expect(find('#group_create_chat_team')['checked']).to eq(true)
it 'unchecks the checkbox by default' do
expect(find('#group_create_chat_team')['checked']).to eq(false)
end
it 'updates the team URL on graph path update', :js do

View File

@ -4,27 +4,33 @@ import axios from '~/lib/utils/axios_utils';
import createFlash from '~/flash';
import * as actions from '~/error_tracking/store/details/actions';
import * as types from '~/error_tracking/store/details/mutation_types';
import Poll from '~/lib/utils/poll';
let mockedAdapter;
let mockedRestart;
jest.mock('~/flash.js');
jest.mock('~/lib/utils/url_utility');
let mock;
describe('Sentry error details store actions', () => {
beforeEach(() => {
mock = new MockAdapter(axios);
mockedAdapter = new MockAdapter(axios);
});
afterEach(() => {
mock.restore();
mockedAdapter.restore();
createFlash.mockClear();
if (mockedRestart) {
mockedRestart.mockRestore();
mockedRestart = null;
}
});
describe('startPollingDetails', () => {
const endpoint = '123/details';
it('should commit SET_ERROR with received response', done => {
const payload = { error: { id: 1 } };
mock.onGet().reply(200, payload);
mockedAdapter.onGet().reply(200, payload);
testAction(
actions.startPollingDetails,
{ endpoint },
@ -41,7 +47,7 @@ describe('Sentry error details store actions', () => {
});
it('should show flash on API error', done => {
mock.onGet().reply(400);
mockedAdapter.onGet().reply(400);
testAction(
actions.startPollingDetails,
@ -55,13 +61,23 @@ describe('Sentry error details store actions', () => {
},
);
});
it('should not restart polling when receiving an empty 204 response', done => {
mockedRestart = jest.spyOn(Poll.prototype, 'restart');
mockedAdapter.onGet().reply(204);
testAction(actions.startPollingDetails, { endpoint }, {}, [], [], () => {
expect(mockedRestart).toHaveBeenCalledTimes(0);
done();
});
});
});
describe('startPollingStacktrace', () => {
const endpoint = '123/stacktrace';
it('should commit SET_ERROR with received response', done => {
const payload = { error: [1, 2, 3] };
mock.onGet().reply(200, payload);
mockedAdapter.onGet().reply(200, payload);
testAction(
actions.startPollingStacktrace,
{ endpoint },
@ -78,7 +94,7 @@ describe('Sentry error details store actions', () => {
});
it('should show flash on API error', done => {
mock.onGet().reply(400);
mockedAdapter.onGet().reply(400);
testAction(
actions.startPollingStacktrace,
@ -92,5 +108,16 @@ describe('Sentry error details store actions', () => {
},
);
});
it('should not restart polling when receiving an empty 204 response', done => {
mockedRestart = jest.spyOn(Poll.prototype, 'restart');
mockedAdapter.onGet().reply(204);
testAction(actions.startPollingStacktrace, { endpoint }, {}, [], [], () => {
mockedRestart = jest.spyOn(Poll.prototype, 'restart');
expect(mockedRestart).toHaveBeenCalledTimes(0);
done();
});
});
});
});