Commit Graph
1309 Commits
Author SHA1 Message Date
Dmitriy Zaporozhets 1da71fa9ed Merge branch 'feature/sidekiq-cron' into 'master'
Migrate from Sidetiq to Sidekiq-cron

Migrate from Sidetiq to Sidekiq-cron
Updated Sidekiq to 3.5.x

This will solve #2355

See merge request !1982
2015-12-07 18:53:59 +00:00
Stan Hu d800a949d2 Fix Error 500 when creating global milestones with Unicode characters
Two issues:

1. The constraints in the resources were incorrect. Here's what it was before:
```
group_milestone  GET /groups/:group_id/milestones/:id(.:format)  groups/milestones#show {:id=>/[a-zA-Z.0-9_\-]+(?<!\.atom)/, :group_id=>/[a-zA-Z.0-9_\-]+(?<!\.atom)/}
```

In this case, id is actually the title of the milestone, which can be anything at the moment.

After:

```
group_milestone  GET /groups/:group_id/milestones/:id(.:format)  groups/milestones#show {:id=>/[^\/]+/, :group_id=>/[a-zA-Z.0-9_\-]+(?<!\.atom)/}
```

2. `parameterize` would strip all Unicode characters, leaving a blank string. Rails would report something like:

ActionView::Template::Error (No route matches {:action=>"show", :controller=>"groups/milestones", :group_id=>#<Group id: 48, name: "ops-dev", path: "ops-dev", owner_id: nil, created_at: "2015-11-15 08:55:30", updated_at: "2015-12-02 06:23:26", type: "Group", description: "", avatar: "sha1.c71e73d51af1865c1bbbf6208e10044d46c9bb93.png", public: false>, :id=>"", :title=>"肯定不是中文的问题"} missing required keys: [:id]):

This change uses the babosa library to create a better slug, which surprisingly
isn't actually used by the global milestone controllers. Instead, they use the
title passed as a query string for some reason.

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

Fix constraints
2015-12-05 00:04:44 -08:00
Gabriel Mazetto 496870ddec Migrate from Sidetiq to Sidekiq-cron
Updated Sidekiq to 3.5.x
2015-12-04 11:29:45 -02:00
Douwe Maan 928d131e39 Merge branch 'master' into link-refs 2015-12-03 13:32:42 +01:00
Valery Sizov f21bbd4444 Rails deprecation warning about log_level 2015-12-03 10:53:58 +02:00
Douwe Maan 60828ab40e Merge branch 'master' into link-refs 2015-12-02 12:12:03 +01:00
Douwe Maan f9017a2b03 Have ClosingIssueExtractor recognize all referenced issues 2015-11-30 21:36:35 +01:00
Valery Sizov e0131c5d07 Merge branch 'rails_update_to_4_2' into 'master'
Rails update to 4.2.4

https://gitlab.com/gitlab-org/gitlab-ce/issues/2694

See merge request !1902
2015-11-30 16:49:09 +00:00
Douwe Maan a8e05cec00 Merge branch 'rs-build-ssh-path-prefix' into 'master'
Simplify `build_gitlab_shell_ssh_path_prefix`



See merge request !1928
2015-11-30 13:15:21 +00:00
Valery Sizov 461731f076 fix notification_service specs 2015-11-30 11:21:10 +02:00
Robert Speicher e1522ec855 Simplify build_gitlab_shell_ssh_path_prefix 2015-11-29 17:52:40 -05:00
Stan Hu 78c1ab40e2 Gracefully handle when Redis is not available 2015-11-26 07:55:21 -08:00
Valery SizovandValery Sizov 7f214cee74 Migrate mailers to ActiveJob 2015-11-26 17:03:43 +02:00
Stan Hu e55473ad68 Expire application settings from cache at startup
If a DB migration occurs, there's a chance that the application settings are
loaded from the cache and provide stale values, causing Error 500s.
This ensures that at startup the settings are always refreshed.

Closes #3643
2015-11-25 11:30:33 -08:00
Valery Sizov 40ff1318d2 Rails update to 4.2.4 2015-11-25 18:18:44 +02:00
Yorick Peterse ef2bc0f0bf Merge branch 'sherlock-total-query-time' into 'master'
Added total query time to Sherlock

This makes it easier to see if a problem is caused by slow queries or
slow Ruby code (unrelated to any SQL queries that might be used).

See merge request !1887
2015-11-25 11:29:48 +00:00
Marin Jankovski 0985032132 Also fallback to a default value if none is set. 2015-11-24 15:57:28 +01:00
Marin Jankovski 9595ec036a Maybe rescue session_expire_delay by setting a default value. 2015-11-24 12:11:31 +01:00
Yorick Peterse 97f8c6279f Added total query time to Sherlock
This makes it easier to see if a problem is caused by slow queries or
slow Ruby code (unrelated to any SQL queries that might be used).
2015-11-24 10:57:21 +01:00
Kamil Trzcinski 11728b50f9 Expose artifacts path 2015-11-23 13:05:22 +01:00
Dmitriy Zaporozhets b96fa3094a Merge branch 'lfs_default_and_backup' into 'master'
Lfs default and backup

Part of gitlab-org/gitlab-ce#2955

See merge request !1823
2015-11-20 09:10:27 +00:00
Marin Jankovski 060e59f054 Lfs on by default. 2015-11-19 10:42:46 +01:00
Valery Sizov fd2c0fe446 award emoji 2015-11-19 01:25:27 +02:00
Robert Speicher df0110ba81 Merge branch 'rs-revert-gh-9820' into 'master'
Revert "Merge pull request #9820 from huacnlee/avoid-render-form-in-notes-list"

This reverts commit 63144cd062, reversing
changes made to 8ab5df9d87.

Reverts https://github.com/gitlabhq/gitlabhq/pull/9820

See merge request !1804
2015-11-17 15:09:22 +00:00
Robert Speicher c8e53d4467 Revert "Merge pull request #9820 from huacnlee/avoid-render-form-in-notes-list"
This reverts commit 63144cd062, reversing
changes made to 8ab5df9d87.
2015-11-16 13:08:08 -05:00
Dmitriy Zaporozhets 05335a3c85 Create milestones in the group
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-11-16 14:07:38 +01:00
Marin Jankovski 14032d8eb1 Add support for git lfs. 2015-11-16 12:39:13 +01:00
Valery Sizov 9e0d443f9e Disabling cache for test environment 2015-11-16 12:18:31 +02: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
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
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
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