Commit Graph

417 Commits

Author SHA1 Message Date
Filipa Lacerda 35dd0b6dfb [ci skip] Merge branch 'master' into 42568-pipeline-empty-state
* master: (293 commits)
  Revert changelog entry for removed feature
  Revert "Allow CI/CD Jobs being grouped on version strings"
  Resolve "Protected branches count is wrong when a wildcard includes several protected branches"
  Use standard codequality job
  Resolve "Allow the configuration of a project's merge method via the API"
  [Rails5] Rename `sort` methods to `sort_by_attribute`
  Add better LDAP connection handling
  Updated components to PascalCase
  Handle invalid params when trying update_username
  Move network related app settings to expandable blocks
  [Rails5] Update Gemfile.rails5.lock [ci skip]
  Update Security Products examples documentation
  Backport Gitlab::Git::Checksum to CE
  Add changelog
  Refactor discussions/notes code
  Remove unnecessary section looking in admin settings qa
  Explicitly use page context for qa/factory/settings/hashed_storage.rb
  Use gitlab_environment because we need:
  Allow feature gate removal through the API
  Use shard name in Git::GitlabProjects instead of shard path
  ...
2018-04-04 14:39:53 +01:00
blackst0ne a4e3b32685 Replace the `project/issues/labels.feature` spinach test with an rspec analog 2018-04-03 13:20:50 +00:00
blackst0ne dc4ae317ea Replace the `project/issues/issues.feature` spinach test with an rspec analog 2018-04-03 10:27:56 +00:00
Filipa Lacerda cd6a58c810
Fix broken test 2018-03-09 17:59:59 +00:00
Dmitriy Zaporozhets aeab4e6263
Use Project#full_name instead of name_with_namespace
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2018-03-07 16:07:09 +02:00
Filipa Lacerda a29a91f02d
Merge branch 'master' into 22643-manual-job-page
* master: (200 commits)
  Fix issue boards scroll config.
  Added multi editor setting on the profile preferences page
  fix missing import of timeWeek which would cause errors in prometheus graphs with deployments
  Remove downcase from special path helper
  Rename db:seed_fu-{pg,mysql} to gitlab:setup-{pg,mysql}
  Fix error when viewing diffs without blobs
  Moves prettier to dev dependency
  Eager load event target authors whenever possible
  Do not run ee_compat_check on security branches
  Include integration tests in CE/EE testing documentation
  41054-Disallow creation of new Kubernetes integrations
  Resolve "Resizable file list and commit panel"
  Make tooltip placement bottom by default as per design guidelines
  Fix groups list icon, timestamp alignment and row height
  Avoid leaving a push event empty if payload cannot be created
  Move git operations for UpdateRemoteMirrorService into Gitlab::Git
  Move delete_remote_branches from Gitlab::Shell to Gitlab::Git::Repository
  Move push_remote_branches from Gitlab::Shell to Gitlab::Git::Repository
  Update Kubernetes service documentation
  fix issue #37843
  ...
2018-01-04 22:39:01 +00:00
blackst0ne 27c95364b5 Replace '.team << [user, role]' with 'add_role(user)' in specs 2017-12-22 19:18:28 +11:00
Filipa Lacerda 0b5947849a Fix broken spinach test 2017-12-21 17:26:23 +00:00
Clement Ho 20ddfd9c59 Add js prefix for issuable-edit 2017-12-08 11:21:31 -06:00
Kamil Trzcinski 871de0f185 Rename artifacts_* to legacy_artifacts_* 2017-12-03 12:04:49 +01:00
Mike Greiling 519ffa1ebf
Merge branch 'master' into sh-headless-chrome-support
* master: (297 commits)
  Fix deletion of container registry or images returning an error
  The fog-aliyun gem had a bug in v0.1.0 for file storage creation/update. This merge requests update the gem to v0.2.0 which contains the fix:
  Decrease ABC threshold to 54.28
  Update VERSION to 10.2.0-pre
  Update CHANGELOG.md for 10.1.0
  Document `CI_SHARED_ENVIRONMENT` and `CI_DISPOSABLE_ENVIRONMENT`
  Fix the external URLs generated for online view of HTML artifacts
  Use title as placeholder instead of issue title for reusability
  Fix failure in current_settings_spec.rb
  Clarify the difference between project_update and project_rename
  URI decode Page-Title header to preserve UTF-8 characters
  Update Gitaly version to v0.49.0
  Decrease Perceived Complexity threshold to 14
  Resolve "Remove help text regarding group issues on group issues page (and group merge requests page)"
  Force non diff resolved discussion to display when collapse toggled
  Added submodule support in multi-file editor
  add note about after_script being run separately
  Check for element before evaluate_script
  Merge branch 'master-i18n' into 'master'
  Update Prometheus gem to fix problems with other files overwriting current file
  ...
2017-10-23 10:32:14 +03:00
Douwe Maan 228bbb3af0 Merge branch 'not-found-in-commits' into 'master'
Renders 404 in commits controller if no commits are found

Closes #37620

See merge request gitlab-org/gitlab-ce!14610
2017-10-19 12:18:42 +00:00
Guilherme Vieira ada114065f Renders 404 in commits controller if no commits are found 2017-10-18 23:41:00 -02:00
Mike Greiling 53e11239ce
Merge branch 'master' into sh-headless-chrome-support
* master: (104 commits)
  Update licenses
  fix a wrong method call in the refactor
  fix a whitespace
  fix for discussion
  Update templates via:
  Update doc accordingly to:
  Cache issuable template names
  Fix the format of rugged alternate directory list
  Match full file path in FileDetector
  Fixes from CSS refactor
  Resolve "Prometheus service page shows error"
  Explicit state integration deletion
  Move all API authentication code to APIGuard
  Shorten example translation for inclusive language
  [ci-skip] add changelog
  fix the merger override to remove source branch
  add spec
  Removed d3.js  from the users and graphs bundle
  Cleanup data-page attribute after each Karma test
  Update template description wording
  ...
2017-10-12 17:52:09 -05:00
Vitaliy @blackst0ne Klachkov bd69b79435 Replace the 'features/explore/projects.feature' spinach test with an rspec analog 2017-10-11 15:26:04 +11:00
Jose Ivan Vargas f682cc189a Merge branch 'master' into sh-headless-chrome-support 2017-10-03 12:11:56 -05:00
Douwe Maan b74c643c66 Only copy old/new code when selecting left/right side of parallel diff 2017-10-02 18:39:25 +02:00
Jose Ivan Vargas b4af546820 Merge branch 'master' into sh-headless-chrome-support 2017-09-26 12:14:42 -05:00
Vitaliy @blackst0ne Klachkov 0d236638b6 Improve list of sorting options 2017-09-23 11:46:53 +11:00
Jose Ivan Vargas 4c0beb6c02 Merge branch 'master' into sh-headless-chrome-support 2017-09-13 12:21:33 -05:00
Mike Greiling 03b14b48a0 Resolve "Make project and features visibility settings less confusing" 2017-09-07 18:07:40 +00:00
Phil Hughes e58750dd08 fixed spinach specs 2017-09-06 16:59:57 +01:00
Phil Hughes 4720d0394a spec fixes 2017-09-06 15:10:53 +01:00
Phil Hughes c56100b3ec Add top level items to fly-out navigation
This only appears when in the collapsed sidebar. If the sidebar is expanded, then these items are hidden & no fly-out navigation is displayed.

Closes #36294
2017-09-06 14:54:17 +01:00
Stan Hu 41e5ec8f74 Merge branch 'master' into sh-headless-chrome-support 2017-09-05 11:33:09 -07:00
Jose Ivan Vargas b623807682 Merge branch 'master' of gitlab.com:gitlab-org/gitlab-ce 2017-09-03 16:09:59 -05:00
Jacob Schatz 8100274518 Merge branch 'issue-discussions-refactor' into 'master'
Issue discussions Vue refactor

See merge request !12069
2017-09-02 11:55:18 +00:00
Stan Hu f045903541 Merge branch 'master' into sh-headless-chrome-support 2017-08-31 20:50:05 -07:00
Douwe Maan eacda4cc98 Merge branch '36743-existing-repo-master' into 'master'
[master] Prevent project creation (blank, import or fork) when repository already exists on disk

See merge request gitlab/gitlabhq!2169
2017-08-31 07:03:12 +00:00
Phil Hughes aab5d55090 more spinach fixes 2017-08-30 12:36:04 +01:00
Phil Hughes 903e1a305c spinach test updates 2017-08-30 12:33:06 +01:00
Douwe Maan b181d3124e Merge branch 'master' into issue-discussions-refactor
# Conflicts:
#	app/models/issue.rb
2017-08-30 10:14:56 +02:00
Phil Hughes d0d918c765 layout-nav test check fix 2017-08-29 15:35:49 +01:00
Gabriel Mazetto 8f178c4222 Prevent new / renamed project from using a repository path that already exists on disk
There are some redundancies in the validation steps, and that is to
preserve current error messages behavior

Also few specs have to be changed in order to fix madness in validation
logic.
2017-08-25 20:06:06 +02:00
blackst0ne ec1ec9b67a Replace 'source/search_code.feature' spinach test with an rspec analog 2017-08-25 08:54:50 +11:00
Douwe Maan 834f1b30d5 Merge branch 'master' into issue-discussions-refactor
# Conflicts:
#	package.json
#	spec/support/features/reportable_note_shared_examples.rb
2017-08-17 14:01:31 +02:00
Stan Hu d3e8167382 Merge branch 'master' into sh-headless-chrome-support 2017-08-16 00:48:48 -07: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
Stan Hu 247138d4f6 Accept the confirm modal to make comment on commit spec to pass 2017-08-13 15:55:36 -07:00
Stan Hu 07f8105f97 Merge branch 'master' into sh-headless-chrome-support 2017-08-11 23:22:20 -07:00
Stan Hu 08172ff595 Expand Spinach window size and remove unsupported trigger calls 2017-08-11 23:02:21 -07:00
Filipa Lacerda e93214bce6 Merge branch 'master' into issue-discussions-refactor
* master: (66 commits)
  fix confidential border issue as well as confidential styles leaking on new MR
  Migrate force push check to Gitaly
  Add option to disable project export on instance
  Better categorize test coverage results
  Add option to disable project export on instance - db changes
  Better caching and indexing of broadcast messages
  Include the `is_admin` field in the `GET /users/:id` API when current user is an admin
  Document rspec-retry and rspec-flaky
  Fix cop description
  Retrieve and sync flaky specs report from and to S3
  Use a new RspecFlakyListener to detect flaky specs
  Fix formatting of patch_versions.md [skip ci]
  Enable Timecop safe mode
  Show error message for API 500 error in tests, and
  Fix merge request diff deserialisation when too_large was absent
  Delete correct key from `session` after authenticating using U2F
  Bumps omniauth-ldap gem version to 2.0.4
  Pending delete projects no longer return 500 error in Admins projects view
  Do not run the `ee_compat_check` job for stableish branches
  Update gitlab.po: Missing 'r' in "Fouché" that comes from "Fourcher" verb.
  ...
2017-08-12 00:17:48 +01:00
Filipa Lacerda b96a3d4d60 Fix open discussions
Put back deleted tests
2017-08-11 15:54:56 +01:00
Filipa Lacerda ea448039c8 Fix broken tests 2017-08-10 18:36:39 +01:00
Filipa Lacerda 2faf28fe1c Remove forgotten fdescribe 2017-08-10 17:30:59 +01: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
Stan Hu 09baadca34 Merge branch 'master' into sh-headless-chrome-support 2017-08-09 15:57:52 -07: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
Stan Hu 408df2edcb Merge branch 'master' into sh-headless-chrome-support 2017-08-02 16:58:28 -07:00