Commit Graph
1457 Commits
Author SHA1 Message Date
Robert Speicher ed2a8ba600 Merge 8-2-stable into 8-2-stable-ee
Conflicts remaining:

- app/controllers/groups/group_members_controller.rb
- app/controllers/projects/project_members_controller.rb
- app/models/ability.rb
- app/models/member.rb
- app/models/project.rb
2015-11-19 10:33:18 -05:00
Douwe MaanandRobert Speicher 834e440f70 Merge branch 'mirror-repository' into 'master'
Add option to mirror an upstream repository.

Closes internal https://dev.gitlab.org/gitlab/gitlab-ee/issues/279

Depends on gitlab-org/gitlab-shell!29

To do:

- [x] Decide on what user should be the author of the activity feed events. The initial project creator perhaps? That makes sense for personal projects, but less so for group projects, where it's even possible that the creator has since left the team.
- [x] Write specs!
- [x] Write documentation
- [x] Port back relevant commits to CE: gitlab-org/gitlab-ce!1822

----

## Mirror status on project homepage

![Screen_Shot_2015-11-12_at_12.48.15](/uploads/39666b0e4a14723407b0f66e2aaddb46/Screen_Shot_2015-11-12_at_12.48.15.png)


## Settings navigation item

![Screen_Shot_2015-11-10_at_17.32.27](/uploads/116ece85f65681bbd3c7c5e282ab3b3c/Screen_Shot_2015-11-10_at_17.32.27.png)

## Mirroring settings

![Screen_Shot_2015-11-17_at_11.17.17](/uploads/ff57c89831524435ec6a063c3c470203/Screen_Shot_2015-11-17_at_11.17.17.png)


## Activity feed with new "pushes" (mirror updates)
![activity_feed](/uploads/04754251f2142fd06b1fddc2aae45232/activity_feed.png)

I have yet to decide on what user should be the author of these events. The initial project creator perhaps? That makes sense for personal projects, but less so for group projects, where it's even possible that the creator has since left the team.

## Warning that branch has diverged from upstream
![diverged](/uploads/ecf7ae6c5709f626c750695f45ca521a/diverged.png)

## Commits heading after failed update
![commits_failure](/uploads/d1b3e1f6796431c839ee9e2f67499283/commits_failure.png)

Link send user to the mirroring settings if they are a project admin.

## Mirroring settings after failed update

![Screen_Shot_2015-11-12_at_12.43.09](/uploads/ece68d5021c9a4c374bf6d973cf9fafa/Screen_Shot_2015-11-12_at_12.43.09.png)

## New project page
![new_project](/uploads/296beb6c7faf390a9b7e1facc9c1d4d6/new_project.png)

## Import form after failed import
(Screenshot outdated)

![new_import_failure](/uploads/ac0ebfc8ec23232603126fe0a6e10171/new_import_failure.png)

Shown when the initial import of a project fails, not when an update of an existing project fails.

cc @dzaporozhets @sytses @JobV

See merge request !51
2015-11-18 16:50:49 -05:00
Valery Sizov c67bafca31 Merge remote-tracking branch 'origin/master' into ce-to-ee 2015-11-16 17:05:47 +02:00
Marin Jankovski 14032d8eb1 Add support for git lfs. 2015-11-16 12:39:13 +01:00
Valery Sizov 7d7691cd09 Merge remote-tracking branch 'origin/master' into ce-to-ee 2015-11-16 13:37:13 +02:00
Valery Sizov 9e0d443f9e Disabling cache for test environment 2015-11-16 12:18:31 +02:00
Robert Speicher 37fe73c337 Merge remote-tracking branch 'ce/master' into ce-to-ee 2015-11-15 00:30:17 -05:00
Dmitriy Zaporozhets aec9f211e5 Merge branch 'impersonate' into 'master'
refactor login as to be impersonation with better login/logout

Modifies the existing "login as" feature to be called impersonation.

This also adds:

* Application keep track of who is impersonating the user so they can revert back to the original user without having to log out.
* Stores the user profile via `HTTP_REFERER` so you get redirected back to the person you have impersonated once you stop.

## Screenshots:

![](http://sindacio.us/i/2015-10-28_17-52-41.png)
![](http://sindacio.us/i/2015-10-28_17-53-08.png)

See merge request !1702
2015-11-14 09:04:10 +00:00
Robert Speicher 6afca45028 Merge remote-tracking branch 'ce/master' into ce-to-ee 2015-11-13 12:34:34 -05:00
Kamil Trzcinski 6384c757b7 Expose CI enable option in project features
- Enable CI by default for all new projects
2015-11-13 10:52:50 +01:00
Dmitriy Zaporozhets 63144cd062 Merge pull request #9820 from huacnlee/avoid-render-form-in-notes-list
Avoid render edit_form in each notes.
2015-11-12 11:55:55 +01:00
Kamil Trzciński 8ab5df9d87 Merge branch 'ci-deprecate-dumped-yaml' into 'master'
Remove deprecated dumped yaml file generated from previous job definitions



See merge request !1777
2015-11-12 09:42:32 +00:00
Jason Lee 1974087114 Avoid render edit_form in each notes.
Use RJS to render edit note feature.

Before:

```
Rendered projects/notes/_note.html.haml (27.9ms)
Rendered projects/_zen.html.haml (0.3ms)
Rendered projects/notes/_hints.html.haml (0.7ms)
Rendered projects/_md_preview.html.haml (3.9ms)
Rendered projects/notes/_edit_form.html.haml (6.9ms)
Rendered projects/notes/_note.html.haml (17.7ms)
Rendered projects/_zen.html.haml (0.3ms)
Rendered projects/notes/_hints.html.haml (0.6ms)
Rendered projects/_md_preview.html.haml (3.4ms)
Rendered projects/notes/_edit_form.html.haml (7.0ms)
```

After:

```
Rendered projects/notes/_note.html.haml (13.8ms)
Rendered projects/notes/_note.html.haml (7.1ms)
Rendered projects/notes/_note.html.haml (9.5ms)
Rendered projects/notes/_note.html.haml (8.5ms)
```

This change reduce at least 6ms * N ('N' - number of notes).
2015-11-12 13:16:35 +08:00
Kamil Trzciński fb5c3c7021 Merge branch 'artifacts' into 'master'
Implement Build Artifacts

This implements #3028 

1. It stores artifacts in shared/artifacts,
1. It adds `artifacts` to `.gitlab-ci.yml`,
1. We use GitLab Workhorse to offload artifacts uploading,
1. To download artifacts it uses GitLab Workhorse X-Sendfile extension,
1. There's one "artifact" per-build. The new upload removes previous one and creates a new one,
1. Default max artifact size is set to 100MB - this can be changed in settings.

Missing things:
1. Support for `.gitlab-ci.yml`: `artifacts: true or git-ls-files` which will upload all non tracked files,
1. Artifacts passing between builds.

GitLab Workhorse changes: https://gitlab.com/gitlab-org/gitlab-workhorse/merge_requests/5
GitLab Runner changes: https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/merge_requests/46

Syntax:
```
artifacts:
  untracked: true # default: false
  paths: # default: empty
  - bin/files
```


See merge request !1584
2015-11-11 12:44:37 +00:00
Kamil Trzcinski eef129bd4a Final fixes 2015-11-10 22:21:15 +01:00
Dmitriy Zaporozhets 8972aef558 Merge branch 'state-machine-to-state-machines-activerecord' into 'master'
Switch to state_machines-activerecord (Fixes: #3374)

state_machine is unmaintained

See merge request !1764
2015-11-10 12:20:59 +00:00
Kamil Trzcinski d0e3e823a2 Implement Build Artifacts
- Offloads uploading to GitLab Workhorse
- Use /authorize request for fast uploading
- Added backup recipes for artifacts
- Support download acceleration using X-Sendfile
2015-11-10 12:51:50 +01:00
Kamil Trzcinski d024db0cc8 Remove deprecated dumped yaml file generated from previous job definitions 2015-11-10 12:14:41 +01:00
Dmitriy Zaporozhets 354b69dde2 Merge remote-tracking branch 'origin/release-notes'
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-11-10 10:20:22 +01:00
Robert Speicher b740bfc218 Merge branch 'fix-incoming-email-default' into 'master'
Fix incoming email config defaults

Fixes #3377.

See merge request !1766
2015-11-09 17:25:31 +00:00
Pirate Praveen e357e4fbab remove state_machine_patch.rb 2015-11-09 08:34:25 -05:00
Yorick Peterse 7b5fd8742e Track the amount of times views are rendered 2015-11-09 14:29:10 +01:00
Yorick Peterse dec3e4ce64 Added Sherlock, a custom profiling tool for GitLab
Sherlock will be a new GitLab specific tool for measuring the
performance of Rails requests (and SideKiq jobs at some point). Some of
the things that are currently tracked:

* SQL queries along with their timings, backtraces and query plans
  (using "EXPLAIN ANALYZE" for PostgreSQL and regular "EXPLAIN" for
  MySQL)
* Timings of application files (including views) on a per line basis
* Some meta data such as the request method, path, total duration, etc

More tracking (e.g. Rugged or gitlab-shell timings) might be added in
the future.

Sherlock will replace any existing tools we have used so far (e.g.
active_record_query_trace and rack-mini-profiler), hence the
corresponding Gems have been removed from the Gemfile.

Sherlock can be enabled by starting Rails as following:

    ENABLE_SHERLOCK=1 bundle exec rails s

Recorded transactions can be found at `/sherlock/transactions`.
2015-11-09 14:29:10 +01:00
Douwe Maan 0fb85939da Fix incoming email config defaults 2015-11-09 14:12:21 +01:00
Pirate Praveen 2e5d32e07a Switch to state_machines-activerecord (Fixes: #3374) 2015-11-08 12:15:58 -05:00
Valery Sizov d5a92b4cea Visible group option 2015-11-05 19:05:47 +02:00
Kamil Trzcinski b18671a1b2 Enable shared runners for all new projects 2015-11-05 17:02:02 +01:00
Kamil Trzcinski ba68facf8d CI details cleanup
- Add page titles to CI settings.
- Fix CI admin navigation.
- Remove duplicated scope.
- Use monospace font for commit sha.
- Add page title and header title to build page.
- Proper authorization for cancel/retry builds.
- Use gitlab pagination theme for builds and group members.
- Don't paginate builds widget on build page.
- Add badges to commit page Changes/Builds tabs.
- Add "Builds" to commit Builds tab page title.
- Add and use Ci::Build#retryable? method.
- Add CI::Build#retried? method.
- Allow all failed commit builds to be retried.
- Proper authorization for cancel/retry all builds.
- Remove unused param.
- Use time_ago_with_tooltip where appropriate.
- Tweak builds index text
- Remove duplication between builds/build and commit_statuses/commit_status.
- Use POST rather than GET for canceling and retrying builds.
- Remove redundant URL helpers.
- Add build ID to build page.
- Link branch name on build page.
- Move commit/:sha/ci to commit/:sha/builds.
2015-11-05 15:24:27 +01:00
Dmitriy Zaporozhets 850bb21b12 Create show page for tag and render release notes there and on index page
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-11-05 13:49:34 +01:00
Valery Sizov 93bcc9ca7f Merge remote-tracking branch 'origin/master' into ce_upsteram 2015-11-05 14:26:35 +02:00
Dmitriy Zaporozhets ba67af79a9 More release related logic to separate resource
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-11-05 11:16:41 +01:00
Dmitriy Zaporozhets 33b8f00263 Add edit/update tag actions for future release notes
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-11-05 10:51:12 +01:00
Robert Speicher 5df6b0b758 Merge branch 'facebook-auth' into 'master'
Add Facebook authentication

See merge request !1740
2015-11-04 15:23:38 +00:00
Robert Speicher d09d62b6b8 Replace all usages of git command with configurable binary path
Closes #3311
2015-11-03 17:11:09 -05:00
Douwe Maan 4773d98e83 Add Facebook authentication 2015-11-03 17:59:07 +01:00
Dmitriy Zaporozhets 8a22b5bf54 Remove inflector rule that makes commits uncountable
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-11-03 11:36:20 +01:00
Dmitriy Zaporozhets ead3ffd7a5 Merge branch 'shared-file-access' into 'master'
Start putting shared files in "shared"



See merge request !1691
2015-10-29 11:06:03 +00:00
James Newton 3bb626f91c refactor login as to be impersonation with better login/logout
Modifies the existing "login as" feature to be called impersonation, as
well as keeping track of who is impersonating to revert back to that
user without having to log out.
2015-10-29 11:00:17 +01:00
Dmitriy Zaporozhets c9af886df9 Remove deprecated CI events from project settings page
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-10-28 12:33:54 +01:00
Jacob Vosmaer 0b082b348b Start putting shared files in "shared" 2015-10-26 13:42:09 +01:00
Jacob Vosmaer 122f02bc39 Remove the contents of the satellites dir 2015-10-23 17:39:22 +02:00
Valery Sizov 0f30be02eb Merge remote-tracking branch 'origin/master' into ce_upstream 2015-10-23 13:01:19 +02:00
Han Loong Liauw 02e8beaa0b Merge branch 'master' into remove-forks-from-projects-settings 2015-10-17 09:32:31 +11:00
Valery Sizov 8766c54bf2 Merge remote-tracking branch 'origin/master' into ce_upstream_15_10 2015-10-15 16:46:48 +03:00
Dmitriy Zaporozhets c0a6836be4 Merge branch 'view-issue-performance' 2015-10-15 14:37:04 +02:00
Kamil Trzciński daccc54d25 Merge branch 'builds-view' into 'master'
Added builds view

![Screen_Shot_2015-10-13_at_19.02.48](https://gitlab.com/gitlab-org/gitlab-ce/uploads/95bb3a7d9d603678fdd077558637045d/Screen_Shot_2015-10-13_at_19.02.48.png)

/cc @dzaporozhets @vsizov 


See merge request !1593
2015-10-15 11:35:57 +00:00
Dmitriy Zaporozhets 524b3db30c Merge branch 'fix-path-with-leading-dot-error' into 'master'
Fix error preventing displaying of commit data for a directory with a leading dot

Directories with leading dots erroneously get rejected by the route controller if git
ref regex is used in constraints. This prevents commit data from being loaded. The regex verification is now done in controller.

Closes https://github.com/gitlabhq/gitlabhq/issues/8763


See merge request !1574
2015-10-15 10:36:24 +00:00
Yorick Peterse bed29940ef Fixed Rubocop styling issues 2015-10-15 12:05:01 +02:00
Yorick Peterse d4832b0341 Added rack-lineprof for development
This can be used to measure the time (roughly) spent on a per line
basis. This can also be used to measure timings for views, for example
by adding the following to a URL:

   ?lineprof=app/views/projects/notes/_note

rack-lineprof is only enabled when:

1. The application runs in development mode
2. The used Ruby is MRI
3. The environment variable ENABLE_LINEPROF is set to a non-empty value
2015-10-15 12:05:01 +02:00
Yorick Peterse 7971ed5dac Added active_record_query_trace
This can be used to track down where queries originate from, regardless
of whether they're caused by N+1 problems or not. This can be enabled by
setting the environment variable ENABLE_QUERY_TRACE to a non-empty value
(e.g. "true").
2015-10-15 12:05:01 +02:00