* master: (221 commits)
Add CHANGELOG entry for 8.12.6
Added 'Download' button to snippet view
Merge branch 'api-fix-project-group-sharing' into 'security'
Add 8.12.5, 8.11.9, and 8.10.12 CHANGELOG entries
FIx JS bug with select2 because of missing `data-field` attribute in select box.
Remove pointless `.vagrant_enabled` file
allow multiple labels commands
Move some CHANGELOG entries to the 8.13.0 part
Move operations/ to new location
Move health check docs under user/admin_area/monitoring
Make guests unable to view MRs
Add examples of fake tokens to be used in docs
Remove duplicate CHANGELOG entry
Allow browsing branches that end with '.atom'
Refactor the SubGit/SVN documentation
Document the new CI_DEBUG_TRACE variable
Remove redundant images
changed the scss for the top line connectors to be exactly centered
Rearrange GitLab basics READMEs
New images for GitLab basics "Create MR" docs
...
Conflicts:
app/models/commit_status.rb
Improve asynchronous pipeline processing
## What does this MR do?
This MR improves asynchronous processing of pipeline.
## Why was this MR needed?
It eliminates some race conditions and improves performance.
## Does this MR meet the acceptance criteria?
- [x] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry added
- Tests
- [x] Added for this feature/bug
- [x] All builds are passing
## What are the relevant issue / merge request numbers?
Related merge request: !6410
Extracted from !6411
See merge request !6650
Group similar builds
We group builds by removing from the builds name two numbers which are delimited by whitespace or colon:
* `name 0 1` => `name`
* `name 0:1` => `name`
* `name 0/1` => `name`
* `name 0:1 ruby` => `name ruby`
* `name 0/1 ruby` => `name ruby`
* `0 1 name ruby` => `name ruby`
* `0:1 name ruby` => `name ruby`
* `0/1 name ruby` => `name ruby`
See merge request !6242
Because pipeline status could be changed for the builds in the next
stages, if we process next stages first, the current build would be
out of synchronized, and would need a reload for that matter.
Alternatively, like what I did in this commit, we could process the
next stages later (by using `after_transition` rather than
`around_transition`), and complete what're doing for the current
build first. This way we don't have to reload because nothing is
out synchronized.
Note that since giving `false` in `after_transition` would halt the
callbacks chain, according to:
https://github.com/state-machines/state_machines-activemodel/blob/v0.4.0/lib/state_machines/integrations/active_model.rb#L426-L429
We'll need to make sure we're not returning false because we don't
intend to interrupt the chain.
This fixes#22010.
After this fix, both pipeline events and build events would only show
up once.
rename Statuseable to HasStatus
## What does this MR do?
- Rename all instances of Statuseable in the codebase, to HasStatus
- Rename all files from statuseable to has_status
## What are the relevant issue numbers?
Closes#21103
See merge request !6003
Make all future skipped builds as processable when retrying a build
## What does this MR do?
Makes a builds that are marked as skipped when a pipeline is processed to be reprocessed by changing their's state to created.
## Why was this MR needed?
Currently retry is broken. When you retry a build of pipeline it will succeed and be marked as succeeded, when the next stages should be triggered.
Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/21066
See merge request !5879
* upstream/pipeline-hooks-without-slack:
Make explicit call for all event types for ProjectHook factory
Capitalise URL on web_hooks/form
Remove changes not related to this MR
Added documentation for pipeline hooks
Rename queue to enqueue in tests
Instrument Project.visible_to_user
Fix build play failure
Update ruby 2.3.1
Improve transition between states for event `enqueue`
Use event `enqueue` instead of `queue`
Fix test failures
Fix bug where destroying a namespace would not always destroy projects
Remove unused SpamReport model; this was renamed to SpamLog
Corrected links/usernames in performance guide
Add gravatars to build history
Add deployment ID and gravatar to environments page
Format environment history page
Add avatar to commit message; environment style updates to match pipelines page
Style deploy button