From 733ae9492129e835f183902a97ee0886e2dbdc9b Mon Sep 17 00:00:00 2001
From: George Tsiolis <tsiolis.g@gmail.com>
Date: Tue, 30 Oct 2018 12:53:01 +0200
Subject: [PATCH] Fix typos in comments and specs

---
 .../environments/components/environment_item.vue     |  4 ++--
 .../filtered_search/filtered_search_dropdown.js      |  2 +-
 app/assets/javascripts/gl_field_errors.js            |  2 +-
 .../notes/components/note_awards_list.vue            |  2 +-
 .../javascripts/notes/stores/collapse_utils.js       |  2 +-
 .../javascripts/vue_shared/components/commit.vue     |  2 +-
 app/assets/stylesheets/framework/dropdowns.scss      |  4 ++--
 app/controllers/admin/appearances_controller.rb      |  6 +++---
 app/controllers/import/gitea_controller.rb           |  2 +-
 app/controllers/import/github_controller.rb          |  2 +-
 app/controllers/oauth/authorizations_controller.rb   |  2 +-
 app/controllers/projects_controller.rb               |  2 +-
 app/helpers/page_layout_helper.rb                    |  2 +-
 app/models/commit_status.rb                          |  4 ++--
 app/models/concerns/cacheable_attributes.rb          |  4 ++--
 app/models/concerns/fast_destroy_all.rb              |  2 +-
 app/models/concerns/issuable.rb                      |  2 +-
 app/models/concerns/storage/legacy_namespace.rb      |  2 +-
 app/models/concerns/with_uploads.rb                  |  2 +-
 app/models/namespace.rb                              |  2 +-
 app/models/project.rb                                |  2 +-
 app/models/project_services/issue_tracker_service.rb |  2 +-
 .../container_registry_authentication_service.rb     |  2 +-
 app/services/keys/destroy_service.rb                 |  2 +-
 app/services/members/base_service.rb                 |  2 +-
 .../projects/move_project_authorizations_service.rb  |  2 +-
 .../projects/move_project_group_links_service.rb     |  2 +-
 .../projects/move_project_members_service.rb         |  2 +-
 app/services/quick_actions/interpret_service.rb      |  4 ++--
 app/views/projects/edit.html.haml                    |  2 +-
 .../gitlab/github_import/advance_stage_worker.rb     |  2 +-
 config/gitlab.yml.example                            |  2 +-
 ...1152_cleanup_move_system_upload_folder_symlink.rb |  2 +-
 doc/development/api_graphql_styleguide.md            |  2 +-
 lib/extracts_path.rb                                 |  2 +-
 lib/gitlab/auth/o_auth/auth_hash.rb                  |  2 +-
 .../set_confidential_note_events_on_services.rb      |  4 ++--
 .../set_confidential_note_events_on_webhooks.rb      |  4 ++--
 lib/gitlab/ci/templates/Maven.gitlab-ci.yml          |  2 +-
 lib/gitlab/database/migration_helpers.rb             |  2 +-
 lib/gitlab/diff/position_tracer.rb                   |  2 +-
 lib/gitlab/gitaly_client/repository_service.rb       |  2 +-
 lib/gitlab/import_export/project_tree_restorer.rb    |  2 +-
 lib/gitlab/path_regex.rb                             |  2 +-
 lib/gitlab/proxy_http_connection_adapter.rb          |  2 +-
 lib/gitlab/slash_commands/issue_new.rb               |  2 +-
 lib/gitlab/user_extractor.rb                         |  2 +-
 lib/google_api/auth.rb                               |  2 +-
 scripts/trigger-build                                | 12 ++++++------
 .../controllers/groups/milestones_controller_spec.rb |  4 ++--
 spec/controllers/groups_controller_spec.rb           |  2 +-
 spec/controllers/profiles/keys_controller_spec.rb    |  2 +-
 .../projects/environments_controller_spec.rb         |  2 +-
 .../projects/merge_requests_controller_spec.rb       |  2 +-
 spec/features/dashboard/archived_projects_spec.rb    |  2 +-
 spec/features/import/manifest_import_spec.rb         |  2 +-
 spec/features/issues/gfm_autocomplete_spec.rb        |  2 +-
 spec/features/projects/badges/pipeline_badge_spec.rb |  2 +-
 spec/features/projects/clusters_spec.rb              |  2 +-
 .../projects/files/user_creates_files_spec.rb        |  4 ++--
 spec/javascripts/awards_handler_spec.js              |  4 ++--
 .../commit/commit_pipeline_status_component_spec.js  |  8 ++++----
 .../environments/environments_app_spec.js            |  2 +-
 .../folder/environments_folder_view_spec.js          |  2 +-
 spec/javascripts/jobs/components/job_app_spec.js     |  2 +-
 spec/javascripts/lib/utils/datetime_utility_spec.js  |  4 ++--
 spec/javascripts/lib/utils/text_utility_spec.js      |  2 +-
 spec/javascripts/notes/stores/mutation_spec.js       |  2 +-
 spec/javascripts/pipelines/empty_state_spec.js       |  2 +-
 .../pipelines/graph/action_component_spec.js         |  2 +-
 spec/javascripts/pipelines/pipelines_spec.js         |  4 ++--
 spec/javascripts/pipelines/stage_spec.js             |  2 +-
 .../components/states/mr_widget_merged_spec.js       |  2 +-
 .../components/filtered_search_dropdown_spec.js      |  2 +-
 .../components/user_avatar/user_avatar_link_spec.js  |  2 +-
 spec/lib/banzai/filter/autolink_filter_spec.rb       |  2 +-
 spec/lib/banzai/filter/relative_link_filter_spec.rb  |  2 +-
 spec/lib/container_registry/blob_spec.rb             |  2 +-
 .../create_fork_network_memberships_range_spec.rb    |  2 +-
 spec/lib/gitlab/checks/lfs_integrity_spec.rb         |  2 +-
 spec/lib/gitlab/ci/ansi2html_spec.rb                 |  2 +-
 spec/lib/gitlab/ci/build/policy/variables_spec.rb    |  2 +-
 spec/lib/gitlab/ci/config/entry/global_spec.rb       |  2 +-
 .../gitlab/cross_project_access/check_info_spec.rb   |  4 ++--
 .../v1/rename_base_spec.rb                           |  2 +-
 spec/lib/gitlab/diff/position_spec.rb                |  8 ++++----
 spec/lib/gitlab/diff/position_tracer_spec.rb         |  2 +-
 spec/lib/gitlab/git/attributes_at_ref_parser_spec.rb |  2 +-
 spec/lib/gitlab/gpg_spec.rb                          |  4 ++--
 .../import_export/project_tree_restorer_spec.rb      |  2 +-
 spec/lib/gitlab/view/presenter/base_spec.rb          |  2 +-
 spec/lib/microsoft_teams/notifier_spec.rb            |  2 +-
 spec/migrations/migrate_old_artifacts_spec.rb        |  2 +-
 spec/models/concerns/cacheable_attributes_spec.rb    |  4 ++--
 spec/models/concerns/issuable_spec.rb                |  4 ++--
 spec/models/lfs_object_spec.rb                       |  2 +-
 spec/models/project_spec.rb                          |  4 ++--
 spec/models/project_wiki_spec.rb                     |  4 ++--
 spec/models/upload_spec.rb                           |  2 +-
 spec/requests/api/commits_spec.rb                    |  2 +-
 .../clusters/gcp/fetch_operation_service_spec.rb     |  2 +-
 .../clusters/gcp/finalize_creation_service_spec.rb   |  2 +-
 spec/services/clusters/gcp/provision_service_spec.rb |  2 +-
 spec/services/groups/transfer_service_spec.rb        |  2 +-
 spec/services/projects/import_service_spec.rb        |  2 +-
 spec/services/projects/transfer_service_spec.rb      |  2 +-
 .../services/quick_actions/interpret_service_spec.rb |  4 ++--
 spec/support/capybara.rb                             |  2 +-
 spec/support/helpers/project_forks_helper.rb         |  2 +-
 .../services/boards/lists_move_service.rb            | 12 ++++++------
 spec/tasks/gitlab/backup_rake_spec.rb                |  2 +-
 111 files changed, 148 insertions(+), 148 deletions(-)

diff --git a/app/assets/javascripts/environments/components/environment_item.vue b/app/assets/javascripts/environments/components/environment_item.vue
index bb9c139727eab..b62a5bb194053 100644
--- a/app/assets/javascripts/environments/components/environment_item.vue
+++ b/app/assets/javascripts/environments/components/environment_item.vue
@@ -15,7 +15,7 @@ import CommitComponent from '../../vue_shared/components/commit.vue';
 import eventHub from '../event_hub';
 
 /**
- * Envrionment Item Component
+ * Environment Item Component
  *
  * Renders a table row for each environment.
  */
@@ -60,7 +60,7 @@ export default {
 
   computed: {
     /**
-     * Verifies if `last_deployment` key exists in the current Envrionment.
+     * Verifies if `last_deployment` key exists in the current Environment.
      * This key is required to render most of the html - this method works has
      * an helper.
      *
diff --git a/app/assets/javascripts/filtered_search/filtered_search_dropdown.js b/app/assets/javascripts/filtered_search/filtered_search_dropdown.js
index 4eb67ff76498d..146d3ba963c68 100644
--- a/app/assets/javascripts/filtered_search/filtered_search_dropdown.js
+++ b/app/assets/javascripts/filtered_search/filtered_search_dropdown.js
@@ -85,7 +85,7 @@ export default class FilteredSearchDropdown {
   }
 
   dispatchInputEvent() {
-    // Propogate input change to FilteredSearchDropdownManager
+    // Propagate input change to FilteredSearchDropdownManager
     // so that it can determine which dropdowns to open
     this.input.dispatchEvent(
       new CustomEvent('input', {
diff --git a/app/assets/javascripts/gl_field_errors.js b/app/assets/javascripts/gl_field_errors.js
index 3764e7ab4226c..d5d5954ce6a4c 100644
--- a/app/assets/javascripts/gl_field_errors.js
+++ b/app/assets/javascripts/gl_field_errors.js
@@ -28,7 +28,7 @@ export default class GlFieldErrors {
     this.form.on('submit', GlFieldErrors.catchInvalidFormSubmit);
   }
 
-  /* Neccessary to prevent intercept and override invalid form submit
+  /* Necessary to prevent intercept and override invalid form submit
    * because Safari & iOS quietly allow form submission when form is invalid
    * and prevents disabling of invalid submit button by application.js */
 
diff --git a/app/assets/javascripts/notes/components/note_awards_list.vue b/app/assets/javascripts/notes/components/note_awards_list.vue
index e707f44bf5a8d..df7ab4502a68c 100644
--- a/app/assets/javascripts/notes/components/note_awards_list.vue
+++ b/app/assets/javascripts/notes/components/note_awards_list.vue
@@ -110,7 +110,7 @@ export default {
       // Get the remaining list to use in `and x more` text.
       const remainingAwardList = awardList.slice(TOOLTIP_NAME_COUNT, awardList.length);
 
-      // Add myself to the begining of the list so title will start with You.
+      // Add myself to the beginning of the list so title will start with You.
       if (hasReactionByCurrentUser) {
         namesToShow.unshift('You');
       }
diff --git a/app/assets/javascripts/notes/stores/collapse_utils.js b/app/assets/javascripts/notes/stores/collapse_utils.js
index 4532226aa0722..bee6d4f032956 100644
--- a/app/assets/javascripts/notes/stores/collapse_utils.js
+++ b/app/assets/javascripts/notes/stores/collapse_utils.js
@@ -70,7 +70,7 @@ export const collapseSystemNotes = notes => {
       } else if (lastDescriptionSystemNote) {
         const timeDifferenceMinutes = getTimeDifferenceMinutes(lastDescriptionSystemNote, note);
 
-        // are they less than 10 minutes appart?
+        // are they less than 10 minutes apart?
         if (timeDifferenceMinutes > 10) {
           // reset counter
           descriptionChangedTimes = 1;
diff --git a/app/assets/javascripts/vue_shared/components/commit.vue b/app/assets/javascripts/vue_shared/components/commit.vue
index 13bca99dcb353..151eee75d4487 100644
--- a/app/assets/javascripts/vue_shared/components/commit.vue
+++ b/app/assets/javascripts/vue_shared/components/commit.vue
@@ -13,7 +13,7 @@ export default {
   },
   props: {
     /**
-     * Indicates the existance of a tag.
+     * Indicates the existence of a tag.
      * Used to render the correct icon, if true will render `fa-tag` icon,
      * if false will render a svg sprite fork icon
      */
diff --git a/app/assets/stylesheets/framework/dropdowns.scss b/app/assets/stylesheets/framework/dropdowns.scss
index cdfad30e7ca9e..dca89981d8186 100644
--- a/app/assets/stylesheets/framework/dropdowns.scss
+++ b/app/assets/stylesheets/framework/dropdowns.scss
@@ -158,7 +158,7 @@
   color: $gl-text-color;
   outline: 0;
 
-  // make sure the text color is not overriden
+  // make sure the text color is not overridden
   &.text-danger {
     color: $brand-danger;
   }
@@ -184,7 +184,7 @@
   text-align: left;
   width: 100%;
 
-  // make sure the text color is not overriden
+  // make sure the text color is not overridden
   &.text-danger {
     color: $brand-danger;
   }
diff --git a/app/controllers/admin/appearances_controller.rb b/app/controllers/admin/appearances_controller.rb
index fdd3b4126ff59..e3226c86b0b44 100644
--- a/app/controllers/admin/appearances_controller.rb
+++ b/app/controllers/admin/appearances_controller.rb
@@ -33,21 +33,21 @@ def logo
 
     @appearance.save
 
-    redirect_to admin_appearances_path, notice: 'Logo was succesfully removed.'
+    redirect_to admin_appearances_path, notice: 'Logo was successfully removed.'
   end
 
   def header_logos
     @appearance.remove_header_logo!
     @appearance.save
 
-    redirect_to admin_appearances_path, notice: 'Header logo was succesfully removed.'
+    redirect_to admin_appearances_path, notice: 'Header logo was successfully removed.'
   end
 
   def favicon
     @appearance.remove_favicon!
     @appearance.save
 
-    redirect_to admin_appearances_path, notice: 'Favicon was succesfully removed.'
+    redirect_to admin_appearances_path, notice: 'Favicon was successfully removed.'
   end
 
   private
diff --git a/app/controllers/import/gitea_controller.rb b/app/controllers/import/gitea_controller.rb
index 382c684a408f7..f067ef625aa00 100644
--- a/app/controllers/import/gitea_controller.rb
+++ b/app/controllers/import/gitea_controller.rb
@@ -23,7 +23,7 @@ def host_key
     :"#{provider}_host_url"
   end
 
-  # Overriden methods
+  # Overridden methods
   def provider
     :gitea
   end
diff --git a/app/controllers/import/github_controller.rb b/app/controllers/import/github_controller.rb
index e3eec5a020d8c..58565aaf8c95e 100644
--- a/app/controllers/import/github_controller.rb
+++ b/app/controllers/import/github_controller.rb
@@ -103,7 +103,7 @@ def access_params
     { github_access_token: session[access_token_key] }
   end
 
-  # The following methods are overriden in subclasses
+  # The following methods are overridden in subclasses
   def provider
     :github
   end
diff --git a/app/controllers/oauth/authorizations_controller.rb b/app/controllers/oauth/authorizations_controller.rb
index 894a6a431e3f5..705389749d8f3 100644
--- a/app/controllers/oauth/authorizations_controller.rb
+++ b/app/controllers/oauth/authorizations_controller.rb
@@ -3,7 +3,7 @@
 class Oauth::AuthorizationsController < Doorkeeper::AuthorizationsController
   layout 'profile'
 
-  # Overriden from Doorkeeper::AuthorizationsController to
+  # Overridden from Doorkeeper::AuthorizationsController to
   # include the call to session.delete
   def new
     if pre_auth.authorizable?
diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb
index ee438e160f245..7f4a9f5151bac 100644
--- a/app/controllers/projects_controller.rb
+++ b/app/controllers/projects_controller.rb
@@ -276,7 +276,7 @@ def refs
   # rubocop: enable CodeReuse/ActiveRecord
 
   # Render project landing depending of which features are available
-  # So if page is not availble in the list it renders the next page
+  # So if page is not available in the list it renders the next page
   #
   # pages list order: repository readme, wiki home, issues list, customize workflow
   def render_landing_page
diff --git a/app/helpers/page_layout_helper.rb b/app/helpers/page_layout_helper.rb
index b33c074d1afec..5038dcf9746e6 100644
--- a/app/helpers/page_layout_helper.rb
+++ b/app/helpers/page_layout_helper.rb
@@ -10,7 +10,7 @@ def page_title(*titles)
       @breadcrumb_title = @page_title.last
     end
 
-    # Segments are seperated by middot
+    # Segments are separated by middot
     @page_title.join(" · ")
   end
 
diff --git a/app/models/commit_status.rb b/app/models/commit_status.rb
index 7d36f9982abeb..95c88e11a6e19 100644
--- a/app/models/commit_status.rb
+++ b/app/models/commit_status.rb
@@ -167,12 +167,12 @@ def playable?
     false
   end
 
-  # To be overriden when inherrited from
+  # To be overridden when inherrited from
   def retryable?
     false
   end
 
-  # To be overriden when inherrited from
+  # To be overridden when inherrited from
   def cancelable?
     false
   end
diff --git a/app/models/concerns/cacheable_attributes.rb b/app/models/concerns/cacheable_attributes.rb
index f8034be837672..75592bb63e23f 100644
--- a/app/models/concerns/cacheable_attributes.rb
+++ b/app/models/concerns/cacheable_attributes.rb
@@ -12,12 +12,12 @@ def cache_key
       "#{name}:#{Gitlab::VERSION}:#{Rails.version}".freeze
     end
 
-    # Can be overriden
+    # Can be overridden
     def current_without_cache
       last
     end
 
-    # Can be overriden
+    # Can be overridden
     def defaults
       {}
     end
diff --git a/app/models/concerns/fast_destroy_all.rb b/app/models/concerns/fast_destroy_all.rb
index c342d01243ea3..2bfa7da6c1cfe 100644
--- a/app/models/concerns/fast_destroy_all.rb
+++ b/app/models/concerns/fast_destroy_all.rb
@@ -7,7 +7,7 @@
 # `delete_all` is efficient as it deletes all rows with a single `DELETE` query.
 #
 # It's better to use `delete_all` as our best practice, however,
-# if external data (e.g. ObjectStorage, FileStorage or Redis) are assosiated with database records,
+# if external data (e.g. ObjectStorage, FileStorage or Redis) are associated with database records,
 # it is difficult to accomplish it.
 #
 # This module defines a format to use `delete_all` and delete associated external data.
diff --git a/app/models/concerns/issuable.rb b/app/models/concerns/issuable.rb
index a808f9ad4ad93..69c5affe142c8 100644
--- a/app/models/concerns/issuable.rb
+++ b/app/models/concerns/issuable.rb
@@ -363,7 +363,7 @@ def ensure_metrics
   end
 
   ##
-  # Overriden in MergeRequest
+  # Overridden in MergeRequest
   #
   def wipless_title_changed(old_title)
     old_title != title
diff --git a/app/models/concerns/storage/legacy_namespace.rb b/app/models/concerns/storage/legacy_namespace.rb
index 7723c07279d3c..af699eeebcec2 100644
--- a/app/models/concerns/storage/legacy_namespace.rb
+++ b/app/models/concerns/storage/legacy_namespace.rb
@@ -94,7 +94,7 @@ def rm_dir
         if gitlab_shell.mv_namespace(repository_storage, full_path, new_path)
           Gitlab::AppLogger.info %Q(Namespace directory "#{full_path}" moved to "#{new_path}")
 
-          # Remove namespace directroy async with delay so
+          # Remove namespace directory async with delay so
           # GitLab has time to remove all projects first
           run_after_commit do
             GitlabShellWorker.perform_in(5.minutes, :rm_namespace, repository_storage, new_path)
diff --git a/app/models/concerns/with_uploads.rb b/app/models/concerns/with_uploads.rb
index e231af5368dd2..2bdef2a40e45c 100644
--- a/app/models/concerns/with_uploads.rb
+++ b/app/models/concerns/with_uploads.rb
@@ -2,7 +2,7 @@
 
 # Mounted uploaders are destroyed by carrierwave's after_commit
 # hook. This hook fetches upload location (local vs remote) from
-# Upload model. So it's neccessary to make sure that during that
+# Upload model. So it's necessary to make sure that during that
 # after_commit hook model's associated uploads are not deleted yet.
 # IOW we can not use dependent: :destroy :
 # has_many :uploads, as: :model, dependent: :destroy
diff --git a/app/models/namespace.rb b/app/models/namespace.rb
index 599bedde27d47..74d48d0a9afc0 100644
--- a/app/models/namespace.rb
+++ b/app/models/namespace.rb
@@ -83,7 +83,7 @@ def by_path(path)
       find_by('lower(path) = :value', value: path.downcase)
     end
 
-    # Case insensetive search for namespace by path or name
+    # Case insensitive search for namespace by path or name
     def find_by_path_or_name(path)
       find_by("lower(path) = :path OR lower(name) = :path", path: path.downcase)
     end
diff --git a/app/models/project.rb b/app/models/project.rb
index 382fb4f463aa3..825710840acbc 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -665,7 +665,7 @@ def reset_cache_and_import_attrs
     remove_import_data
   end
 
-  # This method is overriden in EE::Project model
+  # This method is overridden in EE::Project model
   def remove_import_data
     import_data&.destroy
   end
diff --git a/app/models/project_services/issue_tracker_service.rb b/app/models/project_services/issue_tracker_service.rb
index e1d342be188df..7cff0e30e8df4 100644
--- a/app/models/project_services/issue_tracker_service.rb
+++ b/app/models/project_services/issue_tracker_service.rb
@@ -9,7 +9,7 @@ class IssueTrackerService < Service
   # Override this method on services that uses different patterns
   # This pattern does not support cross-project references
   # The other code assumes that this pattern is a superset of all
-  # overriden patterns. See ReferenceRegexes::EXTERNAL_PATTERN
+  # overridden patterns. See ReferenceRegexes::EXTERNAL_PATTERN
   def self.reference_pattern(only_long: false)
     if only_long
       /(\b[A-Z][A-Z0-9_]+-)(?<issue>\d+)/
diff --git a/app/services/auth/container_registry_authentication_service.rb b/app/services/auth/container_registry_authentication_service.rb
index 893b37b831a8a..f764536e762c7 100644
--- a/app/services/auth/container_registry_authentication_service.rb
+++ b/app/services/auth/container_registry_authentication_service.rb
@@ -99,7 +99,7 @@ def process_repository_access(type, path, actions)
     ##
     # Because we do not have two way communication with registry yet,
     # we create a container repository image resource when push to the
-    # registry is successfuly authorized.
+    # registry is successfully authorized.
     #
     def ensure_container_repository!(path, actions)
       return if path.has_repository?
diff --git a/app/services/keys/destroy_service.rb b/app/services/keys/destroy_service.rb
index e2ae404794140..159455f80f3e9 100644
--- a/app/services/keys/destroy_service.rb
+++ b/app/services/keys/destroy_service.rb
@@ -6,7 +6,7 @@ def execute(key)
       key.destroy if destroy_possible?(key)
     end
 
-    # overriden in EE::Keys::DestroyService
+    # overridden in EE::Keys::DestroyService
     def destroy_possible?(key)
       true
     end
diff --git a/app/services/members/base_service.rb b/app/services/members/base_service.rb
index 8248f1441d764..d734571f83540 100644
--- a/app/services/members/base_service.rb
+++ b/app/services/members/base_service.rb
@@ -10,7 +10,7 @@ def initialize(current_user = nil, params = {})
     end
 
     def after_execute(args)
-      # overriden in EE::Members modules
+      # overridden in EE::Members modules
     end
 
     private
diff --git a/app/services/projects/move_project_authorizations_service.rb b/app/services/projects/move_project_authorizations_service.rb
index 2060a26375108..2985ba890142e 100644
--- a/app/services/projects/move_project_authorizations_service.rb
+++ b/app/services/projects/move_project_authorizations_service.rb
@@ -3,7 +3,7 @@
 # NOTE: This service cannot be used directly because it is part of a
 # a bigger process. Instead, use the service MoveAccessService which moves
 # project memberships, project group links, authorizations and refreshes
-# the authorizations if neccessary
+# the authorizations if necessary
 module Projects
   class MoveProjectAuthorizationsService < BaseMoveRelationsService
     def execute(source_project, remove_remaining_elements: true)
diff --git a/app/services/projects/move_project_group_links_service.rb b/app/services/projects/move_project_group_links_service.rb
index fb395ecb9a178..36afcd0c5039a 100644
--- a/app/services/projects/move_project_group_links_service.rb
+++ b/app/services/projects/move_project_group_links_service.rb
@@ -3,7 +3,7 @@
 # NOTE: This service cannot be used directly because it is part of a
 # a bigger process. Instead, use the service MoveAccessService which moves
 # project memberships, project group links, authorizations and refreshes
-# the authorizations if neccessary
+# the authorizations if necessary
 module Projects
   class MoveProjectGroupLinksService < BaseMoveRelationsService
     def execute(source_project, remove_remaining_elements: true)
diff --git a/app/services/projects/move_project_members_service.rb b/app/services/projects/move_project_members_service.rb
index f28f44adc03e3..faf389241d253 100644
--- a/app/services/projects/move_project_members_service.rb
+++ b/app/services/projects/move_project_members_service.rb
@@ -3,7 +3,7 @@
 # NOTE: This service cannot be used directly because it is part of a
 # a bigger process. Instead, use the service MoveAccessService which moves
 # project memberships, project group links, authorizations and refreshes
-# the authorizations if neccessary
+# the authorizations if necessary
 module Projects
   class MoveProjectMembersService < BaseMoveRelationsService
     def execute(source_project, remove_remaining_elements: true)
diff --git a/app/services/quick_actions/interpret_service.rb b/app/services/quick_actions/interpret_service.rb
index 751aae2696dcf..eb431c3680745 100644
--- a/app/services/quick_actions/interpret_service.rb
+++ b/app/services/quick_actions/interpret_service.rb
@@ -433,14 +433,14 @@ def extractor
       end
     end
 
-    desc 'Add or substract spent time'
+    desc 'Add or subtract spent time'
     explanation do |time_spent, time_spent_date|
       if time_spent
         if time_spent > 0
           verb = 'Adds'
           value = time_spent
         else
-          verb = 'Substracts'
+          verb = 'Subtracts'
           value = -time_spent
         end
 
diff --git a/app/views/projects/edit.html.haml b/app/views/projects/edit.html.haml
index 07fc9e1c682a8..3aff55388130b 100644
--- a/app/views/projects/edit.html.haml
+++ b/app/views/projects/edit.html.haml
@@ -148,7 +148,7 @@
             = link_to 'Archive project', archive_project_path(@project),
                 data: { confirm: "Are you sure that you want to archive this project?" },
                 method: :post, class: "btn btn-warning"
-      .sub-section.rename-respository
+      .sub-section.rename-repository
         %h4.warning-title
           Rename repository
         = render 'projects/errors'
diff --git a/app/workers/gitlab/github_import/advance_stage_worker.rb b/app/workers/gitlab/github_import/advance_stage_worker.rb
index cd2ceb8dcdf7f..2b49860025a8f 100644
--- a/app/workers/gitlab/github_import/advance_stage_worker.rb
+++ b/app/workers/gitlab/github_import/advance_stage_worker.rb
@@ -14,7 +14,7 @@ class AdvanceStageWorker
       INTERVAL = 30.seconds.to_i
 
       # The number of seconds to wait (while blocking the thread) before
-      # continueing to the next waiter.
+      # continuing to the next waiter.
       BLOCKING_WAIT_TIME = 5
 
       # The known importer stages and their corresponding Sidekiq workers.
diff --git a/config/gitlab.yml.example b/config/gitlab.yml.example
index a4db125f83152..d37775e772d89 100644
--- a/config/gitlab.yml.example
+++ b/config/gitlab.yml.example
@@ -587,7 +587,7 @@ production: &base
   gitaly:
     # Path to the directory containing Gitaly client executables.
     client_path: /home/git/gitaly/bin
-    # Default Gitaly authentication token. Can be overriden per storage. Can
+    # Default Gitaly authentication token. Can be overridden per storage. Can
     # be left blank when Gitaly is running locally on a Unix socket, which
     # is the normal way to deploy Gitaly.
     token:
diff --git a/db/post_migrate/20170717111152_cleanup_move_system_upload_folder_symlink.rb b/db/post_migrate/20170717111152_cleanup_move_system_upload_folder_symlink.rb
index c48f1c938d013..3ae4406ff961a 100644
--- a/db/post_migrate/20170717111152_cleanup_move_system_upload_folder_symlink.rb
+++ b/db/post_migrate/20170717111152_cleanup_move_system_upload_folder_symlink.rb
@@ -13,7 +13,7 @@ def up
       say "Removing #{old_directory} -> #{new_directory} symlink"
       FileUtils.rm(old_directory)
     else
-      say "Symlink #{old_directory} non existant, nothing to do."
+      say "Symlink #{old_directory} non existent, nothing to do."
     end
   end
 
diff --git a/doc/development/api_graphql_styleguide.md b/doc/development/api_graphql_styleguide.md
index 6c6e198a7c3be..95722c027ba78 100644
--- a/doc/development/api_graphql_styleguide.md
+++ b/doc/development/api_graphql_styleguide.md
@@ -379,7 +379,7 @@ let(:mutation) do
   )
 end
 
-it 'returns a successfull response' do
+it 'returns a successful response' do
    post_graphql_mutation(mutation, current_user: user)
 
    expect(response).to have_gitlab_http_status(:success)
diff --git a/lib/extracts_path.rb b/lib/extracts_path.rb
index a340a2766406d..655278da711ac 100644
--- a/lib/extracts_path.rb
+++ b/lib/extracts_path.rb
@@ -153,7 +153,7 @@ def lfs_blob_ids
 
   private
 
-  # overriden in subclasses, do not remove
+  # overridden in subclasses, do not remove
   def get_id
     id = [params[:id] || params[:ref]]
     id << "/" + params[:path] unless params[:path].blank?
diff --git a/lib/gitlab/auth/o_auth/auth_hash.rb b/lib/gitlab/auth/o_auth/auth_hash.rb
index 4a5f9d2839d64..36fc8061d92e2 100644
--- a/lib/gitlab/auth/o_auth/auth_hash.rb
+++ b/lib/gitlab/auth/o_auth/auth_hash.rb
@@ -80,7 +80,7 @@ def username_and_email
         end
 
         # Get the first part of the email address (before @)
-        # In addtion in removes illegal characters
+        # In addition in removes illegal characters
         def generate_username(email)
           email.match(/^[^@]*/)[0].mb_chars.normalize(:kd).gsub(/[^\x00-\x7F]/, '').to_s
         end
diff --git a/lib/gitlab/background_migration/set_confidential_note_events_on_services.rb b/lib/gitlab/background_migration/set_confidential_note_events_on_services.rb
index e5e8837221e90..bc434b0cb64fb 100644
--- a/lib/gitlab/background_migration/set_confidential_note_events_on_services.rb
+++ b/lib/gitlab/background_migration/set_confidential_note_events_on_services.rb
@@ -3,8 +3,8 @@
 
 module Gitlab
   module BackgroundMigration
-    # Ensures services which previously recieved all notes events continue
-    # to recieve confidential ones.
+    # Ensures services which previously received all notes events continue
+    # to receive confidential ones.
     class SetConfidentialNoteEventsOnServices
       class Service < ActiveRecord::Base
         self.table_name = 'services'
diff --git a/lib/gitlab/background_migration/set_confidential_note_events_on_webhooks.rb b/lib/gitlab/background_migration/set_confidential_note_events_on_webhooks.rb
index 171c8ef21b77c..28d8d2c640bd6 100644
--- a/lib/gitlab/background_migration/set_confidential_note_events_on_webhooks.rb
+++ b/lib/gitlab/background_migration/set_confidential_note_events_on_webhooks.rb
@@ -3,8 +3,8 @@
 
 module Gitlab
   module BackgroundMigration
-    # Ensures hooks which previously recieved all notes events continue
-    # to recieve confidential ones.
+    # Ensures hooks which previously received all notes events continue
+    # to receive confidential ones.
     class SetConfidentialNoteEventsOnWebhooks
       class WebHook < ActiveRecord::Base
         self.table_name = 'web_hooks'
diff --git a/lib/gitlab/ci/templates/Maven.gitlab-ci.yml b/lib/gitlab/ci/templates/Maven.gitlab-ci.yml
index d61ff239e1327..492b3d03db23b 100644
--- a/lib/gitlab/ci/templates/Maven.gitlab-ci.yml
+++ b/lib/gitlab/ci/templates/Maven.gitlab-ci.yml
@@ -15,7 +15,7 @@
 # * Publishes the documentation for `master` branch.
 
 variables:
-  # This will supress any download for dependencies and plugins or upload messages which would clutter the console log.
+  # This will suppress any download for dependencies and plugins or upload messages which would clutter the console log.
   # `showDateTime` will show the passed time in milliseconds. You need to specify `--batch-mode` to make this work.
   MAVEN_OPTS: "-Dhttps.protocols=TLSv1.2 -Dmaven.repo.local=$CI_PROJECT_DIR/.m2/repository -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN -Dorg.slf4j.simpleLogger.showDateTime=true -Djava.awt.headless=true"
   # As of Maven 3.3.0 instead of this you may define these options in `.mvn/maven.config` so the same config is used
diff --git a/lib/gitlab/database/migration_helpers.rb b/lib/gitlab/database/migration_helpers.rb
index a17f27a314720..f98d6dbd46f72 100644
--- a/lib/gitlab/database/migration_helpers.rb
+++ b/lib/gitlab/database/migration_helpers.rb
@@ -879,7 +879,7 @@ def column_for(table, name)
         columns(table).find { |column| column.name == name }
       end
 
-      # This will replace the first occurance of a string in a column with
+      # This will replace the first occurrence of a string in a column with
       # the replacement
       # On postgresql we can use `regexp_replace` for that.
       # On mysql we find the location of the pattern, and overwrite it
diff --git a/lib/gitlab/diff/position_tracer.rb b/lib/gitlab/diff/position_tracer.rb
index b68a163681471..8457e0c4cb6d5 100644
--- a/lib/gitlab/diff/position_tracer.rb
+++ b/lib/gitlab/diff/position_tracer.rb
@@ -24,7 +24,7 @@ def trace(ab_position)
         # head of `feature` was commit B, resulting in the original diff A->B.
         # Since creation, `master` was updated to C.
         # Now `feature` is being updated to D, and the newly generated MR diff is C->D.
-        # It is possible that C and D are direct decendants of A and B respectively,
+        # It is possible that C and D are direct descendants of A and B respectively,
         # but this isn't necessarily the case as rebases and merges come into play.
         #
         # Suppose we have a diff note on the original diff A->B. Now that the MR
diff --git a/lib/gitlab/gitaly_client/repository_service.rb b/lib/gitlab/gitaly_client/repository_service.rb
index 2956ed4b9118e..d7b36946b65e4 100644
--- a/lib/gitlab/gitaly_client/repository_service.rb
+++ b/lib/gitlab/gitaly_client/repository_service.rb
@@ -349,7 +349,7 @@ def gitaly_fetch_stream_to_file(save_path, rpc_name, request_class, timeout)
             f.write(message.data)
           end
         end
-        # If the file is empty means that we recieved an empty stream, we delete the file
+        # If the file is empty means that we received an empty stream, we delete the file
         FileUtils.rm(save_path) if File.zero?(save_path)
       end
 
diff --git a/lib/gitlab/import_export/project_tree_restorer.rb b/lib/gitlab/import_export/project_tree_restorer.rb
index 3d693d23c995b..99581eb041661 100644
--- a/lib/gitlab/import_export/project_tree_restorer.rb
+++ b/lib/gitlab/import_export/project_tree_restorer.rb
@@ -154,7 +154,7 @@ def create_sub_relations(relation, tree_hash, save: true)
           Project.transaction do
             process_sub_relation(relation, relation_item)
 
-            # For every subrelation that hangs from Project, save the associated records alltogether
+            # For every subrelation that hangs from Project, save the associated records altogether
             # This effectively batches all records per subrelation item, only keeping those in memory
             # We have to keep in mind that more batch granularity << Memory, but >> Slowness
             if save
diff --git a/lib/gitlab/path_regex.rb b/lib/gitlab/path_regex.rb
index 44025650de0ea..fa68dead80b43 100644
--- a/lib/gitlab/path_regex.rb
+++ b/lib/gitlab/path_regex.rb
@@ -236,7 +236,7 @@ def git_reference_regex
 
     def single_line_regexp(regex)
       # Turns a multiline extended regexp into a single line one,
-      # beacuse `rake routes` breaks on multiline regexes.
+      # because `rake routes` breaks on multiline regexes.
       Regexp.new(regex.source.gsub(/\(\?#.+?\)/, '').gsub(/\s*/, ''), regex.options ^ Regexp::EXTENDED).freeze
     end
   end
diff --git a/lib/gitlab/proxy_http_connection_adapter.rb b/lib/gitlab/proxy_http_connection_adapter.rb
index 822130986720f..a64cb47e77ef6 100644
--- a/lib/gitlab/proxy_http_connection_adapter.rb
+++ b/lib/gitlab/proxy_http_connection_adapter.rb
@@ -4,7 +4,7 @@
 # of the global setting allow_local_requests_from_hooks_and_services this adapter
 # will allow/block connection to internal IPs and/or urls.
 #
-# This functionality can be overriden by providing the setting the option
+# This functionality can be overridden by providing the setting the option
 # allow_local_requests = true in the request. For example:
 # Gitlab::HTTP.get('http://www.gitlab.com', allow_local_requests: true)
 #
diff --git a/lib/gitlab/slash_commands/issue_new.rb b/lib/gitlab/slash_commands/issue_new.rb
index 25f965e843d76..6396b828dc73f 100644
--- a/lib/gitlab/slash_commands/issue_new.rb
+++ b/lib/gitlab/slash_commands/issue_new.rb
@@ -3,7 +3,7 @@ module SlashCommands
     class IssueNew < IssueCommand
       def self.match(text)
         # we can not match \n with the dot by passing the m modifier as than
-        # the title and description are not seperated
+        # the title and description are not separated
         /\Aissue\s+(new|create)\s+(?<title>[^\n]*)\n*(?<description>(.|\n)*)/.match(text)
       end
 
diff --git a/lib/gitlab/user_extractor.rb b/lib/gitlab/user_extractor.rb
index bd0d24e4369b9..657e647b609f9 100644
--- a/lib/gitlab/user_extractor.rb
+++ b/lib/gitlab/user_extractor.rb
@@ -1,7 +1,7 @@
 # frozen_string_literal: true
 
 # This class extracts all users found in a piece of text by the username or the
-# email adress
+# email address
 
 module Gitlab
   class UserExtractor
diff --git a/lib/google_api/auth.rb b/lib/google_api/auth.rb
index e724e58e9caa0..56f056fd869fa 100644
--- a/lib/google_api/auth.rb
+++ b/lib/google_api/auth.rb
@@ -16,7 +16,7 @@ def authorize_url
       client.auth_code.authorize_url(
         redirect_uri: redirect_uri,
         scope: scope,
-        state: state # This is used for arbitary redirection
+        state: state # This is used for arbitrary redirection
       )
     end
 
diff --git a/scripts/trigger-build b/scripts/trigger-build
index b76cd5dd6f03b..dd0425b647207 100755
--- a/scripts/trigger-build
+++ b/scripts/trigger-build
@@ -32,32 +32,32 @@ module Trigger
 
     private
 
-    # Must be overriden
+    # Must be overridden
     def downstream_project_path
       raise NotImplementedError
     end
 
-    # Must be overriden
+    # Must be overridden
     def ref
       raise NotImplementedError
     end
 
-    # Must be overriden
+    # Must be overridden
     def trigger_token
       raise NotImplementedError
     end
 
-    # Must be overriden
+    # Must be overridden
     def access_token
       raise NotImplementedError
     end
 
-    # Can be overriden
+    # Can be overridden
     def extra_variables
       {}
     end
 
-    # Can be overriden
+    # Can be overridden
     def version_param_value(version_file)
       File.read(version_file).strip
     end
diff --git a/spec/controllers/groups/milestones_controller_spec.rb b/spec/controllers/groups/milestones_controller_spec.rb
index 465f3499703a8..42723bb3820d4 100644
--- a/spec/controllers/groups/milestones_controller_spec.rb
+++ b/spec/controllers/groups/milestones_controller_spec.rb
@@ -63,7 +63,7 @@
     let(:group_milestone) { create(:milestone, group: group) }
 
     context 'when there is a title parameter' do
-      it 'searchs for a legacy group milestone' do
+      it 'searches for a legacy group milestone' do
         expect(GlobalMilestone).to receive(:build)
         expect(Milestone).not_to receive(:find_by_iid)
 
@@ -72,7 +72,7 @@
     end
 
     context 'when there is not a title parameter' do
-      it 'searchs for a group milestone' do
+      it 'searches for a group milestone' do
         expect(GlobalMilestone).not_to receive(:build)
         expect(Milestone).to receive(:find_by_iid)
 
diff --git a/spec/controllers/groups_controller_spec.rb b/spec/controllers/groups_controller_spec.rb
index a099cdafa58b7..4de61b65f71d2 100644
--- a/spec/controllers/groups_controller_spec.rb
+++ b/spec/controllers/groups_controller_spec.rb
@@ -529,7 +529,7 @@ def group_moved_message(redirect_route, group)
       sign_in(user)
     end
 
-    context 'when transfering to a subgroup goes right' do
+    context 'when transferring to a subgroup goes right' do
       let(:new_parent_group) { create(:group, :public) }
       let!(:group_member) { create(:group_member, :owner, group: group, user: user) }
       let!(:new_parent_group_member) { create(:group_member, :owner, group: new_parent_group, user: user) }
diff --git a/spec/controllers/profiles/keys_controller_spec.rb b/spec/controllers/profiles/keys_controller_spec.rb
index 363ed410bc03c..ea26bc8335311 100644
--- a/spec/controllers/profiles/keys_controller_spec.rb
+++ b/spec/controllers/profiles/keys_controller_spec.rb
@@ -4,7 +4,7 @@
   let(:user) { create(:user) }
 
   describe "#get_keys" do
-    describe "non existant user" do
+    describe "non existent user" do
       it "does not generally work" do
         get :get_keys, username: 'not-existent'
 
diff --git a/spec/controllers/projects/environments_controller_spec.rb b/spec/controllers/projects/environments_controller_spec.rb
index b86029a4bafda..bc17331f531c8 100644
--- a/spec/controllers/projects/environments_controller_spec.rb
+++ b/spec/controllers/projects/environments_controller_spec.rb
@@ -216,7 +216,7 @@
         expect(response).to have_gitlab_http_status(200)
       end
 
-      it 'loads the terminals for the enviroment' do
+      it 'loads the terminals for the environment' do
         expect_any_instance_of(Environment).to receive(:terminals)
 
         get :terminal, environment_params
diff --git a/spec/controllers/projects/merge_requests_controller_spec.rb b/spec/controllers/projects/merge_requests_controller_spec.rb
index 7b0459e032555..7463586621c67 100644
--- a/spec/controllers/projects/merge_requests_controller_spec.rb
+++ b/spec/controllers/projects/merge_requests_controller_spec.rb
@@ -786,7 +786,7 @@ def post_assign_issues
             merge_request.mark_as_merged!
           end
 
-          it 'returns the enviroment on the source project' do
+          it 'returns the environment on the source project' do
             get_ci_environments_status(environment_target: 'merge_commit')
 
             expect(response).to have_gitlab_http_status(:ok)
diff --git a/spec/features/dashboard/archived_projects_spec.rb b/spec/features/dashboard/archived_projects_spec.rb
index 6a0cd8483450d..d31df322d1046 100644
--- a/spec/features/dashboard/archived_projects_spec.rb
+++ b/spec/features/dashboard/archived_projects_spec.rb
@@ -33,7 +33,7 @@
     expect(page).not_to have_content(project.name)
   end
 
-  it 'searchs archived projects', :js do
+  it 'searches archived projects', :js do
     click_button 'Last updated'
     click_link 'Show archived projects'
 
diff --git a/spec/features/import/manifest_import_spec.rb b/spec/features/import/manifest_import_spec.rb
index e381d07380429..a90cdd8d92007 100644
--- a/spec/features/import/manifest_import_spec.rb
+++ b/spec/features/import/manifest_import_spec.rb
@@ -22,7 +22,7 @@
     expect(page).to have_content('https://android-review.googlesource.com/platform/build/blueprint')
   end
 
-  it 'imports succesfully imports a project' do
+  it 'imports successfully imports a project' do
     visit new_import_manifest_path
 
     attach_file('manifest', Rails.root.join('spec/fixtures/aosp_manifest.xml'))
diff --git a/spec/features/issues/gfm_autocomplete_spec.rb b/spec/features/issues/gfm_autocomplete_spec.rb
index 593dc6b66905d..605860b90cdb3 100644
--- a/spec/features/issues/gfm_autocomplete_spec.rb
+++ b/spec/features/issues/gfm_autocomplete_spec.rb
@@ -15,7 +15,7 @@
     wait_for_requests
   end
 
-  it 'updates issue descripton with GFM reference' do
+  it 'updates issue description with GFM reference' do
     find('.js-issuable-edit').click
 
     simulate_input('#issue-description', "@#{user.name[0...3]}")
diff --git a/spec/features/projects/badges/pipeline_badge_spec.rb b/spec/features/projects/badges/pipeline_badge_spec.rb
index 8c4488b2ca6d3..dee818989284e 100644
--- a/spec/features/projects/badges/pipeline_badge_spec.rb
+++ b/spec/features/projects/badges/pipeline_badge_spec.rb
@@ -19,7 +19,7 @@
     let!(:pipeline) { create(:ci_empty_pipeline, project: project, ref: ref, sha: project.commit(ref).sha) }
     let!(:job) { create(:ci_build, pipeline: pipeline) }
 
-    context 'when the pipeline was successfull' do
+    context 'when the pipeline was successful' do
       it 'displays so on the badge' do
         job.success
 
diff --git a/spec/features/projects/clusters_spec.rb b/spec/features/projects/clusters_spec.rb
index 91eac9c8278b3..f13c35c00d3e8 100644
--- a/spec/features/projects/clusters_spec.rb
+++ b/spec/features/projects/clusters_spec.rb
@@ -40,7 +40,7 @@
         expect(page).to have_selector('.js-project-feature-toggle')
       end
 
-      context 'with sucessfull request' do
+      context 'with successful request' do
         it 'user sees updated cluster' do
           expect do
             page.find('.js-project-feature-toggle').click
diff --git a/spec/features/projects/files/user_creates_files_spec.rb b/spec/features/projects/files/user_creates_files_spec.rb
index d9df4b5062189..14b5bd58bd19c 100644
--- a/spec/features/projects/files/user_creates_files_spec.rb
+++ b/spec/features/projects/files/user_creates_files_spec.rb
@@ -16,7 +16,7 @@
     sign_in(user)
   end
 
-  context 'without commiting a new file' do
+  context 'without committing a new file' do
     context 'when an user has write access' do
       before do
         visit(project_tree_path_root_ref)
@@ -49,7 +49,7 @@
     end
   end
 
-  context 'with commiting a new file' do
+  context 'with committing a new file' do
     context 'when an user has write access' do
       before do
         visit(project_tree_path_root_ref)
diff --git a/spec/javascripts/awards_handler_spec.js b/spec/javascripts/awards_handler_spec.js
index b0689fc7cfe52..ce5d2022441aa 100644
--- a/spec/javascripts/awards_handler_spec.js
+++ b/spec/javascripts/awards_handler_spec.js
@@ -219,7 +219,7 @@ describe('AwardsHandler', function() {
       expect($thumbsUpEmoji.data('originalTitle')).toBe('You, sam, jerry, max, and andy');
     });
 
-    it('handles the special case where "You" is not cleanly comma seperated', function() {
+    it('handles the special case where "You" is not cleanly comma separated', function() {
       const awardUrl = awardsHandler.getAwardUrl();
       const $votesBlock = $('.js-awards-block').eq(0);
       const $thumbsUpEmoji = $votesBlock.find('[data-name=thumbsup]').parent();
@@ -244,7 +244,7 @@ describe('AwardsHandler', function() {
       expect($thumbsUpEmoji.data('originalTitle')).toBe('sam, jerry, max, and andy');
     });
 
-    it('handles the special case where "You" is not cleanly comma seperated', function() {
+    it('handles the special case where "You" is not cleanly comma separated', function() {
       const awardUrl = awardsHandler.getAwardUrl();
       const $votesBlock = $('.js-awards-block').eq(0);
       const $thumbsUpEmoji = $votesBlock.find('[data-name=thumbsup]').parent();
diff --git a/spec/javascripts/commit/commit_pipeline_status_component_spec.js b/spec/javascripts/commit/commit_pipeline_status_component_spec.js
index 4fc56fd9a277b..f6b36e88a5fab 100644
--- a/spec/javascripts/commit/commit_pipeline_status_component_spec.js
+++ b/spec/javascripts/commit/commit_pipeline_status_component_spec.js
@@ -22,7 +22,7 @@ describe('Commit pipeline status component', () => {
     Component = Vue.extend(commitPipelineStatus);
   });
 
-  describe('While polling pipeline data succesfully', () => {
+  describe('While polling pipeline data successfully', () => {
     beforeEach(() => {
       mock = new MockAdapter(axios);
       mock.onGet('/dummy/endpoint').reply(() => {
@@ -59,14 +59,14 @@ describe('Commit pipeline status component', () => {
       });
     });
 
-    it('contains a ciStatus when the polling is succesful ', done => {
+    it('contains a ciStatus when the polling is successful ', done => {
       setTimeout(() => {
         expect(vm.ciStatus).toEqual(mockCiStatus);
         done();
       });
     });
 
-    it('contains a ci-status icon when polling is succesful', done => {
+    it('contains a ci-status icon when polling is successful', done => {
       setTimeout(() => {
         expect(vm.$el.querySelector('.ci-status-icon')).not.toBe(null);
         expect(vm.$el.querySelector('.ci-status-icon').classList).toContain(
@@ -77,7 +77,7 @@ describe('Commit pipeline status component', () => {
     });
   });
 
-  describe('When polling data was not succesful', () => {
+  describe('When polling data was not successful', () => {
     beforeEach(() => {
       mock = new MockAdapter(axios);
       mock.onGet('/dummy/endpoint').reply(502, {});
diff --git a/spec/javascripts/environments/environments_app_spec.js b/spec/javascripts/environments/environments_app_spec.js
index 7edc0ccac0bea..75c2f97d1c759 100644
--- a/spec/javascripts/environments/environments_app_spec.js
+++ b/spec/javascripts/environments/environments_app_spec.js
@@ -31,7 +31,7 @@ describe('Environment', () => {
     mock.restore();
   });
 
-  describe('successfull request', () => {
+  describe('successful request', () => {
     describe('without environments', () => {
       beforeEach((done) => {
         mock.onGet(mockData.endpoint).reply(200, { environments: [] });
diff --git a/spec/javascripts/environments/folder/environments_folder_view_spec.js b/spec/javascripts/environments/folder/environments_folder_view_spec.js
index 51d4213c38ffe..b21e2f182a20d 100644
--- a/spec/javascripts/environments/folder/environments_folder_view_spec.js
+++ b/spec/javascripts/environments/folder/environments_folder_view_spec.js
@@ -30,7 +30,7 @@ describe('Environments Folder View', () => {
     component.$destroy();
   });
 
-  describe('successfull request', () => {
+  describe('successful request', () => {
     beforeEach(() => {
       mock.onGet(mockData.endpoint).reply(200, {
         environments: environmentsList,
diff --git a/spec/javascripts/jobs/components/job_app_spec.js b/spec/javascripts/jobs/components/job_app_spec.js
index 288c06d661558..a534fd4985e24 100644
--- a/spec/javascripts/jobs/components/job_app_spec.js
+++ b/spec/javascripts/jobs/components/job_app_spec.js
@@ -52,7 +52,7 @@ describe('Job App ', () => {
     });
   });
 
-  describe('with successfull request', () => {
+  describe('with successful request', () => {
     beforeEach(() => {
       mock.onGet(`${props.pagePath}/trace.json`).replyOnce(200, {});
     });
diff --git a/spec/javascripts/lib/utils/datetime_utility_spec.js b/spec/javascripts/lib/utils/datetime_utility_spec.js
index de6b96aab5729..d699e66b8ca95 100644
--- a/spec/javascripts/lib/utils/datetime_utility_spec.js
+++ b/spec/javascripts/lib/utils/datetime_utility_spec.js
@@ -199,11 +199,11 @@ describe('datefix', () => {
       expect(datetimeUtility.pad(2)).toEqual('02');
     });
 
-    it('should not add a zero when lenght matches the default', () => {
+    it('should not add a zero when length matches the default', () => {
       expect(datetimeUtility.pad(12)).toEqual('12');
     });
 
-    it('should add a 0 when lenght is smaller than the provided', () => {
+    it('should add a 0 when length is smaller than the provided', () => {
       expect(datetimeUtility.pad(12, 3)).toEqual('012');
     });
   });
diff --git a/spec/javascripts/lib/utils/text_utility_spec.js b/spec/javascripts/lib/utils/text_utility_spec.js
index ac3270baef5f2..92ebfc38722de 100644
--- a/spec/javascripts/lib/utils/text_utility_spec.js
+++ b/spec/javascripts/lib/utils/text_utility_spec.js
@@ -120,7 +120,7 @@ describe('text_utility', () => {
   });
 
   describe('getFirstCharacterCapitalized', () => {
-    it('returns the first character captialized, if first character is alphabetic', () => {
+    it('returns the first character capitalized, if first character is alphabetic', () => {
       expect(textUtils.getFirstCharacterCapitalized('loremIpsumDolar')).toEqual('L');
       expect(textUtils.getFirstCharacterCapitalized('Sit amit !')).toEqual('S');
     });
diff --git a/spec/javascripts/notes/stores/mutation_spec.js b/spec/javascripts/notes/stores/mutation_spec.js
index 9d652ba9f1e2a..380ab59099d1e 100644
--- a/spec/javascripts/notes/stores/mutation_spec.js
+++ b/spec/javascripts/notes/stores/mutation_spec.js
@@ -78,7 +78,7 @@ describe('Notes Store mutations', () => {
   });
 
   describe('COLLAPSE_DISCUSSION', () => {
-    it('should collpase an expanded discussion', () => {
+    it('should collapse an expanded discussion', () => {
       const discussion = Object.assign({}, discussionMock, { expanded: true });
 
       const state = {
diff --git a/spec/javascripts/pipelines/empty_state_spec.js b/spec/javascripts/pipelines/empty_state_spec.js
index e21dca45fa16b..f12950b8fce9d 100644
--- a/spec/javascripts/pipelines/empty_state_spec.js
+++ b/spec/javascripts/pipelines/empty_state_spec.js
@@ -24,7 +24,7 @@ describe('Pipelines Empty State', () => {
     expect(component.$el.querySelector('.svg-content svg')).toBeDefined();
   });
 
-  it('should render emtpy state information', () => {
+  it('should render empty state information', () => {
     expect(component.$el.querySelector('h4').textContent).toContain('Build with confidence');
 
     expect(
diff --git a/spec/javascripts/pipelines/graph/action_component_spec.js b/spec/javascripts/pipelines/graph/action_component_spec.js
index 027066e1d4d4e..3d2232ff23992 100644
--- a/spec/javascripts/pipelines/graph/action_component_spec.js
+++ b/spec/javascripts/pipelines/graph/action_component_spec.js
@@ -50,7 +50,7 @@ describe('pipeline graph action component', () => {
   });
 
   describe('on click', () => {
-    it('emits `pipelineActionRequestComplete` after a successfull request', done => {
+    it('emits `pipelineActionRequestComplete` after a successful request', done => {
       spyOn(component, '$emit');
 
       component.$el.click();
diff --git a/spec/javascripts/pipelines/pipelines_spec.js b/spec/javascripts/pipelines/pipelines_spec.js
index 37908153e0e9b..97ded16db69ac 100644
--- a/spec/javascripts/pipelines/pipelines_spec.js
+++ b/spec/javascripts/pipelines/pipelines_spec.js
@@ -372,7 +372,7 @@ describe('Pipelines', () => {
     });
   });
 
-  describe('successfull request', () => {
+  describe('successful request', () => {
     describe('with pipelines', () => {
       beforeEach(() => {
         mock.onGet('twitter/flight/pipelines.json').reply(200, pipelines);
@@ -667,7 +667,7 @@ describe('Pipelines', () => {
         });
       });
 
-      it('returns false when state is emtpy state', done => {
+      it('returns false when state is empty state', done => {
         vm.isLoading = false;
         vm.hasMadeRequest = true;
         vm.hasGitlabCi = false;
diff --git a/spec/javascripts/pipelines/stage_spec.js b/spec/javascripts/pipelines/stage_spec.js
index a3caaeb44dc8f..3c8b8032de8f9 100644
--- a/spec/javascripts/pipelines/stage_spec.js
+++ b/spec/javascripts/pipelines/stage_spec.js
@@ -40,7 +40,7 @@ describe('Pipelines stage component', () => {
     expect(component.$el.querySelector('button').getAttribute('data-toggle')).toEqual('dropdown');
   });
 
-  describe('with successfull request', () => {
+  describe('with successful request', () => {
     beforeEach(() => {
       mock.onGet('path.json').reply(200, stageReply);
     });
diff --git a/spec/javascripts/vue_mr_widget/components/states/mr_widget_merged_spec.js b/spec/javascripts/vue_mr_widget/components/states/mr_widget_merged_spec.js
index d68342635ef47..da5cb752c6fe7 100644
--- a/spec/javascripts/vue_mr_widget/components/states/mr_widget_merged_spec.js
+++ b/spec/javascripts/vue_mr_widget/components/states/mr_widget_merged_spec.js
@@ -69,7 +69,7 @@ describe('MRWidgetMerged', () => {
         expect(vm.shouldShowRemoveSourceBranch).toEqual(true);
       });
 
-      it('returns false wehn sourceBranchRemoved is true', () => {
+      it('returns false when sourceBranchRemoved is true', () => {
         vm.mr.sourceBranchRemoved = true;
 
         expect(vm.shouldShowRemoveSourceBranch).toEqual(false);
diff --git a/spec/javascripts/vue_shared/components/filtered_search_dropdown_spec.js b/spec/javascripts/vue_shared/components/filtered_search_dropdown_spec.js
index b71cb36ecf631..b84b5ae67a835 100644
--- a/spec/javascripts/vue_shared/components/filtered_search_dropdown_spec.js
+++ b/spec/javascripts/vue_shared/components/filtered_search_dropdown_spec.js
@@ -41,7 +41,7 @@ describe('Filtered search dropdown', () => {
     });
   });
 
-  describe('when visible number is bigger than the items lenght', () => {
+  describe('when visible number is bigger than the items length', () => {
     beforeEach(() => {
       vm = mountComponent(Component, {
         items: [{ title: 'One' }, { title: 'Two' }, { title: 'Three' }],
diff --git a/spec/javascripts/vue_shared/components/user_avatar/user_avatar_link_spec.js b/spec/javascripts/vue_shared/components/user_avatar/user_avatar_link_spec.js
index 50b8d49d4bdb6..e022245d3ea54 100644
--- a/spec/javascripts/vue_shared/components/user_avatar/user_avatar_link_spec.js
+++ b/spec/javascripts/vue_shared/components/user_avatar/user_avatar_link_spec.js
@@ -44,7 +44,7 @@ describe('User Avatar Link Component', function() {
     expect(this.userAvatarLink.$el.querySelector('img')).not.toBeNull();
   });
 
-  it('should return neccessary props as defined', function() {
+  it('should return necessary props as defined', function() {
     _.each(this.propsData, (val, key) => {
       expect(this.userAvatarLink[key]).toBeDefined();
     });
diff --git a/spec/lib/banzai/filter/autolink_filter_spec.rb b/spec/lib/banzai/filter/autolink_filter_spec.rb
index a50329473adda..7a457403b51c1 100644
--- a/spec/lib/banzai/filter/autolink_filter_spec.rb
+++ b/spec/lib/banzai/filter/autolink_filter_spec.rb
@@ -76,7 +76,7 @@
       expect(doc.at_css('a')['href']).to eq link
     end
 
-    it 'autolinks multiple occurences of smb' do
+    it 'autolinks multiple occurrences of smb' do
       link1 = 'smb:///Volumes/shared/foo.pdf'
       link2 = 'smb:///Volumes/shared/bar.pdf'
 
diff --git a/spec/lib/banzai/filter/relative_link_filter_spec.rb b/spec/lib/banzai/filter/relative_link_filter_spec.rb
index ed1ebe9ebf6a6..415ded05e6e43 100644
--- a/spec/lib/banzai/filter/relative_link_filter_spec.rb
+++ b/spec/lib/banzai/filter/relative_link_filter_spec.rb
@@ -226,7 +226,7 @@ def nested(element)
       let(:ref) {'mark#\'@],+;-._/#@!$&()+down'}
 
       it 'correctly escapes the ref' do
-        # Adressable won't escape the '#', so we do this manually
+        # Addressable won't escape the '#', so we do this manually
         ref_escaped = 'mark%23\'@%5D,+;-._/%23@!$&()+down'
 
         # Stub this method so the branch doesn't actually need to be in the repo
diff --git a/spec/lib/container_registry/blob_spec.rb b/spec/lib/container_registry/blob_spec.rb
index c73faa55513b0..d3fff5bad42f9 100644
--- a/spec/lib/container_registry/blob_spec.rb
+++ b/spec/lib/container_registry/blob_spec.rb
@@ -64,7 +64,7 @@
         .to_return(status: 200)
     end
 
-    it 'returns true when blob has been successfuly deleted' do
+    it 'returns true when blob has been successfully deleted' do
       expect(blob.delete).to be_truthy
     end
   end
diff --git a/spec/lib/gitlab/background_migration/create_fork_network_memberships_range_spec.rb b/spec/lib/gitlab/background_migration/create_fork_network_memberships_range_spec.rb
index e1c4f9cfea71b..5076996474f7d 100644
--- a/spec/lib/gitlab/background_migration/create_fork_network_memberships_range_spec.rb
+++ b/spec/lib/gitlab/background_migration/create_fork_network_memberships_range_spec.rb
@@ -118,7 +118,7 @@
       expect(fork_network_members.count).to eq(12)
     end
 
-    it 'knows when not all memberships withing a batch have been created' do
+    it 'knows when not all memberships within a batch have been created' do
       expect(migration.missing_members?(8, 10)).to be_truthy
     end
   end
diff --git a/spec/lib/gitlab/checks/lfs_integrity_spec.rb b/spec/lib/gitlab/checks/lfs_integrity_spec.rb
index 0488720cec8fc..887ea8fc1e095 100644
--- a/spec/lib/gitlab/checks/lfs_integrity_spec.rb
+++ b/spec/lib/gitlab/checks/lfs_integrity_spec.rb
@@ -68,7 +68,7 @@
         expect(subject.objects_missing?).to be_truthy
       end
 
-      it 'is false parent project already conatins LFS objects for the fork' do
+      it 'is false parent project already contains LFS objects for the fork' do
         lfs_object = create(:lfs_object, oid: blob_object.lfs_oid)
         create(:lfs_objects_project, project: parent_project, lfs_object: lfs_object)
 
diff --git a/spec/lib/gitlab/ci/ansi2html_spec.rb b/spec/lib/gitlab/ci/ansi2html_spec.rb
index 7549e9941b6fe..5a5c071c639ba 100644
--- a/spec/lib/gitlab/ci/ansi2html_spec.rb
+++ b/spec/lib/gitlab/ci/ansi2html_spec.rb
@@ -7,7 +7,7 @@
     expect(convert_html("Hello")).to eq('Hello')
   end
 
-  it "strips non-color-changing controll sequences" do
+  it "strips non-color-changing control sequences" do
     expect(convert_html("Hello \e[2Kworld")).to eq('Hello world')
   end
 
diff --git a/spec/lib/gitlab/ci/build/policy/variables_spec.rb b/spec/lib/gitlab/ci/build/policy/variables_spec.rb
index 2ce858836e397..1d37d81092ae7 100644
--- a/spec/lib/gitlab/ci/build/policy/variables_spec.rb
+++ b/spec/lib/gitlab/ci/build/policy/variables_spec.rb
@@ -24,7 +24,7 @@
       expect(policy).to be_satisfied_by(pipeline, seed)
     end
 
-    it 'is not satisfied by an overriden empty variable' do
+    it 'is not satisfied by an overridden empty variable' do
       policy = described_class.new(['$CI_PROJECT_NAME'])
 
       expect(policy).not_to be_satisfied_by(pipeline, seed)
diff --git a/spec/lib/gitlab/ci/config/entry/global_spec.rb b/spec/lib/gitlab/ci/config/entry/global_spec.rb
index 1860ed79bfd4c..7c18514934ed4 100644
--- a/spec/lib/gitlab/ci/config/entry/global_spec.rb
+++ b/spec/lib/gitlab/ci/config/entry/global_spec.rb
@@ -219,7 +219,7 @@
 
     ##
     # When nodes are specified but not defined, we assume that
-    # configuration is valid, and we asume that entry is simply undefined,
+    # configuration is valid, and we assume that entry is simply undefined,
     # despite the fact, that key is present. See issue #18775 for more
     # details.
     #
diff --git a/spec/lib/gitlab/cross_project_access/check_info_spec.rb b/spec/lib/gitlab/cross_project_access/check_info_spec.rb
index bc9dbf2bece2e..239fa364f5e05 100644
--- a/spec/lib/gitlab/cross_project_access/check_info_spec.rb
+++ b/spec/lib/gitlab/cross_project_access/check_info_spec.rb
@@ -50,7 +50,7 @@
       expect(info.should_run?(dummy_controller)).to be_truthy
     end
 
-    it 'returns the the oposite of #should_skip? when the check is a skip' do
+    it 'returns the the opposite of #should_skip? when the check is a skip' do
       info = described_class.new({}, nil, nil, true)
 
       expect(info).to receive(:should_skip?).with(dummy_controller).and_return(false)
@@ -101,7 +101,7 @@
       expect(info.should_skip?(dummy_controller)).to be_truthy
     end
 
-    it 'returns the the oposite of #should_run? when the check is not a skip' do
+    it 'returns the the opposite of #should_run? when the check is not a skip' do
       info = described_class.new({}, nil, nil, false)
 
       expect(info).to receive(:should_run?).with(dummy_controller).and_return(false)
diff --git a/spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_base_spec.rb b/spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_base_spec.rb
index cc7cb3f23fd41..248cca25a2cb6 100644
--- a/spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_base_spec.rb
+++ b/spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_base_spec.rb
@@ -20,7 +20,7 @@ def migration_project(project)
   end
 
   describe "#remove_last_ocurrence" do
-    it "removes only the last occurance of a string" do
+    it "removes only the last occurrence of a string" do
       input = "this/is/a-word-to-replace/namespace/with/a-word-to-replace"
 
       expect(subject.remove_last_occurrence(input, "a-word-to-replace"))
diff --git a/spec/lib/gitlab/diff/position_spec.rb b/spec/lib/gitlab/diff/position_spec.rb
index 2d94356f386ed..cc4faf6f10ba7 100644
--- a/spec/lib/gitlab/diff/position_spec.rb
+++ b/spec/lib/gitlab/diff/position_spec.rb
@@ -566,13 +566,13 @@
       end
     end
 
-    context "for text positon" do
+    context "for text position" do
       let(:args) { args_for_text }
 
       it_behaves_like "diff position json"
     end
 
-    context "for image positon" do
+    context "for image position" do
       let(:args) { args_for_img }
 
       it_behaves_like "diff position json"
@@ -592,13 +592,13 @@
       end
     end
 
-    context "for text positon" do
+    context "for text position" do
       let(:args) { args_for_text }
 
       it_behaves_like "diff position json"
     end
 
-    context "for image positon" do
+    context "for image position" do
       let(:args) { args_for_img }
 
       it_behaves_like "diff position json"
diff --git a/spec/lib/gitlab/diff/position_tracer_spec.rb b/spec/lib/gitlab/diff/position_tracer_spec.rb
index ddc4f6c5b5c0a..a2eed07ca55b5 100644
--- a/spec/lib/gitlab/diff/position_tracer_spec.rb
+++ b/spec/lib/gitlab/diff/position_tracer_spec.rb
@@ -43,7 +43,7 @@
   #
   # In any case, all of this means that the tests below will be extremely
   # (excessively, unjustifiably) thorough for scenarios where "the file was
-  # created in the old diff" and then drop off to comparitively lackluster
+  # created in the old diff" and then drop off to comparatively lackluster
   # testing of other scenarios.
   #
   # I did still try to cover most of the obvious and potentially tricky
diff --git a/spec/lib/gitlab/git/attributes_at_ref_parser_spec.rb b/spec/lib/gitlab/git/attributes_at_ref_parser_spec.rb
index ca067a2917443..134bd5657e752 100644
--- a/spec/lib/gitlab/git/attributes_at_ref_parser_spec.rb
+++ b/spec/lib/gitlab/git/attributes_at_ref_parser_spec.rb
@@ -17,7 +17,7 @@
   end
 
   it 'handles missing blobs' do
-    expect { described_class.new(repository, 'non-existant-branch') }.not_to raise_error
+    expect { described_class.new(repository, 'non-existent-branch') }.not_to raise_error
   end
 
   describe '#attributes' do
diff --git a/spec/lib/gitlab/gpg_spec.rb b/spec/lib/gitlab/gpg_spec.rb
index 47f37cae98f09..39d09c4998974 100644
--- a/spec/lib/gitlab/gpg_spec.rb
+++ b/spec/lib/gitlab/gpg_spec.rb
@@ -96,7 +96,7 @@
       expect(described_class.current_home_dir).to eq default_home_dir
     end
 
-    it 'returns the explicitely set home dir' do
+    it 'returns the explicitly set home dir' do
       GPGME::Engine.home_dir = '/tmp/gpg'
 
       expect(described_class.current_home_dir).to eq '/tmp/gpg'
@@ -104,7 +104,7 @@
       GPGME::Engine.home_dir = GPGME::Engine.dirinfo('homedir')
     end
 
-    it 'returns the default value when explicitely setting the home dir to nil' do
+    it 'returns the default value when explicitly setting the home dir to nil' do
       GPGME::Engine.home_dir = nil
 
       expect(described_class.current_home_dir).to eq default_home_dir
diff --git a/spec/lib/gitlab/import_export/project_tree_restorer_spec.rb b/spec/lib/gitlab/import_export/project_tree_restorer_spec.rb
index b0570680d5a62..365bfae0d880f 100644
--- a/spec/lib/gitlab/import_export/project_tree_restorer_spec.rb
+++ b/spec/lib/gitlab/import_export/project_tree_restorer_spec.rb
@@ -321,7 +321,7 @@
       end
     end
 
-    context 'when the project has overriden params in import data' do
+    context 'when the project has overridden params in import data' do
       it 'overwrites the params stored in the JSON' do
         project.create_import_data(data: { override_params: { description: "Overridden" } })
 
diff --git a/spec/lib/gitlab/view/presenter/base_spec.rb b/spec/lib/gitlab/view/presenter/base_spec.rb
index 4eca53032a28b..02c2fd4719764 100644
--- a/spec/lib/gitlab/view/presenter/base_spec.rb
+++ b/spec/lib/gitlab/view/presenter/base_spec.rb
@@ -40,7 +40,7 @@
       end
     end
 
-    context 'subject is overriden' do
+    context 'subject is overridden' do
       it 'returns true' do
         presenter = presenter_class.new(build_stubbed(:project, :public))
 
diff --git a/spec/lib/microsoft_teams/notifier_spec.rb b/spec/lib/microsoft_teams/notifier_spec.rb
index c9756544bd62f..2aaa7c24ad8e9 100644
--- a/spec/lib/microsoft_teams/notifier_spec.rb
+++ b/spec/lib/microsoft_teams/notifier_spec.rb
@@ -48,7 +48,7 @@
       stub_request(:post, webhook_url).with(body: JSON(body), headers: { 'Content-Type' => 'application/json' }).to_return(status: 200, body: "", headers: {})
     end
 
-    it 'expects to receive successfull answer' do
+    it 'expects to receive successful answer' do
       expect(subject.ping(options)).to be true
     end
   end
diff --git a/spec/migrations/migrate_old_artifacts_spec.rb b/spec/migrations/migrate_old_artifacts_spec.rb
index 4187ab149a5a9..af77d64fdbf29 100644
--- a/spec/migrations/migrate_old_artifacts_spec.rb
+++ b/spec/migrations/migrate_old_artifacts_spec.rb
@@ -76,7 +76,7 @@
         end
       end
 
-      context 'when there are aritfacts in old and new directory' do
+      context 'when there are artifacts in old and new directory' do
         before do
           store_artifacts_in_legacy_path(build2)
 
diff --git a/spec/models/concerns/cacheable_attributes_spec.rb b/spec/models/concerns/cacheable_attributes_spec.rb
index f8c2e29faddf1..827fbc9d7d511 100644
--- a/spec/models/concerns/cacheable_attributes_spec.rb
+++ b/spec/models/concerns/cacheable_attributes_spec.rb
@@ -41,7 +41,7 @@ def initialize(attrs = {}, *)
       expect(minimal_test_class.current_without_cache).to eq(minimal_test_class.last)
     end
 
-    it 'can be overriden' do
+    it 'can be overridden' do
       minimal_test_class.define_singleton_method(:current_without_cache) do
         first
       end
@@ -64,7 +64,7 @@ def initialize(attrs = {}, *)
     context 'with defaults defined' do
       include_context 'with defaults'
 
-      it 'can be overriden' do
+      it 'can be overridden' do
         expect(minimal_test_class.defaults).to eq({ foo: 'a', bar: 'b', baz: 'c' })
       end
     end
diff --git a/spec/models/concerns/issuable_spec.rb b/spec/models/concerns/issuable_spec.rb
index ec6374f3963a5..a4bf3e2350a61 100644
--- a/spec/models/concerns/issuable_spec.rb
+++ b/spec/models/concerns/issuable_spec.rb
@@ -519,7 +519,7 @@ def spend_time(seconds)
       end
     end
 
-    context 'substracting time' do
+    context 'subtracting time' do
       before do
         spend_time(1800)
       end
@@ -530,7 +530,7 @@ def spend_time(seconds)
         expect(issue.total_time_spent).to eq(900)
       end
 
-      context 'when time to substract exceeds the total time spent' do
+      context 'when time to subtract exceeds the total time spent' do
         it 'raise a validation error' do
           Timecop.travel(1.minute.from_now) do
             expect do
diff --git a/spec/models/lfs_object_spec.rb b/spec/models/lfs_object_spec.rb
index 6e35511e84853..7e16ecaed0ed7 100644
--- a/spec/models/lfs_object_spec.rb
+++ b/spec/models/lfs_object_spec.rb
@@ -14,7 +14,7 @@
       expect(subject.local_store?).to eq true
     end
 
-    it 'returns false whe file_store is equal to LfsObjectUploader::Store::REMOTE' do
+    it 'returns false when file_store is equal to LfsObjectUploader::Store::REMOTE' do
       subject.file_store = LfsObjectUploader::Store::REMOTE
 
       expect(subject.local_store?).to eq false
diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb
index 62a38c66d991d..9f42621a23c3b 100644
--- a/spec/models/project_spec.rb
+++ b/spec/models/project_spec.rb
@@ -2746,7 +2746,7 @@ def enable_lfs
         .to raise_error(ActiveRecord::RecordNotSaved, error_message)
     end
 
-    it 'updates the project succesfully' do
+    it 'updates the project successfully' do
       merge_request = create(:merge_request, target_project: project, source_project: project)
 
       expect { project.append_or_update_attribute(:merge_requests, [merge_request]) }
@@ -3314,7 +3314,7 @@ def enable_lfs
       end
     end
 
-    context 'when explicitely enabled' do
+    context 'when explicitly enabled' do
       context 'when domain is empty' do
         before do
           create(:project_auto_devops, project: project, domain: nil)
diff --git a/spec/models/project_wiki_spec.rb b/spec/models/project_wiki_spec.rb
index f38fc19194369..cc5e34782ecb0 100644
--- a/spec/models/project_wiki_spec.rb
+++ b/spec/models/project_wiki_spec.rb
@@ -145,7 +145,7 @@
       end
 
       it "returns nil if the page does not exist" do
-        expect(subject.find_page("non-existant")).to eq(nil)
+        expect(subject.find_page("non-existent")).to eq(nil)
       end
 
       it "can find a page by slug" do
@@ -226,7 +226,7 @@
       end
 
       it 'returns nil if the page does not exist' do
-        expect(subject.find_file('non-existant')).to eq(nil)
+        expect(subject.find_file('non-existent')).to eq(nil)
       end
 
       it 'returns a Gitlab::Git::WikiFile instance' do
diff --git a/spec/models/upload_spec.rb b/spec/models/upload_spec.rb
index 36b8e5d304f14..3c89e99abf0b6 100644
--- a/spec/models/upload_spec.rb
+++ b/spec/models/upload_spec.rb
@@ -91,7 +91,7 @@
         .to change { upload.checksum }.from(nil).to(expected)
     end
 
-    it 'sets `checksum` to nil for a non-existant file' do
+    it 'sets `checksum` to nil for a non-existent file' do
       expect(upload).to receive(:exist?).and_return(false)
 
       checksum = Digest::SHA256.file(__FILE__).hexdigest
diff --git a/spec/requests/api/commits_spec.rb b/spec/requests/api/commits_spec.rb
index 98399471f9a71..2963dea634ac3 100644
--- a/spec/requests/api/commits_spec.rb
+++ b/spec/requests/api/commits_spec.rb
@@ -565,7 +565,7 @@
         }
       end
 
-      it 'are commited as one in project repo' do
+      it 'are committed as one in project repo' do
         post api(url, user), valid_mo_params
 
         expect(response).to have_gitlab_http_status(201)
diff --git a/spec/services/clusters/gcp/fetch_operation_service_spec.rb b/spec/services/clusters/gcp/fetch_operation_service_spec.rb
index e2fa93904c51e..55f123ee786ce 100644
--- a/spec/services/clusters/gcp/fetch_operation_service_spec.rb
+++ b/spec/services/clusters/gcp/fetch_operation_service_spec.rb
@@ -24,7 +24,7 @@
       end
     end
 
-    context 'when suceeded to fetch operation' do
+    context 'when succeeded to fetch operation' do
       before do
         stub_cloud_platform_get_zone_operation(gcp_project_id, zone, operation_id)
       end
diff --git a/spec/services/clusters/gcp/finalize_creation_service_spec.rb b/spec/services/clusters/gcp/finalize_creation_service_spec.rb
index 0f484222228ca..303d45495efc2 100644
--- a/spec/services/clusters/gcp/finalize_creation_service_spec.rb
+++ b/spec/services/clusters/gcp/finalize_creation_service_spec.rb
@@ -30,7 +30,7 @@
       end
     end
 
-    context 'when suceeded to fetch gke cluster info' do
+    context 'when succeeded to fetch gke cluster info' do
       let(:endpoint) { '111.111.111.111' }
       let(:api_url) { 'https://' + endpoint }
       let(:username) { 'sample-username' }
diff --git a/spec/services/clusters/gcp/provision_service_spec.rb b/spec/services/clusters/gcp/provision_service_spec.rb
index f48afdc83b2b3..c0bdac4093873 100644
--- a/spec/services/clusters/gcp/provision_service_spec.rb
+++ b/spec/services/clusters/gcp/provision_service_spec.rb
@@ -26,7 +26,7 @@
       end
     end
 
-    context 'when suceeded to request provision' do
+    context 'when succeeded to request provision' do
       before do
         stub_cloud_platform_create_cluster(gcp_project_id, zone)
       end
diff --git a/spec/services/groups/transfer_service_spec.rb b/spec/services/groups/transfer_service_spec.rb
index d71ccfb4334c2..a71f9a788763b 100644
--- a/spec/services/groups/transfer_service_spec.rb
+++ b/spec/services/groups/transfer_service_spec.rb
@@ -347,7 +347,7 @@
         end
       end
 
-      context 'when transfering a group with nested groups and projects' do
+      context 'when transferring a group with nested groups and projects' do
         let!(:group) { create(:group, :public) }
         let!(:project1) { create(:project, :repository, :private, namespace: group) }
         let!(:subgroup1) { create(:group, :private, parent: group) }
diff --git a/spec/services/projects/import_service_spec.rb b/spec/services/projects/import_service_spec.rb
index e6ffa2b957b6f..06f865dc84865 100644
--- a/spec/services/projects/import_service_spec.rb
+++ b/spec/services/projects/import_service_spec.rb
@@ -125,7 +125,7 @@
           project.import_type = 'bitbucket'
         end
 
-        it 'succeeds if repository import is successfull' do
+        it 'succeeds if repository import is successful' do
           expect_any_instance_of(Gitlab::Shell).to receive(:import_repository).and_return(true)
           expect_any_instance_of(Gitlab::BitbucketImport::Importer).to receive(:execute).and_return(true)
           expect_any_instance_of(Projects::LfsPointers::LfsImportService).to receive(:execute).and_return({})
diff --git a/spec/services/projects/transfer_service_spec.rb b/spec/services/projects/transfer_service_spec.rb
index 1411723fb9ef7..2e07d4f8013f8 100644
--- a/spec/services/projects/transfer_service_spec.rb
+++ b/spec/services/projects/transfer_service_spec.rb
@@ -125,7 +125,7 @@ def current_path
     it { expect(project.errors.messages[:new_namespace].first).to eq 'Please select a new namespace for your project.' }
   end
 
-  context 'disallow transfering of project with tags' do
+  context 'disallow transferring of project with tags' do
     let(:container_repository) { create(:container_repository) }
 
     before do
diff --git a/spec/services/quick_actions/interpret_service_spec.rb b/spec/services/quick_actions/interpret_service_spec.rb
index 41a170e4f254a..e513ee7ae4449 100644
--- a/spec/services/quick_actions/interpret_service_spec.rb
+++ b/spec/services/quick_actions/interpret_service_spec.rb
@@ -315,7 +315,7 @@
     end
 
     shared_examples 'award command' do
-      it 'toggle award 100 emoji if content containts /award :100:' do
+      it 'toggle award 100 emoji if content contains /award :100:' do
         _, updates = service.execute(content, issuable)
 
         expect(updates).to eq(emoji_award: "100")
@@ -1395,7 +1395,7 @@
       it 'includes the formatted duration and proper verb' do
         _, explanations = service.explain(content, issue)
 
-        expect(explanations).to eq(['Substracts 2h spent time.'])
+        expect(explanations).to eq(['Subtracts 2h spent time.'])
       end
     end
 
diff --git a/spec/support/capybara.rb b/spec/support/capybara.rb
index c0ceb0f6605ab..18a7a392c12c0 100644
--- a/spec/support/capybara.rb
+++ b/spec/support/capybara.rb
@@ -100,7 +100,7 @@
 
     # capybara/rspec already calls Capybara.reset_sessions! in an `after` hook,
     # but `block_and_wait_for_requests_complete` is called before it so by
-    # calling it explicitely here, we prevent any new requests from being fired
+    # calling it explicitly here, we prevent any new requests from being fired
     # See https://github.com/teamcapybara/capybara/blob/ffb41cfad620de1961bb49b1562a9fa9b28c0903/lib/capybara/rspec.rb#L20-L25
     # We don't reset the session when the example failed, because we need capybara-screenshot to have access to it.
     Capybara.reset_sessions! unless example.exception
diff --git a/spec/support/helpers/project_forks_helper.rb b/spec/support/helpers/project_forks_helper.rb
index 6a7132c3093a7..9a86560da2a7c 100644
--- a/spec/support/helpers/project_forks_helper.rb
+++ b/spec/support/helpers/project_forks_helper.rb
@@ -35,7 +35,7 @@ def fork_project(project, user = nil, params = {})
     if create_repository
       # The call to project.repository.after_import in RepositoryForkWorker does
       # not reset the @exists variable of this forked_project.repository
-      # so we have to explicitely call this method to clear the @exists variable.
+      # so we have to explicitly call this method to clear the @exists variable.
       # of the instance we're returning here.
       forked_project.repository.after_import
     end
diff --git a/spec/support/shared_examples/services/boards/lists_move_service.rb b/spec/support/shared_examples/services/boards/lists_move_service.rb
index 07c98cb29b792..2cdb968a45db5 100644
--- a/spec/support/shared_examples/services/boards/lists_move_service.rb
+++ b/spec/support/shared_examples/services/boards/lists_move_service.rb
@@ -14,7 +14,7 @@
       expect(current_list_positions).to eq [0, 1, 2, 3]
     end
 
-    it 'keeps position of lists when new positon is equal to old position' do
+    it 'keeps position of lists when new position is equal to old position' do
       service = described_class.new(parent, user, position: planning.position)
 
       service.execute(planning)
@@ -22,7 +22,7 @@
       expect(current_list_positions).to eq [0, 1, 2, 3]
     end
 
-    it 'keeps position of lists when new positon is negative' do
+    it 'keeps position of lists when new position is negative' do
       service = described_class.new(parent, user, position: -1)
 
       service.execute(planning)
@@ -30,7 +30,7 @@
       expect(current_list_positions).to eq [0, 1, 2, 3]
     end
 
-    it 'keeps position of lists when new positon is equal to number of labels lists' do
+    it 'keeps position of lists when new position is equal to number of labels lists' do
       service = described_class.new(parent, user, position: board.lists.label.size)
 
       service.execute(planning)
@@ -38,7 +38,7 @@
       expect(current_list_positions).to eq [0, 1, 2, 3]
     end
 
-    it 'keeps position of lists when new positon is greater than number of labels lists' do
+    it 'keeps position of lists when new position is greater than number of labels lists' do
       service = described_class.new(parent, user, position: board.lists.label.size + 1)
 
       service.execute(planning)
@@ -46,7 +46,7 @@
       expect(current_list_positions).to eq [0, 1, 2, 3]
     end
 
-    it 'increments position of intermediate lists when new positon is equal to first position' do
+    it 'increments position of intermediate lists when new position is equal to first position' do
       service = described_class.new(parent, user, position: 0)
 
       service.execute(staging)
@@ -54,7 +54,7 @@
       expect(current_list_positions).to eq [1, 2, 3, 0]
     end
 
-    it 'decrements position of intermediate lists when new positon is equal to last position' do
+    it 'decrements position of intermediate lists when new position is equal to last position' do
       service = described_class.new(parent, user, position: board.lists.label.last.position)
 
       service.execute(planning)
diff --git a/spec/tasks/gitlab/backup_rake_spec.rb b/spec/tasks/gitlab/backup_rake_spec.rb
index 3ba6caf13377a..8c4360d4cf06f 100644
--- a/spec/tasks/gitlab/backup_rake_spec.rb
+++ b/spec/tasks/gitlab/backup_rake_spec.rb
@@ -251,7 +251,7 @@ def reenable_backup_sub_tasks
 
         allow(Gitlab.config.repositories).to receive(:storages).and_return(storages)
 
-        # Avoid asking gitaly about the root ref (which will fail beacuse of the
+        # Avoid asking gitaly about the root ref (which will fail because of the
         # mocked storages)
         allow_any_instance_of(Repository).to receive(:empty?).and_return(false)
       end
-- 
GitLab