* master: (57 commits)
Ensure we generate unique usernames otherwise validations fail
Fix a Knapsack issue that would load support/capybara.rb before support/env.rb
Ensure users have a short username otherwise a click event is triggered ...
Enable the `bullet_logger` setting; enable `raise` in test environment
Fix Rubocop offenses
Set the right timeout for Gitlab::Shell#fetch_remote
Refactoring Projects::ImportService
Move methods that are not related to mirroring to the repository model
Fix GitHub pull request formatter spec
Rename skip_metrics to imported on the importable concern
Add CHANGELOG
Remove unused include from RepositoryImportWorker
Skip MR metrics when importing projects from GitHub
Fetch GitHub project as a mirror to get all refs at once
Make file templates easy to use and discover
Ensure user has a unique username otherwise `user10` would match `user1`
Ensure the AbuseReport fixtures create unique reported users
Don't use FFaker in factories, use sequences instead
Fix brittle specs
Fix the AbuseReport seeder
...
Conflicts:
db/schema.rb
* master: (230 commits)
Fix N+1 query in loading pipelines in merge requests
Fix Spinach and Capybara dependencies
Prevent users from disconnecting gitlab account from CAS
30276 Move issue, mr, todos next to profile dropdown in top nav
Refactor SearchController#show
Properly eagerly-load the Capybara server for JS feature specs only
Updating documentation to include a missing step in the update procedure
Eager-load the Capybara server to prevent timeouts
Increase Capybara's timeout
Add metrics button to Environment Overview page
Fix link to Jira service documentation
Handle parsing OpenBSD ps output properly to display sidekiq infos on ...
Eliminate unnecessary queries that add ~500 ms of load time for a large issue
20914 Limits line length for project home page
Allow users to import GitHub projects to subgroups
Update dpl CI example
Fix the docs:check:links job
Don't clean up the gitlab-test-fork_bare repo
Make GitLab use Gitaly for commit_is_ancestor
Remove unnecessary ORDER BY clause from `forked_to_project_id` subquery
...
* master: (1327 commits)
Merge branch 'render-json-leak' into 'security'
Merge branch 'ssrf' into 'security'
Merge branch 'ssrf' into 'security'
Merge branch 'fix-links-target-blank' into 'security'
Merge branch '28058-hide-emails-in-atom-feeds' into 'security'
Fix karma test
Reset filters after click
Handle Route#name being nil after an update
Only add frontend code coverage instrumentation when generating coverage report
fix recompile assets step in 9.0 upgrade guide to use yarn
Undo explicit conversion to Integer
Make level_value accept string integers
Make feature spec more robust
Removed d3.js from the main application.js bundle
Extend compound status for manual actions specs
Update css to be nice and tidy.
Fix pipeline status for transition between stages
add an index to the ghost column
Return 404 in project issues API endpoint when project cannot be found
Improve rename projects migration
...
Conflicts:
doc/ci/docker/using_docker_build.md
spec/lib/gitlab/import_export/all_models.yml
For reasons unknown, this spec was passing a project's repository as the
first argument to `Projects::UploadService`, while it was expecting the
project itself.
Previously this wasn't a problem because `FileUploader` only needed the
object to respond to `path_with_namespace`, which Repository and Project
both did. But now because of `Upload` and its polymorphic association,
it expects the object to respond to `primary_key`.
There are two issues with truncating the project team early:
1. `Projects::UnlinkForkService` may not close merge requests properly since
permissions may be revoked early.
2. If an error is encountered during flushing of caches, then the user will
lose all privileges, possibly causing an issue on deletion on retry.
This ensures that project authorizations are refreshed when moving a
project from one namespace to another. When doing so the permissions for
all users of both the old and new namespaces are refreshed.
See #26194 for more information.
Due to autoloading and Ruby scoping, the .update file was never being
updated due to this error:
```
NoMethodError: undefined method `pages' for Projects::Settings:Module
from /opt/gitlab/embedded/service/gitlab-rails/app/services/projects/update_pages_configuration_service.rb:50:in `pages_update_file'
from /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/metrics/instrumentation.rb:157:in `pages_update_file'
from (irb):6
from /opt/gitlab/embedded/lib/ruby/gems/2.3.0/gems/railties-4.2.7.1/lib/rails/commands/console.rb:110:in `start'
from /opt/gitlab/embedded/lib/ruby/gems/2.3.0/gems/railties-4.2.7.1/lib/rails/commands/console.rb:9:in `start'
from /opt/gitlab/embedded/lib/ruby/gems/2.3.0/gems/railties-4.2.7.1/lib/rails/commands/commands_tasks.rb:68:in `console'
from /opt/gitlab/embedded/lib/ruby/gems/2.3.0/gems/railties-4.2.7.1/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
from /opt/gitlab/embedded/lib/ruby/gems/2.3.0/gems/railties-4.2.7.1/lib/rails/commands.rb:17:in `<top (required)>'
from bin/rails:9:in `require'
```
This error was caught and discarded quietly. This fix exercises this code and fixes the scope problem.
Closesgitlab-com/infrastructure#1058