Commit Graph
29990 Commits
Author SHA1 Message Date
Douwe Maan 84138691a3 Merge branch 'zj-system-notes-not-awardable' into 'master'
Award Emoji can't be awarded on system notes backend



See merge request !4668
2016-06-15 13:51:22 +00: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
Kamil Trzcinski 6ace6d940a Use validate and required for environment and project 2016-06-15 15:09:50 +02:00
Z.J. van de Weg 31944179aa Award Emoji can't be awarded on system notes backend 2016-06-15 15:06:34 +02:00
Douwe Maan a4a85c269a Merge branch 'seed-fu-award-emoji' into 'master'
Seed Award Emoji while seeding the database

## What does this MR do?

Lets `rake dev:setup` create award emoji on _some_ awardables. Seemed overkill to give all that privilege. 

See merge request !4555
2016-06-15 12:50:26 +00:00
Kamil Trzcinski a4dc5f79bf Make project_id, iid unique for deployments 2016-06-15 14:05:26 +02:00
Kamil Trzcinski 9e487100b5 Validate project and environment instead of only requiring 2016-06-15 14:05:10 +02:00
Jacob Schatz bb7af46d32 Merge branch 'fix-header-logo-link' into 'master'
Fix the logo in header not being an anchor link.

## What does this MR do?

Adds an actual link to the Tanuki in the header instead of a `Turbolinks.visit()`.

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

Do we care that this reverts the Safari issue fixed in !2690? I feel bad, but it's hacky and there's not a great way to fix it here.

## Why was this MR needed?

You couldn't open the home page in a new tab before, it was very annoying.

## What are the relevant issue numbers?

Fixes #18604 

cc: @rspeicher 

See merge request !4661
2016-06-15 11:37:01 +00:00
Jacob Schatz f28bbf9468 Merge branch 'project-move-dropdown-search' into 'master'
Fixed issue with move dropdown not being searchable

## What does this MR do?

Adds the ability to search the project move dropdown.

## What are the relevant issue numbers?

Closes #18634 

## Screenshots (if relevant)

![search](/uploads/f10a9a16b608308c1b3c66f186f57f80/search.gif)

See merge request !4666
2016-06-15 11:04:42 +00:00
Kamil Trzcinski 14433b341d Make project_id and environment_id nullable
This is done to make belongs_to with required to properly validate association.
Otherwise `ActiveRecord::StatementInvalid` is raised.
2016-06-15 13:00:13 +02:00
Kamil Trzcinski eb26755d63 Create_deployment ability is need to create retry or rollback deployment 2016-06-15 12:56:02 +02:00
Phil Hughes aa35abf9bf Added test to dropdown search 2016-06-15 11:34:11 +01:00
Kamil Trzcinski 2bed8db995 Add CHANGELOG 2016-06-15 12:24:53 +02:00
Kamil Trzcinski 32a400aa14 Make environments_spec more feature-spec 2016-06-15 12:24:47 +02:00
Douwe Maan 3a857e0e6c Merge branch '17333-u2f-only-after-authenticator' into 'master'
Don't allow U2F set up unless an authenticator app is set up

Closes #17333 

# TODO

- [ ]  #17333 Authenticator should be set up before enabling U2F
    - [x]  Implementation
    - [x]  Fix/add tests
    - [x]  Refactor
    - [x]  Wait for [build](https://gitlab.com/gitlab-org/gitlab-ce/commit/964c98a3c427cac6e3de88ddc74a9f172ee9742d/builds) to pass
    - [x]  Assign to endboss for review
    - [x]  Address @DouweM's comments
        - [x]  No need for `javascript:void(0)`
        - [x]  Add screenshots
    - [ ]  Wait for merge

# Screenshots

![Screen_Shot_2016-06-15_at_8.18.03_AM](/uploads/26531fa7f6e5d7617fd11d1779021b4f/Screen_Shot_2016-06-15_at_8.18.03_AM.png)
![Screen_Shot_2016-06-15_at_8.18.37_AM](/uploads/ceaae97a987a15d3e04dd76aa8a944bd/Screen_Shot_2016-06-15_at_8.18.37_AM.png)
![Screen_Shot_2016-06-15_at_8.18.47_AM](/uploads/394224d5fcff759d5acc3bf39a138530/Screen_Shot_2016-06-15_at_8.18.47_AM.png)

See merge request !4585
2016-06-15 10:12:55 +00:00
Kamil Trzcinski 18fd2ccb8b Improve cyclomatic of ability::allowed 2016-06-15 12:12:26 +02:00
Z.J. van de Weg b2df118561 Random selection now also works for MySQL 2016-06-15 12:10:41 +02:00
Kamil Trzcinski 0052644009 Improve forms and specs 2016-06-15 12:07:06 +02:00
Kamil Trzcinski 2541e50d7c Improve validations 2016-06-15 12:03:49 +02:00
Douwe Maan 8249fdcd47 Merge branch '18451-track-new-redis-connections' into 'master'
Resolve "Track the number of new Redis connections per transaction"

## What does this MR do?

Add a new metric counter, `new_redis_connections`, that contains the number of calls to `Redis::Client#connect` in the current transaction.

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

Not sure. I tested this in kind of a brute-force way:

1. Add a debugger in the monkey-patched `connect` method.
2. With metrics enabled, start the app and load a page.
3. The first Redis connection is created by `Rack::Attack` and isn't in a transaction, but still works fine.
4. The second Redis connection is within a transaction (the page load), and increments the counter.
5. If I reload the page, neither debugger is hit.
6. If I use a Redis client and do `CLIENT KILL` on my two existing clients, then reload the page, I get 3 and 4 again.
7. If I disable metrics collection, the debugger never gets hit.

## Why was this MR needed?

We may have a Redis connection leak somewhere, so adding metrics will let us track this.

## What are the relevant issue numbers?

Closes #18451.

## Screenshots (if relevant)

Hahaha nope, not relevant.

## 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)

cc @yorickpeterse 

See merge request !4649
2016-06-15 09:56:42 +00:00
Z.J. van de Weg 7dc08033b9 Near half of the Issues get Award Emoji when seeding 2016-06-15 11:55:41 +02:00
Z.J. van de Weg bd3324cca2 Skip system notes from receiving award emoji 2016-06-15 11:55:41 +02:00
Z.J. van de Weg 080cbcabd9 Seed Award Emoji while seeding the database 2016-06-15 11:55:41 +02:00
Achilleas Pipinellis 870470730c Merge branch 'doc/issue-move-assigns-labels-and-milestone' into 'master'
Add docs for assigning labels/milestone when moving issue

Extends https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/3934

See merge request !4069
2016-06-15 09:36:19 +00:00
Grzegorz BizonandAchilleas Pipinellis 0daa6b4321 Add docs for assigning labels/milestone when moving issue
[ci skip]
2016-06-15 11:33:09 +02:00
Achilleas Pipinellis 3222c752e8 Merge branch 'ci-build-token' into 'master'
Document CI_BUILD_TOKEN

## What does this MR do?

Adds `CI_BUILD_TOKEN` to CI variables documentation.


See merge request !4664
2016-06-15 09:23:02 +00:00
Yorick Peterse 3589e549ab Merge branch '14320-note-grouped_awards' into 'master'
Include user relationship when retrieving award_emoji

See merge request !4647
2016-06-15 09:14:01 +00:00
Dmitriy Zaporozhets d8563bd6c2 Merge branch 'master' of gitlab.com:gitlab-org/gitlab-ce 2016-06-15 10:59:33 +03:00
Phil Hughes e412c1f25e Fixed issue with move dropdown not being searchable
Closes #18634
2016-06-15 08:53:11 +01:00
Paco Guzman 52a2b8a410 Include user relationship when retrieving award_emoji
Avoiding N+1 when showing grouped awards and when 
calculating participants for awardable entities
2016-06-15 06:50:12 +02:00
Mark Pundsack 6d9ed76419 Document CI_BUILD_TOKEN 2016-06-14 21:26:38 -07:00
Stan Hu bf4455d146 Merge branch 'dont-drop-stuck-builds' into 'master'
Don't fail builds for projects that are deleted when they are stuck

## What does this MR do?

Solves when dropping stuck connection.
```
Dropping stuck pending build 1545510 for runner 
NoMethodError: undefined method `origin_merge_requests' for nil:NilClass
    from /opt/gitlab/embedded/service/gitlab-rails/app/services/merge_requests/base_service.rb:50:in `merge_request_from'
    from /opt/gitlab/embedded/service/gitlab-rails/app/services/merge_requests/base_service.rb:57:in `each_merge_request'
    from /opt/gitlab/embedded/service/gitlab-rails/app/services/merge_requests/add_todo_when_build_fails_service.rb:5:in `execute'
    from /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/metrics/instrumentation.rb:164:in `execute'
    from /opt/gitlab/embedded/service/gitlab-rails/app/models/commit_status.rb:51:in `block (2 levels) in <class:CommitStatus>'
    from /opt/gitlab/embedded/service/gem/ruby/2.1.0/gems/state_machines-0.4.0/lib/state_machines/eval_helpers.rb:79:in `call'
...
```

This happens, because that `default_scope` of `Projects` filters returns the projects that are not deleted, where `Ci::Build` doesn't take into account.


See merge request !4609
2016-06-15 02:54:19 +00:00
Timothy Andrew d8a531687c Fix teaspoon spec.
- We added a `current_user.two_factor_via_otp?` check to the view. When
  rendering the view via the teaspoon fixture, `current_user` is `nil`.
2016-06-15 08:16:57 +05:30
Timothy Andrew 298eb449f3 Update u2f_spec to cover U2F being disabled until authenticator is set up. 2016-06-15 08:16:54 +05:30
Timothy Andrew fbb0612593 Don't allow clicking on "Setup New U2F Device" unless an authenticator app has been set up.
- Also change the help message to indicate that an authenticator app is
  now a prerequisite for U2F.
2016-06-15 08:16:11 +05:30
Stan Hu db6a75c23a Merge branch 'fix-sidekiq-troubleshooting' into 'master'
Fix typo in obtaining a backtrace from all threads in gdb



See merge request !4612
2016-06-14 23:52:47 +00:00
Jacob Schatz 27f75cf4a8 Merge branch 'rs-fix-note-polling' into 'master'
Fix note polling when a window has been hidden

`refresh` was called, `refreshing` was set to true, but then because
`document.hidden` was true, `getContent` was never called, and
`refreshing` never got reset to `false`, which stopped polling entirely
until refresh.

See merge request !4635
2016-06-14 22:03:58 +00:00
Stan Hu 5ac17fb2fa Merge branch 'manual-todos-issuable-sidebar' into 'master'
Manually create todo for issuable

## What does this MR do?

Adds a button to the sidebar in issues & merge requests to allow users to manually create a todo item themselves.

## What are the relevant issue numbers?

Closes #15045 

## Screenshots (if relevant)

![Screen_Shot_2016-06-07_at_09.52.14](/uploads/00af70244c0589d19f241c3e85f3d63d/Screen_Shot_2016-06-07_at_09.52.14.png)

![Screen_Shot_2016-06-07_at_09.52.06](/uploads/e232b02208613a4a50cff4d1e6f119ff/Screen_Shot_2016-06-07_at_09.52.06.png)

![Screen_Shot_2016-06-07_at_09.51.14](/uploads/f1d36435d49ab882538ae2252bec8086/Screen_Shot_2016-06-07_at_09.51.14.png)

See merge request !4502
2016-06-14 22:01:43 +00:00
Connor Shea b4f0dcc7df Fix #18604, logo in header wasn't an anchor link. 2016-06-14 15:57:46 -06:00
Robert Speicher e7a8fe07ea Merge branch '18535-confidential-issue-notes' into 'master'
Only show notes through JSON on confidential issues that the user has access to

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

See merge request !1970
2016-06-14 21:29:29 +00:00
Jacob Schatz 06784ee782 Merge branch 'changelog-updates' into 'master'
Update CHANGELOG

## What does this MR do?
Updates the CHANGELOG


See merge request !4549
2016-06-14 21:07:45 +00:00
Douglas Barbosa Alexandre 7ae0df8fae Update CHANGELOG 2016-06-14 17:51:17 -03:00
Douglas Barbosa Alexandre 2d29ca85e8 Fix notes on confidential issues through JSON to users without access 2016-06-14 17:51:17 -03:00
Annabel Dunstone de3a9d7ef1 Update CHANGELOG 2016-06-14 15:41:02 -05:00
Jacob Schatz 755cd6b936 Merge branch 'fix-bulk-assign-labels-init' into 'master'
Fixes bulk-assign labels not working when navigating through pages

## What does this MR do?
This MR fixes an issue on bulk-assign labels not working when navigating though pages. The functionality was not working because events on checkboxes weren't working. This re-runs `Issuable.initChecks()` and makes sure we are not leaving zombie event handlers by turning them off first.

Also fixes tests to use `wait_for_ajax` since label filtering is now using `Turbolinks` for redirection.

## 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
  - [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 !4632
2016-06-14 20:06:50 +00:00
Alfredo Sumaran 363fa59712 Update tests to make it work with Turbolinks approach 2016-06-14 12:39:51 -05:00
Alfredo Sumaran fef47d234a Use Turbolink instead of ajax 2016-06-14 12:39:51 -05:00
Alfredo Sumaran a0d58a83e0 Reinitialize checkboxes to toggle event bindings 2016-06-14 12:39:51 -05:00
Alfredo Sumaran 72d87d6c16 Turn off handlers before binding events 2016-06-14 12:39:51 -05:00
Jacob Schatz 400b415974 Merge branch 'nav-horizontal-alignment' into 'master'
Aligned the two navs horizontally

## What does this MR do?

Previously the 2 top navs were not aligned horizontally together. The top nav would be slightly to the left due to the settings dropdown. This corrects that by putting `position: absolute` on the dropdown toggle.

## What are the relevant issue numbers?

Closes #18513 

## Screenshots (if relevant)

![Screen_Shot_2016-06-13_at_10.20.22](/uploads/46f39a84dde74707578970f70ddda511/Screen_Shot_2016-06-13_at_10.20.22.png)

See merge request !4616
2016-06-14 17:37:42 +00:00