Enable multiple Rubocop cops that can be enabled
See https://gitlab.com/gitlab-org/gitlab-ce/issues/17406
This enabled following cops:
```text
Lint/CircularArgumentReference:
Description: Default values in optional keyword arguments and optional ordinal arguments
----------------
Lint/ConditionPosition:
Description: Checks for condition placed in a confusing position relative to the keyword.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#same-line-condition
----------------
Lint/Debugger:
Description: Check for debugger calls.
----------------
Lint/DefEndAlignment:
Description: Align ends corresponding to defs correctly.
----------------
Lint/DuplicateMethods:
Description: Check for duplicate method definitions.
----------------
Lint/DuplicatedKey:
Description: Check for duplicate keys in hash literals.
----------------
Lint/EachWithObjectArgument:
Description: Check for immutable argument given to each_with_object.
----------------
Lint/ElseLayout:
Description: Check for odd code arrangement in an else block.
----------------
Lint/EmptyEnsure:
Description: Checks for empty ensure block.
----------------
Lint/EmptyInterpolation:
Description: Checks for empty string interpolation.
----------------
Lint/EndAlignment:
Description: Align ends correctly.
----------------
Lint/EndInMethod:
Description: END blocks should not be placed inside method definitions.
----------------
Lint/EnsureReturn:
Description: Do not use return in an ensure block.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-return-ensure
----------------
Lint/Eval:
Description: The use of eval represents a serious security risk.
----------------
Lint/FloatOutOfRange:
Description: Catches floating-point literals too large or small for Ruby to represent.
----------------
Lint/FormatParameterMismatch:
Description: The number of parameters to format/sprint must match the fields.
----------------
Lint/ImplicitStringConcatenation:
Description: Checks for adjacent string literals on the same line, which could better
be represented as a single string literal.
----------------
Lint/InvalidCharacterLiteral:
Description: Checks for invalid character literals with a non-escaped whitespace character.
----------------
Lint/LiteralInInterpolation:
Description: Checks for literals used in interpolation.
----------------
Lint/NestedMethodDefinition:
Description: Do not use nested method definitions.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-nested-methods
----------------
Lint/NextWithoutAccumulator:
Description: Do not omit the accumulator when calling `next` in a `reduce`/`inject`
block.
----------------
Lint/RandOne:
Description: Checks for `rand(1)` calls. Such calls always return `0` and most likely
a mistake.
----------------
Lint/RequireParentheses:
Description: Use parentheses in the method call to avoid confusion about precedence.
----------------
Lint/UnreachableCode:
Description: Unreachable code.
----------------
Lint/UselessComparison:
Description: Checks for comparison of something with itself.
----------------
Lint/UselessElseWithoutRescue:
Description: Checks for useless `else` in `begin..end` without `rescue`.
----------------
Lint/UselessSetterCall:
Description: Checks for useless setter call to a local variable.
----------------
Lint/Void:
Description: Possible use of operator/literal/variable in void context.
----------------
Performance/DoubleStartEndWith:
Description: Use `str.{start,end}_with?(x, ..., y, ...)` instead of `str.{start,end}_with?(x,
...) || str.{start,end}_with?(y, ...)`.
----------------
Performance/RedundantSortBy:
Description: Use `sort` instead of `sort_by { |x| x }`.
----------------
Rails/FindBy:
Description: Prefer find_by over where.first.
Include:
- app/models/**/*.rb
----------------
Rails/FindEach:
Description: Prefer all.find_each over all.find.
Include:
- app/models/**/*.rb
----------------
Rails/PluralizationGrammar:
Description: Checks for incorrect grammar when using methods like `3.day.ago`.
----------------
Rails/ScopeArgs:
Description: Checks the arguments of ActiveRecord scopes.
Include:
- app/models/**/*.rb
```
See merge request !4261
Fix Error 500 in CI charts by gracefully handling commits with no durations
## What does this MR do?
In the CI charts, this MR reports the duration of a commit to 0 if it is `nil`.
## Are there points in the code the reviewer needs to double check?
Should we omit this commit from the chart or set it to some other value?
## Why was this MR needed?
We were getting an Error 500 here: https://gitlab.com/gitlab-org/gitlab-ce/graphs/master/ci
## What are the relevant issue numbers?
#17730
See merge request !4245
Added remove due date button
In the sidebar when there is a due date a link to remove due date becomes visible

Closes#17392
See merge request !4209
Fix Error 500 when accessing application settings due to nil disabled OAuth sign-in sources
## What does this MR do?
When upgrading to GitLab 8.8, an admin would encounter an Error 500 due to a `nil` `disabled_oauth_sign_in_sources`. This MR ensures that the value will be a blank array if empty.
Closes#17564
See merge request !4242
Fix some specs which would have broken in 2017 to not break anymore by using a dynamic year value.
Static year values would have caused the test suite to fail on these in the future, so I replaced 'em.
That's pretty much all there is to this MR.
See merge request !4241
Allow anonymous user to access pipelines
## What does this MR do?
It fixes an issue where the Pipelines is shown for the Anonymous users,
but they get 404 when clicked. Their session is then logged out.
Fixes#17717.
See merge request !4233
Fix the CI login to Container Registry (the gitlab-ci-token user)
## What does this MR do?
This fixes `docker login` not succeeding when trying to do CI login: `gitlab-ci-token with $CI_BUILD_TOKEN`.
cc @marin
See merge request !4236