Commit Graph

2068 Commits

Author SHA1 Message Date
Robert Speicher 7edeccfc7f Merge branch 'replace_spinach_search_code.feature' into 'master'
Replace 'source/search_code.feature' spinach test with an rspec analog

See merge request !13697
2017-08-25 16:03:02 +00:00
Douwe Maan dcf4d69a7e Merge branch 'zj-reword-job-to-pipeline-chart-view' into 'master'
Reword job to pipeline on the chart view

Closes #36928

See merge request !13786
2017-08-25 08:41:55 +00:00
blackst0ne ec1ec9b67a Replace 'source/search_code.feature' spinach test with an rspec analog 2017-08-25 08:54:50 +11:00
Zeger-Jan van de Weg a8efe4c469
Reword job to pipeline on the chart view
This got changed for i18n in !12480, however, I forgot to understand
that the meaning of the graphs changed in !12378. This corrects the
behaviour.
2017-08-24 10:44:59 +02:00
Grzegorz Bizon 3c2bcf258c Fix feature specs for pages deployment 2017-08-23 14:20:48 +02:00
Robert Speicher 4edfad9678 Enable Layout/TrailingWhitespace cop and auto-correct offenses 2017-08-15 13:44:37 -04:00
Clement Ho cf55fb9b96 Merge branch '34527-make-edit-comment-button-always-available-outside-of-dropdown' into 'master'
Resolve "Make edit comment button always available outside of dropdown"

Closes #34527

See merge request !12931
2017-08-14 17:08:28 +00:00
Yorick Peterse 0395c47193
Migrate events into a new format
This commit migrates events data in such a way that push events are
stored much more efficiently. This is done by creating a shadow table
called "events_for_migration", and a table called "push_event_payloads"
which is used for storing push data of push events. The background
migration in this commit will copy events from the "events" table into
the "events_for_migration" table, push events in will also have a row
created in "push_event_payloads".

This approach allows us to reclaim space in the next release by simply
swapping the "events" and "events_for_migration" tables, then dropping
the old events (now "events_for_migration") table.

The new table structure is also optimised for storage space, and does
not include the unused "title" column nor the "data" column (since this
data is moved to "push_event_payloads").

== Newly Created Events

Newly created events are inserted into both "events" and
"events_for_migration", both using the exact same primary key value. The
table "push_event_payloads" in turn has a foreign key to the _shadow_
table. This removes the need for recreating and validating the foreign
key after swapping the tables. Since the shadow table also has a foreign
key to "projects.id" we also don't have to worry about orphaned rows.

This approach however does require some additional storage as we're
duplicating a portion of the events data for at least 1 release. The
exact amount is hard to estimate, but for GitLab.com this is expected to
be between 10 and 20 GB at most. The background migration in this commit
deliberately does _not_ update the "events" table as doing so would put
a lot of pressure on PostgreSQL's auto vacuuming system.

== Supporting Both Old And New Events

Application code has also been adjusted to support push events using
both the old and new data formats. This is done by creating a PushEvent
class which extends the regular Event class. Using Rails' Single Table
Inheritance system we can ensure the right class is used for the right
data, which in this case is based on the value of `events.action`. To
support displaying old and new data at the same time the PushEvent class
re-defines a few methods of the Event class, falling back to their
original implementations for push events in the old format.

Once all existing events have been migrated the various push event
related methods can be removed from the Event model, and the calls to
`super` can be removed from the methods in the PushEvent model.

The UI and event atom feed have also been slightly changed to better
handle this new setup, fortunately only a few changes were necessary to
make this work.

== API Changes

The API only displays push data of events in the new format. Supporting
both formats in the API is a bit more difficult compared to the UI.
Since the old push data was not really well documented (apart from one
example that used an incorrect "action" nmae) I decided that supporting
both was not worth the effort, especially since events will be migrated
in a few days _and_ new events are created in the correct format.
2017-08-10 17:45:44 +02:00
Simon Knox 8858ddaf83 take edit note button out of dropdown 2017-08-10 09:37:25 +10:00
Robert Speicher f8d34ab5ab Merge branch 'wiki_title' into 'master'
add feature rename wiki title

Closes #27800

See merge request !10069
2017-08-07 16:37:44 +00:00
Mike Greiling 17342953dd Merge branch '34060-simplified-general-project-settings' into 'master'
34060 Simply general project settings to use expanded panels

Closes #34060

See merge request !12620
2017-08-04 18:56:49 +00:00
wendy0402 29be4e0f58 Allow wiki pages to be renamed in the UI 2017-08-03 07:38:11 +07:00
Robert Speicher 72a7b30c9f Change all `:empty_project` to `:project` 2017-08-02 17:47:31 -04:00
Robert Speicher cf39d282a3 Use `:empty_project` where possible in features/steps 2017-08-02 15:25:52 -04:00
Gabriel Mazetto abb878326c Rename many path_with_namespace -> full_path 2017-08-01 07:26:58 +02:00
Phil Hughes 6ec561a2f7 fixed up specs 2017-07-28 15:29:13 +01:00
Robert Speicher 64131f04e1 Merge branch '1827-prevent-concurrent-editing-wiki' into 'master'
Prevent concurrent editing wiki

Closes #1827

See merge request !9707
2017-07-27 19:29:25 +00:00
Jarka Kadlecova 1c57299400 Remove project_key from the Jira configuration 2017-07-25 17:25:41 +02:00
Tim Zallmann 52b8a0db68 Resolve "Lazy load images on the Frontend" 2017-07-24 17:36:52 +00:00
Hiroyuki Sato 3acf790f7c Fix error of spinach test 2017-07-23 22:27:20 +09:00
Z.J. van de Weg 0d3b8fad97 Port spinach tests to rspec feature specs
Logic is the same, just now ported, while this feature was being
improved anyway in this branch.

Resolves #20961
2017-07-21 14:43:27 +02:00
Z.J. van de Weg 8877f2e8c1 Reword success to passing for pipeline badges 2017-07-21 10:22:11 +02:00
Z.J. van de Weg 2086483b24 Rename build to pipeline for status badges
First commit in probably 2, for resolve gitlab-org/gitlab-ce#15582. This
commit is renaming files and classes from build to pipeline. Also
wording is editted to pipeline. Given `pipeline` had more characters
than `build`, I've made the field a bit wider. The width now matchers
the one for the coverage badge, so they look nice when in a table
format, or in a list.

As soon as this commit is merged to master, and released, the build.svg
is deprecated, meaning that all users which already placed a badge
should update it. However, to make sure it keeps working tests are added
for this case.
2017-07-21 10:22:09 +02:00
Rémy Coutable 3fd587de56 Merge branch '23036-replace-dashboard-activity-spinach' into 'master'
Replaces 'dashboard/event_filters.feature' spinach with rspec

See merge request !12651
2017-07-19 15:29:32 +00:00
Rémy Coutable 1df5380ef9 Merge branch '23036-replace-dashboard-spinach' into 'master'
Replaces dashboard/dashboard.feature spinach with rspec

See merge request !12876
2017-07-19 15:26:51 +00:00
Bob Van Landuyt 458f3cf9b0 Update specs for new upload path 2017-07-18 15:38:54 +02:00
Alexander Randa 591cb60933 Replaces 'dashboard/activity.feature' spinach with rspec 2017-07-17 11:24:05 +03:00
Alexander Randa 1c84f668bc Replaces dashboard/dashboard.feature spinach with rspec 2017-07-17 11:16:41 +03:00
blackst0ne 2c8700c01e Replace 'browse_files.feature' spinach test with an rspec analog 2017-07-12 23:45:42 +11:00
Felipe Artur b5f596c3ff Native group milestones 2017-07-07 15:08:49 +00:00
Tim Zallmann 64e589c581 Resolve "Inconsistent location of members page between groups and projects" 2017-07-07 14:40:41 +00:00
Douwe Maan 793ce6fef6 Merge branch '32408-allow-creation-of-files-and-dirs-with-spaces-in-web-ui' into 'master'
Make filename and path creation compatible with UNIX in web UI

Closes #21362

See merge request !12608
2017-07-05 20:21:58 +00:00
Tiago Botelho 1207d451ed Removes file_name_regex from Gitlab::Regex 2017-07-05 19:10:14 +01:00
Douwe Maan fe13f11041 Create and use project path helpers that only need a project, no namespace 2017-07-05 11:11:59 -05:00
Tiago Botelho d1e0b1b3a8 Allow creation of files and directories with spaces in web UI 2017-07-05 16:08:57 +01:00
Rémy Coutable d9a5d92140 Merge branch '23036-replace-snippets-spinach' into 'master'
Replace 'snippets/snippets.feature' spinach with rspec

See merge request !12385
2017-07-05 15:04:05 +00:00
Alexander Randa 9651521ea7 Replace 'snippets/snippets.feature' spinach with rspec 2017-07-05 15:29:01 +03:00
Rémy Coutable d1109bd6a7 Merge branch '23036-replace-dashboard-new-project-spinach' into 'master'
Replaces 'dashboard/new-project.feature' spinach with rspec

See merge request !12550
2017-07-03 12:47:20 +00:00
Phil Hughes fefe9f4e78 Merge branch 'inject-add-diff-note' into 'master'
Render add-diff-note with server and optimize styles

See merge request !12103
2017-06-30 07:46:37 +00:00
Taurie Davis 55c6be2fb0 Clean up issuable lists 2017-06-29 17:34:06 +00:00
Bryce Johnson 81e9c28425 Render add-diff-note button with server.
This commit moves the rendering of the button back to the server, and
shows/hides it using opacity rather than display. It also removes the
transform applied to the button on hover (scale). Previously, both of these
factors automatically triggered a reflow, which creates a performance
bottleneck on pages with larger DOM size.

MR: !12103
2017-06-29 12:50:45 -04:00
Alexander Randa af89b19d69 Replaces 'dashboard/new-project.feature' spinach with rspec 2017-06-29 16:56:36 +03:00
Sean McGivern 88c60307bd Merge branch 'dm-merge-request-creations-controller' into 'master'
Split up MergeRequestsController

See merge request !12150
2017-06-29 11:57:06 +00:00
Douwe Maan 70b05a8377 Split up MergeRequestsController 2017-06-28 18:17:44 -05:00
Douwe Maan bf4129292d Merge branch 'dz-refactor-group-members-tests' into 'master'
Refactor group members tests

See merge request !12465
2017-06-27 16:43:36 +00:00
Rémy Coutable 22dc7e9cb7 Merge branch '23036-replace-dashboard-todo-spinach' into 'master'
Replaces 'dashboard/todos' spinach with rspec

See merge request !12453
2017-06-27 10:12:40 +00:00
Rémy Coutable dfe689a769 Merge branch '23036-replace-dashboard-mr-spinach' into 'master'
Replace 'dashboard/merge_requests' spinach with rspec

See merge request !12440
2017-06-26 17:17:20 +00:00
Dmitriy Zaporozhets 0aa5f08988
Move another group member spec from spinach
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2017-06-26 17:00:07 +02:00
Dmitriy Zaporozhets a67ff8e883
Move "remove group member" spec from spinach to rspec
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2017-06-26 16:50:16 +02:00
Alexander Randa a7ccf27d28 Replaces 'dashboard/merge_requests' spinach with rspec 2017-06-26 14:27:36 +00:00