- 15 Jun, 2016 40 commits
-
-
Jacob Schatz authored
Fixed notes action buttons on mobile ## What does this MR do? Fixes the mobile screen size styling for notes action buttons. It ensures there is space between icons and forces parts of the notes header to stack ## Are there points in the code the reviewer needs to double check? Stacking? ## Why was this MR needed? UX ## What are the relevant issue numbers? Closes #18434. ## Screenshots (if relevant) ![Screen_Shot_2016-06-13_at_17.52.09](/uploads/18849fdfc4fcbf7b67fc66633bbac129/Screen_Shot_2016-06-13_at_17.52.09.png) ## Does this MR meet the acceptance criteria? - [ ] [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 !4631
-
Jacob Schatz authored
Fix clicking of find and download areas on file page ## What does this MR do? Fixes the stacking context of the file page so the find and download areas can be clicked ## Are there points in the code the reviewer needs to double check? Ney ## Why was this MR needed? We wanna click them. :( ## What are the relevant issue numbers? Closes #18340. ## Screenshots (if relevant) ![Screen_Shot_2016-06-09_at_18.46.05](/uploads/1650a2fb1b9119ad1e27badf31f49340/Screen_Shot_2016-06-09_at_18.46.05.png) ## Does this MR meet the acceptance criteria? - [ ] [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 !4574
-
Jacob Schatz authored
Updated commits UI Closes #14633 See merge request !4271
-
Jacob Schatz authored
Improve usability for prioritized labels ## What does this MR do? - Adds an icon next to prioritized label rows serving as a hint to the user that the labels can be sorted by dragging them. - Adds description about prioritized labels. - Restores empty message when removing all prioritized labels. ## Screenshots (if relevant) ![labels](/uploads/1da16c4c54a894fa45ccc47e3a5bdf7a/labels.gif) Closes #18575 See merge request !4652
-
Jacob Schatz authored
New Project page improvements for mobile ## What does this MR do? Redesigns the "Project path" fields on the New Project page. ## Are there points in the code the reviewer needs to double check? Not that I know of, nothing I changed should break any other pages. ## Why was this MR needed? The new project page was unusable on mobile because the project name text field didn't have enough space. ## What are the relevant issue numbers? Fixes #18599. ## Screenshots (if relevant) Before: ![Screen_Shot_2016-06-15_at_12.38.58_PM](/uploads/046a824b283e24266cabc9ea3dfb169c/Screen_Shot_2016-06-15_at_12.38.58_PM.png) After: ![Screen_Shot_2016-06-15_at_12.37.19_PM](/uploads/6d01310192965b413bfedd9c8d2129f7/Screen_Shot_2016-06-15_at_12.37.19_PM.png) ![Screen_Shot_2016-06-15_at_12.37.28_PM](/uploads/3944a0f0ab04373ec92f7cafe90872df/Screen_Shot_2016-06-15_at_12.37.28_PM.png) ## Does this MR meet the acceptance criteria? - [ ] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry 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) - [ ] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits) cc: @jschatz1 @dzaporozhets See merge request !4687
-
Jacob Schatz authored
Pinned sidebar navigation option ## What does this MR do? Gives the ability to pin the sidebar navigation. Pinning is only possible on screens with above `lg` which is `1200px` if not it reverts to being hidden by default. ## What are the relevant issue numbers? Closes #18542 ## Screenshots (if relevant) ### Un-pinned ![Screen_Shot_2016-06-15_at_17.29.08](/uploads/82b7495df6ea46a2334a7c25d03b019b/Screen_Shot_2016-06-15_at_17.29.08.png) ### Pinned ![Screen_Shot_2016-06-15_at_17.29.41](/uploads/3eb381be807985d0a9583f000cb802f9/Screen_Shot_2016-06-15_at_17.29.41.png) See merge request !4683
-
Robert Speicher authored
Update CHANGELOG for 8.8.5 release [ci skip] See merge request !4688
-
Stan Hu authored
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
-
Connor Shea authored
-
Stan Hu authored
[ci skip]
-
Connor Shea authored
-
Connor Shea authored
Separate the New Project page's "Project path" grouped fields into separate fields. Fixes #18599.
-
Phil Hughes authored
Changed breakpoint width to 1440px
-
Robert Speicher authored
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
-
Rémy Coutable authored
Set inverse_of for Project/Services relation ## What does this MR do? This MR adds the `inverse_of:` option to two associations to reduce the number of queries when running code such as ` project.gitlab_issue_tracker_service.project`. ## Are there points in the code the reviewer needs to double check? No. ## Why was this MR needed? In !4410 it was revealed code such as the above is used and would run SQL queries when the root object (usually a Project) was already present. By using `inverse_of` Rails can just re-use those Project instances. ## 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~~ - [x] Tests - [x] ~~Added for this feature/bug~~ - [x] 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 !4674
-
Phil Hughes authored
Fixed issue when nav wasn't present
-
Z.J. van de Weg authored
-
Zeger-Jan van de Weg authored
-
Phil Hughes authored
-
Yorick Peterse authored
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.
-
Douwe Maan authored
Get rid of Gitlab::ShellEnv Remove obsolete code we once needed for Grack and satellites. See merge request !4673
-
Dmitriy Zaporozhets authored
Resolve "Change admin navigation to match new UI" ## What does this MR do? Moves admin navigation to layout nav to match Project, Groups, and Profile navigation ## Are there points in the code the reviewer needs to double check? ## Why was this MR needed? ## What are the relevant issue numbers? Closes #18338 ## Screenshots (if relevant) ![Screen_Shot_2016-06-14_at_10.26.40_AM](/uploads/f0b8c8b259da16d929be2b36e8eeafb8/Screen_Shot_2016-06-14_at_10.26.40_AM.png) ![Screen_Shot_2016-06-14_at_10.26.44_AM](/uploads/07d9ece2063dfcfec1f0f2647d8ee782/Screen_Shot_2016-06-14_at_10.26.44_AM.png) ## Does this MR meet the acceptance criteria? - [ ] [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 - [ ] 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) - [ ] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits) See merge request !4650
-
Jacob Schatz authored
Prevent default disabled buttons and links. ## What does this MR do? Prevents default action for disabled buttons and links. If the element has `.btn` and `.disabled` at the same time, its default action will be prevented. ## Are there points in the code the reviewer needs to double check? Yes. Is there a better way to do that? ## Why was this MR needed? Right now we can click disabled links and it cause some troubles like in #18079. ## What are the relevant issue numbers? Fixes #18079 ## Screenshots (if relevant) ![disabled-click](/uploads/48b58ce130f843e530e62632bcc27436/disabled-click.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 - [x] Tests - [x] Added for this feature/bug - [x] 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 !4658
-
Phil Hughes authored
Closes #18542
-
Jacob Schatz authored
Show number of processed MRs in milestone page closes #14025 ![Screen_Shot_2016-05-02_at_6.20.34_PM](/uploads/9208e58c0e0c77133bd73332ee3b3342/Screen_Shot_2016-05-02_at_6.20.34_PM.png) See merge request !4006
-
Dmitriy Zaporozhets authored
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
-
Fatih Acet authored
-
Alfredo Sumaran authored
-
Yorick Peterse authored
Add index on `requested_at` to the `members` table See merge request !4679
-
Jacob Schatz authored
Fixed issue with MR buttons being in a group ## What does this MR do? Fixes design issue with the buttons in the merge request widget ## Screenshots (if relevant) ![Screen_Shot_2016-06-09_at_14.13.32](/uploads/44ac4175f5a97a8d7baf97be6eebc684/Screen_Shot_2016-06-09_at_14.13.32.png) See merge request !4562
-
Jacob Vosmaer (GitLab) authored
Check if the Users table has exactly one user limiting the whole set ## What does this MR do? Limit the query set so about a full scan for all the rows on the users table (only scan to records) #18225 See merge request !4492
-
Rémy Coutable authored
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
-
Jacob Schatz authored
Fixed issue with de-selecting dropdown option in issue sidebar ## What does this MR do? When de-selecting either an assignee or milestone, we try to send `undefined` which jQuery removes from the request causing a routing error. Instead this MR sends `null` which jQuery still sends and then correctly removes either the milestone or assignee. ## What are the relevant issue numbers? Closes #18641 ## Screenshots (if relevant) ![assignee](/uploads/6eaca416fb6e31eabf4c038967160c07/assignee.gif) ## Does this MR meet the acceptance criteria? - [ ] [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 - [ ] 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) - [ ] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits) See merge request !4671
-
Rémy Coutable authored
Signed-off-by: Rémy Coutable <remy@rymai.me>
-
Jacob Schatz authored
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
-
Annabel Dunstone authored
-
Kamil Trzcinski authored
-
Dmitriy Zaporozhets authored
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
-
Kamil Trzcinski authored
-
Annabel Dunstone authored
-