Commit c2c2d04b authored by Evan Read's avatar Evan Read 💬 Committed by Achilleas Pipinellis

Fix most instances of bare URLs in markdown

parent 7d110492
...@@ -335,7 +335,7 @@ group, you can use the following syntax: ...@@ -335,7 +335,7 @@ group, you can use the following syntax:
``` ```
Find more information about this "LDAP_MATCHING_RULE_IN_CHAIN" filter at Find more information about this "LDAP_MATCHING_RULE_IN_CHAIN" filter at
https://msdn.microsoft.com/en-us/library/aa746475(v=vs.85).aspx. Support for <https://docs.microsoft.com/en-us/windows/desktop/ADSI/search-filter-syntax>. Support for
nested members in the user filter should not be confused with nested members in the user filter should not be confused with
[group sync nested groups support (EE only)](https://docs.gitlab.com/ee/administration/auth/ldap-ee.html#supported-ldap-group-types-attributes). [group sync nested groups support (EE only)](https://docs.gitlab.com/ee/administration/auth/ldap-ee.html#supported-ldap-group-types-attributes).
......
...@@ -11,7 +11,7 @@ With the Container Registry integrated into GitLab, every project can have its ...@@ -11,7 +11,7 @@ With the Container Registry integrated into GitLab, every project can have its
own space to store its Docker images. own space to store its Docker images.
You can read more about the Container Registry at You can read more about the Container Registry at
https://docs.docker.com/registry/introduction/. <https://docs.docker.com/registry/introduction/>.
## Enable the Container Registry ## Enable the Container Registry
...@@ -378,7 +378,7 @@ Read more about the individual driver's config options in the ...@@ -378,7 +378,7 @@ Read more about the individual driver's config options in the
> **Warning** GitLab will not backup Docker images that are not stored on the > **Warning** GitLab will not backup Docker images that are not stored on the
filesystem. Remember to enable backups with your object storage provider if filesystem. Remember to enable backups with your object storage provider if
desired. desired.
> >
> **Important** Enabling storage driver other than `filesystem` would mean > **Important** Enabling storage driver other than `filesystem` would mean
that your Docker client needs to be able to access the storage backend directly. that your Docker client needs to be able to access the storage backend directly.
So you must use an address that resolves and is accessible outside GitLab server. So you must use an address that resolves and is accessible outside GitLab server.
...@@ -606,15 +606,15 @@ information in [issue 18239][ce-18239]. ...@@ -606,15 +606,15 @@ information in [issue 18239][ce-18239].
## Troubleshooting ## Troubleshooting
When using AWS S3 with the GitLab registry, an error may occur when pushing When using AWS S3 with the GitLab registry, an error may occur when pushing
large images. Look in the Registry log for the following error: large images. Look in the Registry log for the following error:
``` ```
level=error msg="response completed with error" err.code=unknown err.detail="unexpected EOF" err.message="unknown error" level=error msg="response completed with error" err.code=unknown err.detail="unexpected EOF" err.message="unknown error"
``` ```
To resolve the error specify a `chunksize` value in the Registry configuration. To resolve the error specify a `chunksize` value in the Registry configuration.
Start with a value between `25000000` (25MB) and `50000000` (50MB). Start with a value between `25000000` (25MB) and `50000000` (50MB).
**For Omnibus installations** **For Omnibus installations**
......
...@@ -17,7 +17,7 @@ The default pattern can be located in [gitlab.yml.example] under the ...@@ -17,7 +17,7 @@ The default pattern can be located in [gitlab.yml.example] under the
"Automatic issue closing" section. "Automatic issue closing" section.
> **Tip:** > **Tip:**
You are advised to use http://rubular.com to test the issue closing pattern. You are advised to use <http://rubular.com> to test the issue closing pattern.
Because Rubular doesn't understand `%{issue_ref}`, you can replace this by Because Rubular doesn't understand `%{issue_ref}`, you can replace this by
`#\d+` when testing your patterns, which matches only local issue references like `#123`. `#\d+` when testing your patterns, which matches only local issue references like `#123`.
......
...@@ -33,7 +33,7 @@ Test Connection to ensure the configuration is correct. ...@@ -33,7 +33,7 @@ Test Connection to ensure the configuration is correct.
- **Name**: InfluxDB - **Name**: InfluxDB
- **Default**: Checked - **Default**: Checked
- **Type**: InfluxDB 0.9.x (Even if you're using InfluxDB 0.10.x) - **Type**: InfluxDB 0.9.x (Even if you're using InfluxDB 0.10.x)
- **Url**: https://localhost:8086 (Or the remote URL if you've installed InfluxDB - **Url**: `https://localhost:8086` (Or the remote URL if you've installed InfluxDB
on a separate server) on a separate server)
- **Access**: proxy - **Access**: proxy
- **Database**: gitlab - **Database**: gitlab
......
...@@ -333,6 +333,6 @@ If all the tests were successful, Postfix is all set up and ready to receive ema ...@@ -333,6 +333,6 @@ If all the tests were successful, Postfix is all set up and ready to receive ema
--- ---
_This document was adapted from https://help.ubuntu.com/community/PostfixBasicSetupHowto, by contributors to the Ubuntu documentation wiki._ _This document was adapted from <https://help.ubuntu.com/community/PostfixBasicSetupHowto>, by contributors to the Ubuntu documentation wiki._
[incoming email]: incoming_email.md [incoming email]: incoming_email.md
...@@ -158,7 +158,7 @@ are concerned about affecting others during a production system, you can run a ...@@ -158,7 +158,7 @@ are concerned about affecting others during a production system, you can run a
separate Rails process to debug the issue: separate Rails process to debug the issue:
1. Log in to your GitLab account. 1. Log in to your GitLab account.
1. Copy the URL that is causing problems (e.g. https://gitlab.com/ABC). 1. Copy the URL that is causing problems (e.g. `https://gitlab.com/ABC`).
1. Create a Personal Access Token for your user (Profile Settings -> Access Tokens). 1. Create a Personal Access Token for your user (Profile Settings -> Access Tokens).
1. Bring up the GitLab Rails console. For omnibus users, run: 1. Bring up the GitLab Rails console. For omnibus users, run:
......
...@@ -208,7 +208,7 @@ are listed in the descriptions of the relevant settings. ...@@ -208,7 +208,7 @@ are listed in the descriptions of the relevant settings.
| `rsa_key_restriction` | integer | no | The minimum allowed bit length of an uploaded RSA key. Default is `0` (no restriction). `-1` disables RSA keys. | | `rsa_key_restriction` | integer | no | The minimum allowed bit length of an uploaded RSA key. Default is `0` (no restriction). `-1` disables RSA keys. |
| `send_user_confirmation_email` | boolean | no | Send confirmation email on sign-up. | | `send_user_confirmation_email` | boolean | no | Send confirmation email on sign-up. |
| `sentry_dsn` | string | required by: `sentry_enabled` | Sentry Data Source Name. | | `sentry_dsn` | string | required by: `sentry_enabled` | Sentry Data Source Name. |
| `sentry_enabled` | boolean | no | (**If enabled, requires:** `sentry_dsn`) Sentry is an error reporting and logging tool which is currently not shipped with GitLab, available at https://getsentry.com. | | `sentry_enabled` | boolean | no | (**If enabled, requires:** `sentry_dsn`) Sentry is an error reporting and logging tool which is currently not shipped with GitLab, available at <https://sentry.io>. |
| `session_expire_delay` | integer | no | Session duration in minutes. GitLab restart is required to apply changes | | `session_expire_delay` | integer | no | Session duration in minutes. GitLab restart is required to apply changes |
| `shared_runners_enabled` | boolean | no | (**If enabled, requires:** `shared_runners_text`) Enable shared runners for new projects. | | `shared_runners_enabled` | boolean | no | (**If enabled, requires:** `shared_runners_text`) Enable shared runners for new projects. |
| `shared_runners_text` | string | required by: `shared_runners_enabled` | Shared runners text. | | `shared_runners_text` | string | required by: `shared_runners_enabled` | Shared runners text. |
......
...@@ -194,7 +194,7 @@ not without its own challenges: ...@@ -194,7 +194,7 @@ not without its own challenges:
- docker run -v "$MOUNT_POINT:/mnt" my-docker-image - docker run -v "$MOUNT_POINT:/mnt" my-docker-image
``` ```
An example project using this approach can be found here: https://gitlab.com/gitlab-examples/docker. An example project using this approach can be found here: <https://gitlab.com/gitlab-examples/docker>.
### Use Docker socket binding ### Use Docker socket binding
......
...@@ -16,8 +16,8 @@ to build a [Maven](https://maven.apache.org/) project, deploy it to [Artifactory ...@@ -16,8 +16,8 @@ to build a [Maven](https://maven.apache.org/) project, deploy it to [Artifactory
You'll create two different projects: You'll create two different projects:
- `simple-maven-dep`: the app built and deployed to Artifactory (available at https://gitlab.com/gitlab-examples/maven/simple-maven-dep ) - `simple-maven-dep`: the app built and deployed to Artifactory (available at <https://gitlab.com/gitlab-examples/maven/simple-maven-dep>)
- `simple-maven-app`: the app using the previous one as a dependency (available at https://gitlab.com/gitlab-examples/maven/simple-maven-app ) - `simple-maven-app`: the app using the previous one as a dependency (available at <https://gitlab.com/gitlab-examples/maven/simple-maven-app>)
We assume that you already have a GitLab account on [GitLab.com](https://gitlab.com/), and that you know the basic usage of Git and [GitLab CI/CD](https://about.gitlab.com/features/gitlab-ci-cd/). We assume that you already have a GitLab account on [GitLab.com](https://gitlab.com/), and that you know the basic usage of Git and [GitLab CI/CD](https://about.gitlab.com/features/gitlab-ci-cd/).
We also assume that an Artifactory instance is available and reachable from the internet, and that you have valid credentials to deploy on it. We also assume that an Artifactory instance is available and reachable from the internet, and that you have valid credentials to deploy on it.
......
...@@ -138,5 +138,5 @@ buildpack: client-certificate-mapper=1.2.0_RELEASE container-security-provider=1 ...@@ -138,5 +138,5 @@ buildpack: client-certificate-mapper=1.2.0_RELEASE container-security-provider=1
``` ```
You can then visit your deployed application (for this example, You can then visit your deployed application (for this example,
https://gitlab-hello-world-undissembling-hotchpot.cfapps.io/) and you should `https://gitlab-hello-world-undissembling-hotchpot.cfapps.io/`) and you should
see the "Spring is here!" message. see the "Spring is here!" message.
...@@ -6,7 +6,7 @@ used with GitLab CI. ...@@ -6,7 +6,7 @@ used with GitLab CI.
>**Note:** >**Note:**
We recommend to use Dpl if you're deploying to any of these services: We recommend to use Dpl if you're deploying to any of these services:
https://github.com/travis-ci/dpl#supported-providers. <https://github.com/travis-ci/dpl#supported-providers>.
## Requirements ## Requirements
...@@ -34,7 +34,7 @@ The Dpl provides support for vast number of services, including: Heroku, Cloud F ...@@ -34,7 +34,7 @@ The Dpl provides support for vast number of services, including: Heroku, Cloud F
To use it simply define provider and any additional parameters required by the provider. To use it simply define provider and any additional parameters required by the provider.
For example if you want to use it to deploy your application to heroku, you need to specify `heroku` as provider, specify `api-key` and `app`. For example if you want to use it to deploy your application to heroku, you need to specify `heroku` as provider, specify `api-key` and `app`.
There's more and all possible parameters can be found here: https://github.com/travis-ci/dpl#heroku There's more and all possible parameters can be found here: <https://github.com/travis-ci/dpl#heroku>.
```yaml ```yaml
staging: staging:
......
...@@ -69,7 +69,7 @@ collects the JUnit test report from each job. After each job is executed, the ...@@ -69,7 +69,7 @@ collects the JUnit test report from each job. After each job is executed, the
XML reports are stored in GitLab as artifacts and their results are shown in the XML reports are stored in GitLab as artifacts and their results are shown in the
merge request widget. merge request widget.
NOTE: **Note:** NOTE: **Note:**
If you also want the ability to browse JUnit output files, include the If you also want the ability to browse JUnit output files, include the
[`artifacts:paths`](yaml/README.md#artifactspaths) keyword. [`artifacts:paths`](yaml/README.md#artifactspaths) keyword.
...@@ -151,7 +151,7 @@ There are a few tools that can produce JUnit reports in C/C++. ...@@ -151,7 +151,7 @@ There are a few tools that can produce JUnit reports in C/C++.
#### GoogleTest #### GoogleTest
In the following example, `gtest` is used to generate the test reports. In the following example, `gtest` is used to generate the test reports.
If there are multiple gtest executables created for different architectures (`x86`, `x64` or `arm`), If there are multiple gtest executables created for different architectures (`x86`, `x64` or `arm`),
you will be required to run each test providing a unique filename. The results you will be required to run each test providing a unique filename. The results
will then be aggregated together. will then be aggregated together.
...@@ -171,4 +171,4 @@ Currently, the following tools might not work because their XML formats are unsu ...@@ -171,4 +171,4 @@ Currently, the following tools might not work because their XML formats are unsu
|Case|Tool|Issue| |Case|Tool|Issue|
|---|---|---| |---|---|---|
|`<testcase>` does not have `classname` attribute|ESlint, sass-lint|https://gitlab.com/gitlab-org/gitlab-ce/issues/50964| |`<testcase>` does not have `classname` attribute|ESlint, sass-lint|<https://gitlab.com/gitlab-org/gitlab-ce/issues/50964>|
...@@ -14,7 +14,7 @@ Always use an [Entity] to present the endpoint's payload. ...@@ -14,7 +14,7 @@ Always use an [Entity] to present the endpoint's payload.
## Methods and parameters description ## Methods and parameters description
Every method must be described using the [Grape DSL](https://github.com/ruby-grape/grape#describing-methods) Every method must be described using the [Grape DSL](https://github.com/ruby-grape/grape#describing-methods)
(see https://gitlab.com/gitlab-org/gitlab-ce/blob/master/lib/api/environments.rb (see <https://gitlab.com/gitlab-org/gitlab-ce/blob/master/lib/api/environments.rb>
for a good example): for a good example):
- `desc` for the method summary. You should pass it a block for additional - `desc` for the method summary. You should pass it a block for additional
...@@ -49,14 +49,14 @@ end ...@@ -49,14 +49,14 @@ end
`params` block. It filters out the params that have been passed, but are not `params` block. It filters out the params that have been passed, but are not
allowed. allowed.
https://github.com/ruby-grape/grape#declared <https://github.com/ruby-grape/grape#declared>
### Exclude params from parent namespaces! ### Exclude params from parent namespaces!
> By default `declared(params) `includes parameters that were defined in all > By default `declared(params) `includes parameters that were defined in all
parent namespaces. parent namespaces.
https://github.com/ruby-grape/grape#include-parent-namespaces <https://github.com/ruby-grape/grape#include-parent-namespaces>
In most cases you will want to exclude params from the parent namespaces: In most cases you will want to exclude params from the parent namespaces:
......
...@@ -171,21 +171,21 @@ the feature you contribute through all of these steps. ...@@ -171,21 +171,21 @@ the feature you contribute through all of these steps.
1. Added to [the website](https://gitlab.com/gitlab-com/www-gitlab-com/), if relevant 1. Added to [the website](https://gitlab.com/gitlab-com/www-gitlab-com/), if relevant
1. Community questions answered 1. Community questions answered
1. Answers to questions radiated (in docs/wiki/support etc.) 1. Answers to questions radiated (in docs/wiki/support etc.)
1. [Black-box tests/end-to-end tests](../testing_guide/testing_levels.md#black-box-tests-or-end-to-end-tests) added if required. Please contact [the quality team](https://about.gitlab.com/handbook/engineering/quality/#teams) with any questions 1. [Black-box tests/end-to-end tests](../testing_guide/testing_levels.md#black-box-tests-or-end-to-end-tests) added if required. Please contact [the quality team](https://about.gitlab.com/handbook/engineering/quality/#teams) with any questions
If you add a dependency in GitLab (such as an operating system package) please If you add a dependency in GitLab (such as an operating system package) please
consider updating the following and note the applicability of each in your consider updating the following and note the applicability of each in your
merge request: merge request:
1. Note the addition in the release blog post (create one if it doesn't exist yet) https://gitlab.com/gitlab-com/www-gitlab-com/merge_requests/ 1. Note the addition in the release blog post (create one if it doesn't exist yet) <https://gitlab.com/gitlab-com/www-gitlab-com/merge_requests/>
1. Upgrade guide, for example https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/update/7.5-to-7.6.md 1. Upgrade guide, for example <https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/update/7.5-to-7.6.md>
1. Installation guide https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/install/installation.md#1-packages-dependencies 1. Installation guide <https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/install/installation.md#1-packages-dependencies>
1. GitLab Development Kit https://gitlab.com/gitlab-org/gitlab-development-kit 1. GitLab Development Kit <https://gitlab.com/gitlab-org/gitlab-development-kit>
1. Test suite https://gitlab.com/gitlab-org/gitlab-ce/blob/master/scripts/prepare_build.sh 1. Test suite <https://gitlab.com/gitlab-org/gitlab-ce/blob/master/scripts/prepare_build.sh>
1. Omnibus package creator https://gitlab.com/gitlab-org/omnibus-gitlab 1. Omnibus package creator <https://gitlab.com/gitlab-org/omnibus-gitlab>
[definition-of-done]: http://guide.agilealliance.org/guide/definition-of-done.html [definition-of-done]: http://guide.agilealliance.org/guide/definition-of-done.html
[testing]: ../testing_guide/index.md [testing]: ../testing_guide/index.md
--- ---
......
...@@ -11,7 +11,7 @@ and deploy it to <https://docs.gitlab.com>. ...@@ -11,7 +11,7 @@ and deploy it to <https://docs.gitlab.com>.
While the source of the documentation content is stored in GitLab's respective product While the source of the documentation content is stored in GitLab's respective product
repositories, the source that is used to build the documentation site _from that content_ repositories, the source that is used to build the documentation site _from that content_
is located at https://gitlab.com/gitlab-com/gitlab-docs. See the README there for is located at <https://gitlab.com/gitlab-com/gitlab-docs>. See the README there for
detailed information. detailed information.
## Assets ## Assets
......
...@@ -6,9 +6,9 @@ To get started with Vue, read through [their documentation][vue-docs]. ...@@ -6,9 +6,9 @@ To get started with Vue, read through [their documentation][vue-docs].
What is described in the following sections can be found in these examples: What is described in the following sections can be found in these examples:
- web ide: https://gitlab.com/gitlab-org/gitlab-ce/tree/master/app/assets/javascripts/ide/stores - web ide: <https://gitlab.com/gitlab-org/gitlab-ce/tree/master/app/assets/javascripts/ide/stores>
- security products: https://gitlab.com/gitlab-org/gitlab-ee/tree/master/ee/app/assets/javascripts/vue_shared/security_reports - security products: <https://gitlab.com/gitlab-org/gitlab-ee/tree/master/ee/app/assets/javascripts/vue_shared/security_reports>
- registry: https://gitlab.com/gitlab-org/gitlab-ce/tree/master/app/assets/javascripts/registry/stores - registry: <https://gitlab.com/gitlab-org/gitlab-ce/tree/master/app/assets/javascripts/registry/stores>
## Vue architecture ## Vue architecture
......
...@@ -128,7 +128,7 @@ to manually run `make` again. ...@@ -128,7 +128,7 @@ to manually run `make` again.
Note that CI tests will not use your locally modified version of Note that CI tests will not use your locally modified version of
Gitaly. To use a custom Gitaly version in CI you need to update Gitaly. To use a custom Gitaly version in CI you need to update
GITALY_SERVER_VERSION. You can use the format `=revision` to use a GITALY_SERVER_VERSION. You can use the format `=revision` to use a
non-tagged commit from https://gitlab.com/gitlab-org/gitaly in CI. non-tagged commit from <https://gitlab.com/gitlab-org/gitaly> in CI.
To use a different Gitaly repository, e.g., if your changes are present To use a different Gitaly repository, e.g., if your changes are present
on a fork, you can specify a `GITALY_REPO_URL` environment variable when on a fork, you can specify a `GITALY_REPO_URL` environment variable when
......
...@@ -350,7 +350,7 @@ You can find the credentials on 1Password, under `[email protected]`. ...@@ -350,7 +350,7 @@ You can find the credentials on 1Password, under `[email protected]`.
#### macOS #### macOS
You can download any older version of Firefox from the releases FTP server, https://ftp.mozilla.org/pub/firefox/releases/ You can download any older version of Firefox from the releases FTP server, <https://ftp.mozilla.org/pub/firefox/releases/>
1. From the website, select a version, in this case `50.0.1`. 1. From the website, select a version, in this case `50.0.1`.
1. Go to the mac folder. 1. Go to the mac folder.
......
...@@ -30,7 +30,7 @@ ideal column order would be the following: ...@@ -30,7 +30,7 @@ ideal column order would be the following:
- `user_id` (integer, 4 bytes) - `user_id` (integer, 4 bytes)
- `name` (text, variable) - `name` (text, variable)
or or
- `name` (text, variable) - `name` (text, variable)
- `id` (integer, 4 bytes) - `id` (integer, 4 bytes)
...@@ -47,8 +47,7 @@ type size in descending order with variable sizes (`text`, `varchar`, arrays, ...@@ -47,8 +47,7 @@ type size in descending order with variable sizes (`text`, `varchar`, arrays,
## Type Sizes ## Type Sizes
While the PostgreSQL documentation While the [PostgreSQL documentation](https://www.postgresql.org/docs/current/datatype.html) contains plenty
(https://www.postgresql.org/docs/current/static/datatype.html) contains plenty
of information we will list the sizes of common types here so it's easier to of information we will list the sizes of common types here so it's easier to
look them up. Here "word" refers to the word size, which is 4 bytes for a 32 look them up. Here "word" refers to the word size, which is 4 bytes for a 32
bits platform and 8 bytes for a 64 bits platform. bits platform and 8 bytes for a 64 bits platform.
...@@ -138,7 +137,7 @@ This would produce the following chunks: ...@@ -138,7 +137,7 @@ This would produce the following chunks:
| variable | data | | variable | data |
Here we only need 40 bytes per row excluding the variable sized data and 24-byte Here we only need 40 bytes per row excluding the variable sized data and 24-byte
tuple header. 8 bytes being saved may not sound like much, but for tables as tuple header. 8 bytes being saved may not sound like much, but for tables as
large as the `events` table it does begin to matter. For example, when storing large as the `events` table it does begin to matter. For example, when storing
80 000 000 rows this translates to a space saving of at least 610 MB, all by 80 000 000 rows this translates to a space saving of at least 610 MB, all by
just changing the order of a few columns. just changing the order of a few columns.
...@@ -121,7 +121,7 @@ failure. In CI you can download these files as job artifacts. ...@@ -121,7 +121,7 @@ failure. In CI you can download these files as job artifacts.
Also, you can manually take screenshots at any point in a test by adding the Also, you can manually take screenshots at any point in a test by adding the
methods below. Be sure to remove them when they are no longer needed! See methods below. Be sure to remove them when they are no longer needed! See
https://github.com/mattheworiordan/capybara-screenshot#manual-screenshots for <https://github.com/mattheworiordan/capybara-screenshot#manual-screenshots> for
more. more.
Add `screenshot_and_save_page` in a `:js` spec to screenshot what Capybara Add `screenshot_and_save_page` in a `:js` spec to screenshot what Capybara
...@@ -302,7 +302,7 @@ path, they will use the same repository on disk and lead to test environment ...@@ -302,7 +302,7 @@ path, they will use the same repository on disk and lead to test environment
pollution. pollution.
Other files must be managed manually by the spec. If you run code that creates a Other files must be managed manually by the spec. If you run code that creates a
`tmp/test-file.csv` file, for instance, the spec must ensure that the file is `tmp/test-file.csv` file, for instance, the spec must ensure that the file is
removed as part of cleanup. removed as part of cleanup.
#### Persistent in-memory application state #### Persistent in-memory application state
......
...@@ -48,51 +48,51 @@ examples in a JSON report file on `master` (`retrieve-tests-metadata` and `updat ...@@ -48,51 +48,51 @@ examples in a JSON report file on `master` (`retrieve-tests-metadata` and `updat
is detected in any other branch (`flaky-examples-check` job). In the future, the is detected in any other branch (`flaky-examples-check` job). In the future, the
`flaky-examples-check` job will not be allowed to fail. `flaky-examples-check` job will not be allowed to fail.
This was originally implemented in: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/13021. This was originally implemented in: <https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/13021>.
[rspec-retry]: https://github.com/NoRedInk/rspec-retry [rspec-retry]: https://github.com/NoRedInk/rspec-retry
[`spec/spec_helper.rb`]: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/spec/spec_helper.rb [`spec/spec_helper.rb`]: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/spec/spec_helper.rb
## Problems we had in the past at GitLab ## Problems we had in the past at GitLab
- [`rspec-retry` is bitting us when some API specs fail](https://gitlab.com/gitlab-org/gitlab-ce/issues/29242): https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/9825 - [`rspec-retry` is bitting us when some API specs fail](https://gitlab.com/gitlab-org/gitlab-ce/issues/29242): <https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/9825>
- [Sporadic RSpec failures due to `PG::UniqueViolation`](https://gitlab.com/gitlab-org/gitlab-ce/issues/28307#note_24958837): https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/9846 - [Sporadic RSpec failures due to `PG::UniqueViolation`](https://gitlab.com/gitlab-org/gitlab-ce/issues/28307#note_24958837): <https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/9846>
- Follow-up: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10688 - Follow-up: <https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10688>
- [Capybara.reset_session! should be called before requests are blocked](https://gitlab.com/gitlab-org/gitlab-ce/issues/33779): https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/12224 - [Capybara.reset_session! should be called before requests are blocked](https://gitlab.com/gitlab-org/gitlab-ce/issues/33779): <https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/12224>
- FFaker generates funky data that tests are not ready to handle (and tests should be predictable so that's bad!): - FFaker generates funky data that tests are not ready to handle (and tests should be predictable so that's bad!):
- [Make `spec/mailers/notify_spec.rb` more robust](https://gitlab.com/gitlab-org/gitlab-ce/issues/20121): https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10015 - [Make `spec/mailers/notify_spec.rb` more robust](https://gitlab.com/gitlab-org/gitlab-ce/issues/20121): <https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10015>
- [Transient failure in spec/requests/api/commits_spec.rb](https://gitlab.com/gitlab-org/gitlab-ce/issues/27988#note_25342521): https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/9944 - [Transient failure in spec/requests/api/commits_spec.rb](https://gitlab.com/gitlab-org/gitlab-ce/issues/27988#note_25342521): <https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/9944>
- [Replace FFaker factory data with sequences](https://gitlab.com/gitlab-org/gitlab-ce/issues/29643): https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10184 - [Replace FFaker factory data with sequences](https://gitlab.com/gitlab-org/gitlab-ce/issues/29643): <https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10184>
- [Transient failure in spec/finders/issues_finder_spec.rb](https://gitlab.com/gitlab-org/gitlab-ce/issues/30211#note_26707685): https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10404 - [Transient failure in spec/finders/issues_finder_spec.rb](https://gitlab.com/gitlab-org/gitlab-ce/issues/30211#note_26707685): <https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10404>
### Time-sensitive flaky tests ### Time-sensitive flaky tests
- https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10046 - <https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10046>
- https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10306 - <https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10306>
### Array order expectation ### Array order expectation
- https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10148 - <https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10148>
### Feature tests ### Feature tests
- [Be sure to create all the data the test need before starting exercize](https://gitlab.com/gitlab-org/gitlab-ce/issues/32622#note_31128195): https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/12059 - [Be sure to create all the data the test need before starting exercize](https://gitlab.com/gitlab-org/gitlab-ce/issues/32622#note_31128195): <https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/12059>
- [Bis](https://gitlab.com/gitlab-org/gitlab-ce/issues/34609#note_34048715): https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/12604 - [Bis](https://gitlab.com/gitlab-org/gitlab-ce/issues/34609#note_34048715): <https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/12604>
- [Bis](https://gitlab.com/gitlab-org/gitlab-ce/issues/34698#note_34276286): https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/12664 - [Bis](https://gitlab.com/gitlab-org/gitlab-ce/issues/34698#note_34276286): <https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/12664>
- [Assert against the underlying database state instead of against a page's content](https://gitlab.com/gitlab-org/gitlab-ce/issues/31437): https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10934 - [Assert against the underlying database state instead of against a page's content](https://gitlab.com/gitlab-org/gitlab-ce/issues/31437): <https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10934>
#### Capybara viewport size related issues #### Capybara viewport size related issues
- [Transient failure of spec/features/issues/filtered_search/filter_issues_spec.rb](https://gitlab.com/gitlab-org/gitlab-ce/issues/29241#note_26743936): https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10411 - [Transient failure of spec/features/issues/filtered_search/filter_issues_spec.rb](https://gitlab.com/gitlab-org/gitlab-ce/issues/29241#note_26743936): <https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10411>
#### Capybara JS driver related issues #### Capybara JS driver related issues
- [Don't wait for AJAX when no AJAX request is fired](https://gitlab.com/gitlab-org/gitlab-ce/issues/30461): https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10454 - [Don't wait for AJAX when no AJAX request is fired](https://gitlab.com/gitlab-org/gitlab-ce/issues/30461): <https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10454>
- [Bis](https://gitlab.com/gitlab-org/gitlab-ce/issues/34647): https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/12626 - [Bis](https://gitlab.com/gitlab-org/gitlab-ce/issues/34647): <https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/12626>
#### PhantomJS / WebKit related issues #### PhantomJS / WebKit related issues
- Memory is through the roof! (TL;DR: Load images but block images requests!): https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/12003 - Memory is through the roof! (TL;DR: Load images but block images requests!): <https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/12003>
## Resources ## Resources
......
...@@ -6,7 +6,7 @@ _This diagram demonstrates the relative priority of each test type we use. `e2e` ...@@ -6,7 +6,7 @@ _This diagram demonstrates the relative priority of each test type we use. `e2e`
## Unit tests ## Unit tests
Formal definition: https://en.wikipedia.org/wiki/Unit_testing Formal definition: <https://en.wikipedia.org/wiki/Unit_testing>
These kind of tests ensure that a single unit of code (a method) works as These kind of tests ensure that a single unit of code (a method) works as
expected (given an input, it has a predictable output). These tests should be expected (given an input, it has a predictable output). These tests should be
...@@ -32,7 +32,7 @@ records should use stubs/doubles as much as possible. ...@@ -32,7 +32,7 @@ records should use stubs/doubles as much as possible.
## Integration tests ## Integration tests
Formal definition: https://en.wikipedia.org/wiki/Integration_testing Formal definition: <https://en.wikipedia.org/wiki/Integration_testing>
These kind of tests ensure that individual parts of the application work well These kind of tests ensure that individual parts of the application work well
together, without the overhead of the actual app environment (i.e. the browser). together, without the overhead of the actual app environment (i.e. the browser).
...@@ -75,8 +75,8 @@ of multiple components). ...@@ -75,8 +75,8 @@ of multiple components).
Formal definitions: Formal definitions:
- https://en.wikipedia.org/wiki/System_testing - <https://en.wikipedia.org/wiki/System_testing>