summaryrefslogtreecommitdiff
path: root/rubocop
Commit message (Collapse)AuthorAgeFilesLines
* Add more large tables to copupdate-large-tables-copSean McGivern2018-06-221-1/+5
| | | | | These are all over 20 GB on GitLab.com. merge_request_diff_commits is several hundred gigabytes in size.
* Disallow methods that copy data on large tablesSean McGivern2018-06-191-1/+8
| | | | | | {change_column_type,rename_column}_concurrently both copy data from one column to another during a migration, which should not be done on GitLab.com. Instead, we should use background migrations.
* Allow comment after if/unless clause46758-fallout-of-cacheable-attributeRémy Coutable2018-05-291-1/+1
| | | | Signed-off-by: Rémy Coutable <remy@rymai.me>
* Introduce spec/fast_spec_helper.rb to run spec files that don't rely on the ↵Rémy Coutable2018-04-231-1/+1
| | | | | | whole Rails env Signed-off-by: Rémy Coutable <remy@rymai.me>
* Revert the addition of goldiloaderYorick Peterse2018-04-182-47/+1
| | | | | | | | | This reverts the addition of the "goldiloader" Gem and all use of it. While this Gem is very promising it's causing a variety of problems on GitLab.com due to it eager-loading too much data in places where we don't expect/can handle this. At least for the time being this means we have to go back to manually fixing N+1 query problems, but at least those should not cause a negative impact on availability.
* Resolve "Make a Rubocop that forbids returning from a block"🙈 jacopo beschi 🙉2018-04-184-2/+129
|
* Add cop for has_many :through without disabled autoloadingfix-n-plus-one-when-getting-notification-settings-for-recipientsSean McGivern2018-04-092-1/+47
| | | | | | | | | | | | | Goldiloader is great, but has several issues with has_many :through relations: * https://github.com/salsify/goldiloader/issues/12 * https://github.com/salsify/goldiloader/issues/14 * https://github.com/salsify/goldiloader/issues/18 Rather than try to figure out which applies in each case, we should just do the drudge work of manually disabling autoloading for all relations of this type. We can always use regular preloading for specific cases, but this way we avoid generating invalid queries through Goldiloader's magic.
* Introduce a new FactoriesInMigrationSpecs copRémy Coutable2018-04-063-1/+53
| | | | Signed-off-by: Rémy Coutable <remy@rymai.me>
* Merge branch 'fj-15329-services-callbacks-ssrf' into 'security-10-6'Douwe Maan2018-03-212-0/+63
| | | | | Server Side Request Forgery in Services and Web Hooks See merge request gitlab/gitlabhq!2337
* [CE] Add Naming/FileName rule checking expected class/module per filenameGabriel Mazetto2018-03-081-0/+1
|
* Enable RuboCop Style/RegexpLiteralTakuya Noguchi2018-02-011-1/+1
|
* Introduce PredicateMemoization cop and fix offensesLin Jen-Shin2018-01-122-0/+40
| | | | with StrongMemoize
* Adds Rubocop rule for line break around conditionals🙈 jacopo beschi 🙉2018-01-112-0/+120
|
* Require our own custom cops; Remove missing cops41480-require-custom-copsLin Jen-Shin2017-12-261-3/+0
| | | | Also try to use the same config from EE
* Use gitlab-stylesRémy Coutable2017-12-2232-490/+31
| | | | Signed-off-by: Rémy Coutable <remy@rymai.me>
* Merge remote-tracking branch 'upstream/master' into no-ivar-in-modulesLin Jen-Shin2017-12-155-0/+95
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * upstream/master: (671 commits) Make rubocop happy Use guard clause Improve language Prettify Use temp branch Pass info about who started the job and which job triggered it Docs: add indexes for monitoring and performance monitoring clearer-documentation-on-inline-diffs Add docs for commit diff discussion in merge requests sorting for tags api Clear BatchLoader after each spec to prevent holding onto records longer than necessary Include project in BatchLoader key to prevent returning blobs for the wrong project moved lfs_blob_ids method into ExtractsPath module Converted JS modules into exported modules spec fixes Bump gitlab-shell version to 5.10.3 Clear caches before updating MR diffs Use new Ruby version 2.4 in GitLab QA images moved lfs blob fetch from extractspath file Update GitLab QA dependencies ...
| * Add rubocops to ensure Sidekiq workers include ApplicationWorker and don't ↵Douwe Maan2017-12-133-0/+58
| | | | | | | | manually set their queue
| * Add cop for use of remove_columnadd-remove-column-copSean McGivern2017-12-113-0/+37
| | | | | | | | | | | | | | remove_column should only be used in the up (or change) step of a migration if it's a post-deployment migration. Otherwise there will be downtime due to the ActiveRecord column cache, which we can avoid by using the IgnorableColumn concern in combination with a post-deployment migration.
* | Merge remote-tracking branch 'upstream/master' into no-ivar-in-modulesLin Jen-Shin2017-11-223-11/+114
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * upstream/master: (126 commits) Update VERSION to 10.3.0-pre Update CHANGELOG.md for 10.2.0 default fill color for SVGs ignore hashed repos (for now) when using `rake gitlab:cleanup:repos` Use Redis cache for branch existence checks Update CONTRIBUTING.md: Link definition of done to criteria Use `make install` for Gitaly setups in non-test environments FileUploader should check for hashed_storage?(:attachments) to use disk_path Set the default gitlab-shell timeout to 3 hours Update composite pipelines index to include "id" Use arrays in Pipeline#latest_builds_with_artifacts Fix blank states using old css Skip confirmation user api Custom issue tracker Revert "check for `read_only?` first before seeing if request is disallowed" add `#with_metadata` scope to remove a N+1 from the notes' API Fix promoting milestone updating all issuables without milestone Batchload blobs for diff generation check for `read_only?` first before seeing if request is disallowed use `Gitlab::Routing.url_helpers` instead of `Rails.application.routes.url_helpers` ...
| * Merge branch '18040-rubocop-line-break-after-guard-clause' into 'master'Rémy Coutable2017-11-202-0/+101
| |\ | | | | | | | | | | | | | | | | | | Adds Rubocop rule for line break after guard clause Closes #18040 See merge request gitlab-org/gitlab-ce!15188
| | * Adds Rubocop rule for line break after guard clauseJacopo2017-11-162-0/+101
| | | | | | | | | | | | Adds a rubocop rule (with autocorrect) to ensure line break after guard clauses.
| * | Prevent update_column_in_batches on large tablesSean McGivern2017-11-172-11/+13
| |/ | | | | | | | | | | | | | | | | | | add_column_with_default is implemented in terms of update_column_in_batches, but update_column_in_batches can be used independently. Neither of these should be used on the specified large tables, because they will cause issues on large instances like GitLab.com. This also ignores the cop for all existing migrations, renaming AddColumnWithDefaultToLargeTable where appropriate.
* | Move ModuleWithInstanceVariables to Gitlab namespaceLin Jen-Shin2017-11-223-83/+64
| | | | | | | | | | And use .rubocop.yml to exclude paths we don't care, rather than using the cop itself to exclude.
* | Explain how to disable it in the docLin Jen-Shin2017-11-221-3/+0
| |
* | Updates based on feedbackLin Jen-Shin2017-11-221-4/+2
| |
* | Remove codes from bad mergeLin Jen-Shin2017-11-181-2/+0
| |
* | Allow initialize method and single ivarLin Jen-Shin2017-11-181-3/+17
| |
* | Merge remote-tracking branch 'upstream/master' into no-ivar-in-modulesLin Jen-Shin2017-11-065-10/+164
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * upstream/master: (1723 commits) Resolve "Editor icons" Refactor issuable destroy action Ignore routes matching legacy_*_redirect in route specs Gitlab::Git::RevList and LfsChanges use lazy popen Gitlab::Git::Popen can lazily hand output to a block Merge branch 'master-i18n' into 'master' Remove unique validation from external_url in Environment Expose `duration` in Job API entity Add TimeCop freeze for DST and Regular time Harcode project visibility update a changelog Put a condition to old migration that adds fast_forward column to MRs Expose project visibility as CI variable fix flaky tests by removing unneeded clicks and focus actions fix flaky test in gfm_autocomplete_spec.rb Use Gitlab::Git operations for repository mirroring Encapsulate git operations for mirroring in Gitlab::Git Create a Wiki Repository's raw_repository properly Add `Gitlab::Git::Repository#fetch` command Fix Gitlab::Metrics::System#real_time and #monotonic_time doc ...
| * Add a new RSpec::EnvAssignment cop to prevent assigning to ENV in specs18765-stub_env_in_specsRémy Coutable2017-10-183-5/+76
| | | | | | | | Signed-off-by: Rémy Coutable <remy@rymai.me>
| * Also warn on timestamp in datetime migration copfix-timestampz-copSean McGivern2017-10-101-7/+13
| | | | | | | | | | The types `timestamp` and `datetime` are aliases: https://github.com/rails/rails/blob/v4.2.10/activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb#L362-L364
| * Replaces `tag: true` into `:tag` in the specsJacopo2017-10-072-0/+75
| | | | | | | | | | | | Replaces all the explicit include metadata syntax in the specs (tag: true) into the implicit one (:tag). Added a cop to prevent future errors and handle autocorrection.
* | Allow simple ivar ||= form. Update accordinglyLin Jen-Shin2017-09-191-2/+20
| |
* | Add cop to make sure we don't use ivar in a moduleLin Jen-Shin2017-09-182-0/+56
|/
* Add SaferBooleanColumn copMichael Kozono2017-08-142-0/+95
|
* inifix/sm/forbid-to-use-add_column_with_default-on-ci_pipelines-by-rubocopShinya Maeda2017-08-011-0/+1
|
* Update the large table list in AddColumnWithDefaultToLargeTable copRobert Speicher2017-07-261-0/+3
| | | | | | - ci_builds -- 33 million rows, 55 GB - merge_request_diff_files -- 5 million rows, 9 GB (and growing rapidly) - merge_request_diffs -- 5 million rows, 190 GB
* Added cop to blacklist the use of hash indexesrubocop-hash-indexYorick Peterse2017-07-142-0/+52
| | | | | | These indexes are not recorded in the WAL (at least until PostgreSQL 10) and this isn't worth the minor performance improvement over btree indexes.
* Added EachBatch for iterating tables in batchesactive-record-each-batchYorick Peterse2017-07-072-0/+17
| | | | | | | This module provides a class method called `each_batch` that can be used to iterate tables in batches in a more efficient way compared to Rails' `in_batches` method. This commit also includes a RuboCop cop to blacklist the use of `in_batches` in favour of this new method.
* Rename ActiverecordSerialize copYorick Peterse2017-07-062-2/+2
| | | | | This cop has been renamed to ActiveRecordSerialize to match the way "ActiveRecord" is usually written.
* Added Cop to blacklist the use of `dependent:`Yorick Peterse2017-07-062-0/+27
| | | | | | | | This is allowed for existing instances so we don't end up 76 offenses right away, but for new code one should _only_ use this if they _have_ to remove non database data. Even then it's usually better to do this in a service class as this gives you more control over how to remove the data (e.g. in bulk).
* Add ProjectPathHelper copDouwe Maan2017-07-052-0/+52
|
* Require rubocop-rspec in the correct locationrs-fix-codeclimate-buildRobert Speicher2017-06-141-1/+3
| | | | Resolves the `codeclimate` CI failure
* Add a custom RSpec/SingleLineHook copRobert Speicher2017-06-142-0/+37
| | | | | This cop adds an offense when `before`, `after`, or `around` are used as single-line blocks.
* Add database helpers 'add_timestamps_with_timezone' and ↵32054-rails-should-use-timestamptz-database-type-for-postgresqlblackst0ne2017-06-134-0/+91
| | | | 'timestamps_with_timezone'
* Added Cop to blacklist polymorphic associationsYorick Peterse2017-06-074-11/+40
| | | | | | | | One should really use a separate table instead of using polymorphic associations. See https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/11168 for more information.
* Add a rubocop rule to check if a method 'redirect_to' is used without ↵31840-add-a-rubocop-that-forbids-redirect_to-inside-a-controller-destroy-action-without-an-explicit-statusblackst0ne2017-06-072-0/+45
| | | | explicitly set 'status' in 'destroy' actions of controllers
* Added Cop to blacklist the use of serializedocument-not-using-serializeYorick Peterse2017-05-312-0/+25
| | | | | This Cop blacklists the use of ActiveRecord's "serialize" method, except for cases where we already use this.
* New Migration/UpdateColumnInBatches copRémy Coutable2017-05-293-2/+47
| | | | Signed-off-by: Rémy Coutable <remy@rymai.me>
* Add AddColumnWithDefaultToLargeTable copRobert Speicher2017-04-282-0/+52
|
* Rename AddColumnWithDefault to ReversibleAddColumnWithDefaultRobert Speicher2017-04-282-2/+2
| | | | | We're going to add another cop that deals with another aspect of `add_column_with_default`, so we need to separate them.