Add latest changes from gitlab-org/gitlab@master
This commit is contained in:
parent
ccaa944882
commit
0f8c2334f0
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: Default the `creation of a Mattermost team` checkbox to false
|
||||
merge_request: 23329
|
||||
author: briankabiro
|
||||
type: changed
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: Make rake -T output more consistent
|
||||
merge_request: 23550
|
||||
author:
|
||||
type: other
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: Ensure that error tracking frontend only polls when required
|
||||
merge_request: 23305
|
||||
author:
|
||||
type: fixed
|
|
@ -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)
|
||||
|
|
|
@ -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?
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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:
|
||||
|
||||
|
|
|
@ -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$;
|
||||
```
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
```
|
||||
|
||||
|
|
|
@ -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
|
||||
```
|
||||
|
|
|
@ -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
|
||||
```
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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 `,` |
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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:
|
||||
|
||||
|
|
|
@ -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:**
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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}*
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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!
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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]
|
||||
|
|
|
@ -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.'
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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'))
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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')
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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']
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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?('/')
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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!
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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();
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue