Commit Graph
3394 Commits
Author SHA1 Message Date
Robert Speicher f011b86beb Merge branch 'rs-devise-emails' into 'master'
Customize all Devise mails

Continuing from https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/3354

See merge request !4297
2016-06-17 00:38:44 +00:00
Robert Speicher 03ba240fdd Update CHANGELOG for !4659
[ci skip]
2016-06-16 20:26:29 -04:00
Robert Speicher 79c28e1057 Merge branch 'remove_jiraissue' into 'master'
Remove JiraIssue model and replace references with ExternalIssue

This MR Removes unused JiraIssue class and replaces references with ExternalIssue

Closes #18203 

See merge request !4659
2016-06-17 00:24:10 +00:00
Robert Speicher c34d74090d Merge branch 'add_autocomplete_for_labels' into 'master'
Add GFM autocomplete for labels

Closes #14637 

See merge request !4013
2016-06-17 00:22:01 +00:00
Robert Speicher f63bc8222d Center the header logo for all Devise emails 2016-06-16 20:10:52 -04:00
Jacob Schatz e0f46ef1a5 Merge branch 'merge-request-default-source-branch-text' into 'master'
Added source branch text to dropdown toggle

## What does this MR do?

Previously, the dropdown toggle would default to "Select source branch", this changes that so that it defaults to the branch name and if that doesn't exist, it defaults to "Select source branch"

## Screenshots (if relevant)

![Screen_Shot_2016-06-07_at_12.20.10](/uploads/40d31e21297a99300050cf9f23bd7371/Screen_Shot_2016-06-07_at_12.20.10.png)

See merge request !4504
2016-06-16 19:29:28 +00:00
Jacob Schatz 280c95fc4a Merge branch 'mr-download-dropdown-alignment' into 'master'
Fixed alignment of download dropdown

## What does this MR do?

Correctly aligns the download dropdown on merge requests

## Screenshots (if relevant)

![Screen_Shot_2016-06-14_at_14.47.06](/uploads/9381f25110e5573e56aa5c3f46786df5/Screen_Shot_2016-06-14_at_14.47.06.png)

See merge request !4646
2016-06-16 17:59:32 +00:00
Douwe Maan db66312cdb Merge branch '18474-missing-images-on-confirmation-email' into 'master'
Fix images in emails

Closes #18474. The confirmation email is actually the only one that uses the `image_tag` helper at the moment, but this will work for all of them:
```shell
$ ag image_tag -G mailer
app/views/layouts/devise_mailer.html.haml
13:              = image_tag('mailers/gitlab_header_logo.png', id: 'logo', alt: 'GitLab Wordmark')
24:                  = image_tag('mailers/gitlab_tanuki_2x.png', alt: 'GitLab Logo')
```

See merge request !4705
2016-06-16 14:50:05 +00:00
Jacob Schatz d9812bae49 Merge branch '18521-tanuki-logo' into 'master'
Lighten each logo path color instead of white

## What does this MR do?
Changes highlight/loading colors of tanuki from white to a lighter version of each path color

## Why was this MR needed?
Since the logo is no longer on the dark sidebar, the highlight color was getting lost against the light gray background

## What are the relevant issue numbers?
Closes #18521 

## Screenshots (if relevant)
![logo](/uploads/3743925862fa8e17d2fec426f7e4c853/logo.gif)

cc @jschatz1 @lbennett @dzaporozhets 

See merge request !4690
2016-06-16 13:49:27 +00:00
Yorick Peterse 0ea170b44d Merge branch '18582-banzai-filter-external-link-filter' into 'master'
Banzai::Filter::ExternalLinkFilter use XPath

See merge request !4702
2016-06-16 13:22:41 +00:00
Paco Guzman ae6a54f73c Banzai::Filter::ExternalLinkFilter use XPath 2016-06-16 14:13:29 +02:00
Rémy Coutable 46bba4e758 Merge branch 'fix/status-of-pipeline-without-builds' into 'master'
Improve pipeline status in case that pipeline has no jobs

## What does this MR do?

This MR resolves problem with pipeline status when there are no build in pipeline.

This can happen when builds were skipped - for example - by using `only`/`except` keyword in `.gitlab-ci.yml`.

## What are the relevant issue numbers?

Closes #17977

See merge request !4403
2016-06-16 11:48:36 +00:00
Sean McGivern 5eb9cb68f7 Fix images in emails 2016-06-16 11:47:01 +01:00
Paco Guzman 46696bde83 Banzai::Filter::UploadLinkFilter use XPath 2016-06-16 11:26:56 +02:00
Phil Hughes cd37c927e1 CHANGELOG
[ci skip]
2016-06-16 08:43:10 +01:00
Phil Hughes 7708d5a93d CHANGELOG
[ci skip]
2016-06-16 08:42:35 +01:00
Phil Hughes da592a737c Added source branch text to dropdown toggle
Previously, the dropdown toggle would default to "Select source branch",
this changes that so that it defaults to the branch name and if that
doesn't exist, it defaults to "Select source branch"
2016-06-16 08:42:35 +01:00
Jacob Schatz 297f4b4599 Merge branch 'long-commit-message-scroll-fix' into 'master'
Fix long commit message scroll issue.

Fixes horizontal scrollbar for long commit description.

## Before
![before_](/uploads/d261e26044d8ab451bc7768b16316253/before_.png)

## After
![after](/uploads/f27227a77d25d80b797e3ffc916d1957/after.png)

See merge request !4643
2016-06-16 00:32:24 +00:00
Fatih Acet 14b259fe2b Merge branch 'master' of gitlab.com:gitlab-org/gitlab-ce into long-commit-message-scroll-fix 2016-06-16 02:24:19 +03:00
Fatih Acet fe125f8dc9 Merge branch 'master' of gitlab.com:gitlab-org/gitlab-ce into category-search-dropdown
# Conflicts:
#	app/assets/javascripts/lib/common_utils.js.coffee
2016-06-16 02:04:09 +03:00
Jacob Schatz 5d16d50ceb Merge branch 'toggle-whitespace-button-for-compare-page' into 'master'
Toggle whitespace button for compare page

## What does this MR do?

Adds whitespace button to compare branches page.

## Are there points in the code the reviewer needs to double check?

Ruby code.

## Why was this MR needed?

Compare branches UX

## What are the relevant issue numbers?

Closes #17881.

## Screenshots (if relevant)

![Screen_Shot_2016-06-09_at_18.39.48](/uploads/8995a7bc8bea7fa3ff19446ebe49fb88/Screen_Shot_2016-06-09_at_18.39.48.png)

## Does this MR meet the acceptance criteria?

- [x] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry added
- [ ] [Documentation created/updated](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/development/doc_styleguide.md)
- [ ] API support added
- [ ] Tests
  - [ ] Added for this feature/bug
  - [ ] All builds are passing
- [x] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides)
- [x] Branch has no merge conflicts with `master` (if you do - rebase it please)
- [x] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits)

See merge request !4569
2016-06-15 22:48:39 +00:00
Ilan Shamir 94135e6275 Remove JiraIssue model and replace references with ExternalIssue 2016-06-16 01:25:18 +03:00
Douglas Barbosa Alexandre 1f81137bb4 Update CHANGELOG for 8.7.7 release
[ci skip]
2016-06-15 19:18:35 -03:00
Douglas Barbosa Alexandre cb9bab945b Update CHANGELOG for 8.6.9 release
[skip]
2016-06-15 19:18:35 -03:00
Douglas Barbosa Alexandre 77554eee57 Update CHANGELOG for 8.5.13 release
[ci skip]
2016-06-15 19:18:32 -03:00
Douglas Barbosa Alexandre 510b2522f6 Update CHANGELOG for 8.4.11 release
[ci skip]
2016-06-15 19:18:26 -03:00
Douglas Barbosa Alexandre 2c26ba42c0 Update CHANGELOG for 8.3.10 release
[ci skip]
2016-06-15 19:08:47 -03:00
Douglas Barbosa Alexandre 8d6cfd7922 Update CHANGELOG for 8.2.6 release
[ci skip]
2016-06-15 18:39:45 -03:00
Annabel Dunstone e4b32e4941 Update CHANGELOG 2016-06-15 16:13:21 -05:00
Jacob Schatz f0c58c72a9 Merge branch 'milestone-date-clear' into 'master'
Due date can be removed from milestones

## What does this MR do?

Adds a button to milestone form to allow user to remove due date 

## What are the relevant issue numbers?

Closes #15063 

## Screenshots (if relevant)

![Screen_Shot_2016-06-02_at_08.32.03](/uploads/8bd4446abde745dd5b1e140a887ec694/Screen_Shot_2016-06-02_at_08.32.03.png)

See merge request !4428
2016-06-15 20:52:09 +00:00
Jacob Schatz be37ff7acb Merge branch 'add-shortcut-to-copy-file-content-hash-link' into 'master'
Add shortcut to copy file content hash link

## What does this MR do?

* Allows for multiple shortcut handlers to be initialised
* Adds `y` shortcut to file pages to copy permalink URL.

## Are there points in the code the reviewer needs to double check?

Ney.

## Why was this MR needed?

UX

## What are the relevant issue numbers?

Closes #14470.

## Screenshots (if relevant)

![y-shortcut](/uploads/b81feb26d8e0d7d4996c4afa29f385d7/y-shortcut.gif)

See merge request !4496
2016-06-15 20:51:30 +00:00
Jacob Schatz 995a59314e Merge branch '17929-issue-shortcut-doesnt-work-on-some-pages' into 'master'
New issue shortcut doesnt work on some pages

## What does this MR do?

1. Slightly tidies dispatcher switch case by utilising 'fall through' cases.
2. Adds shortcuts to project pipelines, milestones, builds and forks pages

## Are there points in the code the reviewer needs to double check?

I have a feeling that these may have been missed out of the case statements on purpose?

## Why was this MR needed?

Possible UX issue highlighted in #17929.

## What are the relevant issue numbers?

Closes #17929.

Closes #12616. (dup)

Closes #18123. (dup)

Closes #13688. (dup)

## Screenshots (if relevant)

See merge request !4393
2016-06-15 20:30:40 +00:00
Robert Speicher 02dfbca3a5 Merge branch 'update-changelog-8.8.5' into 'master'
Update CHANGELOG for 8.8.5 release

[ci skip]

See merge request !4688
2016-06-15 19:13:53 +00:00
Stan Hu 919e3ed273 Merge branch 'fair-usage-of-shared-runners' into 'master'
Fair usage of Shared Runners

## What does this MR do?

Introduces a fair usage scheduler for shared runners.

It tries to assign builds to shared runner from projects that have the lowest number of builds currently running on shared runners.

**Example 1**:
```
We have following builds in queue:
build 1 for project 1
build 2 for project 1
build 3 for project 1
build 4 for project 2
build 5 for project 2
build 6 for project 3

With the new algorithm we will assign builds in following order:
- We choose build 1, because project 1 doesn't run currently any builds and has the lowest build number from projects that doesn't run builds,
- We choose build 4, because project 2 doesn't run currently any builds and has the lowest build number from projects that doesn't run builds,
- We choose build 6, because project 3 doesn't run currently any builds and has the lowest build number from projects that doesn't run builds,
- We choose build 2, because project 1 as other it runs 1 build,
- We choose build 5, because project 2 runs 1 build, where project 1 runs 2 builds now,
- We choose build 3, because project 1 and runs 2 builds.
```

 
**Example 2**:
```
We have following builds in queue:
build 1 for project 1
build 2 for project 1
build 3 for project 1
build 4 for project 2
build 5 for project 2
build 6 for project 3

With the new algorithm we will assign builds in following order:
- We choose build 1, because project 1 doesn't run currently any builds and has the lowest build number from projects that doesn't run builds,
- We finish build 1,
- We choose build 2, because project 1 doesn't run currently any builds and has the lowest build number from projects that doesn't run builds,
- We choose build 4, because project 2 doesn't run currently any builds and has the lowest build number from projects that doesn't run builds,
- We finish build 4,
- We choose build 5, because project 2 doesn't run currently any builds and has the lowest build number from projects that doesn't run builds,
- We choose build 6, because project 3 doesn't run currently any builds,
- We choose build 3, because project 1, 2 and 3 runs exactly one build now,
```

## Why was this MR needed?

Currently, we are scheduling builds using FIFO. This is catastrophic if there are projects that create a 100-300 jobs, this basically eats most of available shared runners.

## Performance

All this logic is implemented with the help of SQL queries, because this is the fastest way to process 1k-2k pending builds in queue.
It's not the fastest SQL query, because it sorts based on number of running_builds, and this forces to calculate a number of running builds for all dependent projects. However, since we have one/two shared runners that asks every few seconds for builds this should have minimal impact on DB performance.

```
 explain analyze SELECT "ci_builds".* FROM "ci_builds" JOIN (SELECT "ci_builds"."gl_project_id", count(case when status = 'running' AND runner_id = (SELECT "ci_runners"."id" FROM "ci_runners" WHERE "ci_runners"."is_shared" = 't') then 1 end) as running_builds FROM "ci_builds" INNER JOIN "projects" ON "projects"."id" = "ci_builds"."gl_project_id" AND "projects"."pending_delete" = 'f' WHERE "ci_builds"."type" IN ('Ci::Build') AND "ci_builds"."status" IN ('running', 'pending') AND "projects"."builds_enabled" = 't' AND "projects"."shared_runners_enabled" = 't' GROUP BY "ci_builds"."gl_project_id") AS projects ON ci_builds.gl_project_id=projects.gl_project_id WHERE "ci_builds"."type" IN ('Ci::Build') AND "ci_builds"."status" = 'pending' AND "ci_builds"."runner_id" IS NULL  ORDER BY projects.running_builds ASC, ci_builds.id ASC;
                                                                                  QUERY PLAN                                                                        
           
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
-----------
 Sort  (cost=64777.28..64777.29 rows=1 width=1010) (actual time=301.794..302.535 rows=1537 loops=1)
   Sort Key: (count(CASE WHEN (((public.ci_builds.status)::text = 'running'::text) AND (public.ci_builds.runner_id = $0)) THEN 1 ELSE NULL::integer END)), public.ci
_builds.id
   Sort Method: quicksort  Memory: 1423kB
   ->  Nested Loop  (cost=63279.78..64777.27 rows=1 width=1010) (actual time=66.384..298.724 rows=1537 loops=1)
         ->  HashAggregate  (cost=63177.15..63177.30 rows=15 width=15) (actual time=65.641..65.851 rows=187 loops=1)
               InitPlan 1 (returns $0)
                 ->  Seq Scan on ci_runners  (cost=0.00..26963.66 rows=1 width=4) (actual time=1.145..34.381 rows=1 loops=1)
                       Filter: is_shared
                       Rows Removed by Filter: 6965
               ->  Nested Loop  (cost=0.00..36186.34 rows=2715 width=15) (actual time=0.065..29.717 rows=1710 loops=1)
                     ->  Index Scan using index_ci_builds_on_status on ci_builds  (cost=0.00..8913.95 rows=3577 width=15) (actual time=0.051..12.012 rows=2583 loops
=1)
                           Index Cond: ((status)::text = ANY ('{running,pending}'::text[]))
                           Filter: ((type)::text = 'Ci::Build'::text)
                           Rows Removed by Filter: 1219
                     ->  Index Scan using projects_pkey on projects  (cost=0.00..7.61 rows=1 width=4) (actual time=0.003..0.004 rows=1 loops=2583)
                           Index Cond: (id = public.ci_builds.gl_project_id)
                           Filter: ((NOT pending_delete) AND builds_enabled AND shared_runners_enabled)
                           Rows Removed by Filter: 0
         ->  Bitmap Heap Scan on ci_builds  (cost=102.63..106.64 rows=1 width=1002) (actual time=1.216..1.231 rows=8 loops=187)
               Recheck Cond: ((gl_project_id = public.ci_builds.gl_project_id) AND ((status)::text = 'pending'::text))
               Filter: ((runner_id IS NULL) AND ((type)::text = 'Ci::Build'::text))
               ->  BitmapAnd  (cost=102.63..102.63 rows=1 width=0) (actual time=1.201..1.201 rows=0 loops=187)
                     ->  Bitmap Index Scan on index_ci_builds_on_gl_project_id  (cost=0.00..10.52 rows=241 width=0) (actual time=0.406..0.406 rows=1944 loops=187)
                           Index Cond: (gl_project_id = public.ci_builds.gl_project_id)
                     ->  Bitmap Index Scan on index_ci_builds_on_status  (cost=0.00..91.78 rows=3089 width=0) (actual time=0.652..0.652 rows=3362 loops=187)
                           Index Cond: ((status)::text = 'pending'::text)
 Total runtime: 303.832 ms
```

## Specific runners

It doesn't affect the specific runners which still serve builds FIFO.

@stanhu @markpundsack @yorickpeterse What do you think?


See merge request !4634
2016-06-15 19:00:32 +00:00
Stan Hu c69715bafa Update CHANGELOG for 8.8.5 release
[ci skip]
2016-06-15 11:51:03 -07:00
Robert Speicher 2cfbf3e89c Merge branch '18131-pressing-merge-when-build-succeeds-at-the-same-exact-time-that-a-build-is-failing-will-merge-the-failed-build' into 'master'
Fix race condition on auto merge

Resolves #18131

See merge request !4443
2016-06-15 18:35:37 +00:00
Grzegorz Bizon d8670e114a Merge branch 'master' into fix/status-of-pipeline-without-builds
* master: (198 commits)
  Set inverse_of for Project/Services relation
  Fix admin hooks spec
  Prevent default disabled buttons and links.
  Add index on `requested_at` to the `members` table
  Rearrange order of tabs
  Fix admin active tab tests
  Show created_at in table column
  Nest li elements directly under ul
  Move builds tab to admin overview
  Add monitoring link with subtabs
  Add sub links to overview
  Add counter for abuse reports
  Remove admin layout-nav counters
  Move admin nav to horizontal layout nav
  Eager load project relations in IssueParser
  Use validate and required for environment and project
  Award Emoji can't be awarded on system notes backend
  Get rid of Gitlab::ShellEnv
  Update CHANGELOG.
  Fix project star tooltip on the fly.
  ...

Conflicts:
	app/services/ci/create_builds_service.rb
2016-06-15 20:14:25 +02:00
Z.J. van de Weg 17ad286e5d Rename ci_commit to pipeline 2016-06-15 19:17:55 +02:00
Zeger-Jan van de Weg 3fe4a2f525 Fix race condition on auto merge 2016-06-15 19:17:13 +02:00
Yorick Peterse 8a9164bf04 Set inverse_of for Project/Services relation
This ensures that code such as this don't run needless SQL queries:

    project.gitlab_issue_tracker_service.project

This also means that if the root `project` eager loads any associations
the Service object will be able to re-use those.
2016-06-15 18:54:23 +02:00
Fatih AcetandJacob Schatz 415b032ba1 Prevent default disabled buttons and links. 2016-06-15 11:37:45 -04:00
Rémy Coutable a8b4630190 Merge branch 'docker-registry-manifest-v1' into 'master'
Add support for Docker Registry manifest v1

## What does this MR do?

Adds support for Manifest V1 generated by older versions of Docker (before 1.10).

## What are the relevant issue numbers?

Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/18609


See merge request !4669
2016-06-15 15:07:39 +00:00
Jacob Schatz d1f0ad45b0 Merge branch 'tooltip-change' into 'master'
Update project star/unstar tooltip

## What does this MR do?
Fixes project toggle star button tooltip to show actual tooltip for its state.

## Are there points in the code the reviewer needs to double check?
No.

## Why was this MR needed?
- When you star a project tooltip wasn't changing.
- When you star a project and refresh the page, tooltip was still showing `Star Project`

## What are the relevant issue numbers?
Fixes #18143

## Screenshots (if relevant)

### Before 
![Screen_Shot_2016-06-15_at_15.31.57](/uploads/e005951c23eeed7c2761a0ec1911f3ce/Screen_Shot_2016-06-15_at_15.31.57.png)

### After
![tooltip-change](/uploads/4caec99eac6ffcc7331947fdfdb9e051/tooltip-change.gif)

## Does this MR meet the acceptance criteria?

- [x] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry added
- [ ] [Documentation created/updated](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/development/doc_styleguide.md)
- [ ] API support added
- [ ] Tests
  - [ ] Added for this feature/bug
  - [ ] All builds are passing
- [x] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides)
- [x] Branch has no merge conflicts with `master` (if you do - rebase it please)
- [x] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits)

See merge request !4672
2016-06-15 14:55:00 +00:00
Douwe Maan 8bfbafbb6b Merge branch 'eager-loading-issue-parser' into 'master'
Eager load project relations in IssueParser

## What does this MR do?

This changes the ReferenceParser class to eager load various associations. This in turn results in the permissions checking code (e.g. the `Ability` model) to _not_ run dozens if not hundreds of extra SQL queries depending on the amount of references involved (in a single document).

## Are there points in the code the reviewer needs to double check?

No.

## Why was this MR needed?

In !4410 it was revealed a _lot_ of a queries came from the `Ability` model and the code it would call. In many cases this was because the code would simply get a project, then get the owners; or get a group, then get some association of that. Eager loading these associations is a fairly simple solution and greatly cuts down the number of queries.

## What are the relevant issue numbers?

None.

## Does this MR meet the acceptance criteria?

- [x] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry added
- [x] ~~[Documentation created/updated](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/development/doc_styleguide.md)~~
- [x] ~~API support added~~
- [ ] Tests
  - [x] ~~Added for this feature/bug~~
  - [ ] All builds are passing
- [x] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides)
- [ ] Branch has no merge conflicts with `master` (if you do - rebase it please)
- [x] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits)

See merge request !4675
2016-06-15 14:00:31 +00:00
Douwe Maan a95f8b9a82 Merge branch 'stanhu/gitlab-ce-fix-error-500-false-binary-negative' 2016-06-15 15:56:02 +02:00
Rémy Coutable be09845914 Merge branch 'environments-and-deployments' into 'master'
Add environments and deployments

This MR is a continuation of https://gitlab.com/gitlab-org/gitlab-ce/issues/17009.

The current implementation is as follow:
1. We have two new tables: `environments` and `deployments`.
2. We have a new tab: `Environments` under `Pipelines` where you can see all you environments and add a new one.
3. We add a new option to `.gitlab-ci.yml` to track where we should create a deployment for environment.
4. If environment in `.gitlab-ci.yml` is specified it will create a deployment. **If environment does not exist it will be created.** (this got changed)
5. The deployment is always successful and shows the time of the action, in that case a build that presumably should do deployment. In the future we could extend deployment with statuses: success, failure. We could extend deployments with information that this is partial or full deployment.
6. User have to create environments that he will track first.
7. User can remove environments.
8. User can retry/rollback past deployment (in that case we retry past build). The new build when succeeds it will create a new deployment.
9. Currently environment have only one parameter: `name`. In the future it should have: `variables`, `credentials` and possibly `runners` and maybe other resources.
10. Currently deployment have this parameters: `sha`, `ref`, `deployable (in this case a build)`, `user (who triggered a deployment)`, `created_at`.

The `.gitlab-ci.yml`:
```
deploy to production:
  stage: deploy
  script: dpl travis...
  environment: production
```

What needs to be done:
- [x] Write initial implementation
- [x] Improve implementation (@ayufan)
- [x] Write tests (@ayufan)
- [x] Improve UX of the forms (cc @markpundsack) - reviewed by @markpundsack
- [x] Improve implementation of the views (cc @jschatz1) - done by @iamphill 
- [x] Write .gitlab-ci.yml documentation for `environments` - done by @ayufan
- [ ] Write user documentation (@ayufan and @markpundsack)

See merge request !4605
2016-06-15 13:48:09 +00:00
Yorick Peterse fce675d7fc Eager load project relations in IssueParser
By eager loading these associations we can greatly cut down the number
of SQL queries executed when processing documents with lots of
references, especially in cases where there are references belonging to
the same project.

Since these associations are so specific to the reference parsing
process and the permissions checking process that follows it I opted to
include them directly in IssueParser instead of using something like a
scope. Once we have a need for it we can move this code to a scope or
method.
2016-06-15 15:30:34 +02:00
Fatih Acet 138ff057a1 Update CHANGELOG. 2016-06-15 15:15:51 +03:00
Kamil Trzcinski f30d1fdf94 Add support for Docker Registry manifest v1 2016-06-15 12:53:23 +02:00
Kamil Trzcinski 2bed8db995 Add CHANGELOG 2016-06-15 12:24:53 +02:00