Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
gitlab-ce
Commits
ffa38df4
Commit
ffa38df4
authored
Aug 13, 2019
by
GitLab Bot
Browse files
Options
Browse Files
Download
Plain Diff
Automatic merge of gitlab-org/gitlab-ce master
parents
c4f7ce84
0abe5393
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
51 additions
and
15 deletions
+51
-15
app/workers/post_receive.rb
app/workers/post_receive.rb
+1
-0
changelogs/unreleased/id-source-code-smau.yml
changelogs/unreleased/id-source-code-smau.yml
+5
-0
lib/gitlab/usage_data.rb
lib/gitlab/usage_data.rb
+2
-1
lib/gitlab/usage_data_counters/source_code_counter.rb
lib/gitlab/usage_data_counters/source_code_counter.rb
+8
-0
spec/lib/gitlab/usage_data_counters/source_code_counter_spec.rb
...ib/gitlab/usage_data_counters/source_code_counter_spec.rb
+9
-0
spec/lib/gitlab/usage_data_spec.rb
spec/lib/gitlab/usage_data_spec.rb
+2
-1
spec/workers/post_receive_spec.rb
spec/workers/post_receive_spec.rb
+24
-13
No files found.
app/workers/post_receive.rb
View file @
ffa38df4
...
...
@@ -77,6 +77,7 @@ class PostReceive
def
after_project_changes_hooks
(
post_received
,
user
,
refs
,
changes
)
hook_data
=
Gitlab
::
DataBuilder
::
Repository
.
update
(
post_received
.
project
,
user
,
changes
,
refs
)
SystemHooksService
.
new
.
execute_hooks
(
hook_data
,
:repository_update_hooks
)
Gitlab
::
UsageDataCounters
::
SourceCodeCounter
.
count
(
:pushes
)
end
def
process_wiki_changes
(
post_received
)
...
...
changelogs/unreleased/id-source-code-smau.yml
0 → 100644
View file @
ffa38df4
---
title
:
Add usage pings for source code pushes
merge_request
:
31734
author
:
type
:
added
lib/gitlab/usage_data.rb
View file @
ffa38df4
...
...
@@ -142,7 +142,8 @@ module Gitlab
Gitlab
::
UsageDataCounters
::
WebIdeCounter
,
Gitlab
::
UsageDataCounters
::
NoteCounter
,
Gitlab
::
UsageDataCounters
::
SnippetCounter
,
Gitlab
::
UsageDataCounters
::
SearchCounter
Gitlab
::
UsageDataCounters
::
SearchCounter
,
Gitlab
::
UsageDataCounters
::
SourceCodeCounter
]
end
...
...
lib/gitlab/usage_data_counters/source_code_counter.rb
0 → 100644
View file @
ffa38df4
# frozen_string_literal: true
module
Gitlab::UsageDataCounters
class
SourceCodeCounter
<
BaseCounter
KNOWN_EVENTS
=
%w[pushes]
.
freeze
PREFIX
=
'source_code'
end
end
spec/lib/gitlab/usage_data_counters/source_code_counter_spec.rb
0 → 100644
View file @
ffa38df4
# frozen_string_literal: true
require
'spec_helper'
describe
Gitlab
::
UsageDataCounters
::
SourceCodeCounter
do
it_behaves_like
'a redis usage counter'
,
'Source Code'
,
:pushes
it_behaves_like
'a redis usage counter with totals'
,
:source_code
,
pushes:
5
end
spec/lib/gitlab/usage_data_spec.rb
View file @
ffa38df4
...
...
@@ -71,7 +71,8 @@ describe Gitlab::UsageData do
web_ide_views:
a_kind_of
(
Integer
),
web_ide_commits:
a_kind_of
(
Integer
),
web_ide_merge_requests:
a_kind_of
(
Integer
),
navbar_searches:
a_kind_of
(
Integer
)
navbar_searches:
a_kind_of
(
Integer
),
source_code_pushes:
a_kind_of
(
Integer
)
)
end
...
...
spec/workers/post_receive_spec.rb
View file @
ffa38df4
...
...
@@ -14,6 +14,10 @@ describe PostReceive do
create
(
:project
,
:repository
,
auto_cancel_pending_pipelines:
'disabled'
)
end
def
perform
(
changes:
base64_changes
)
described_class
.
new
.
perform
(
gl_repository
,
key_id
,
changes
)
end
context
"as a sidekiq worker"
do
it
"responds to #perform"
do
expect
(
described_class
.
new
).
to
respond_to
(
:perform
)
...
...
@@ -28,7 +32,7 @@ describe PostReceive do
it
"returns false and logs an error"
do
expect
(
Gitlab
::
GitLogger
).
to
receive
(
:error
).
with
(
"POST-RECEIVE:
#{
error_message
}
"
)
expect
(
described_class
.
new
.
perform
(
gl_repository
,
key_id
,
base64_changes
)
).
to
be
(
false
)
expect
(
perform
).
to
be
(
false
)
end
end
...
...
@@ -39,7 +43,7 @@ describe PostReceive do
expect
(
Git
::
TagPushService
).
not_to
receive
(
:new
)
expect_next_instance_of
(
SystemHooksService
)
{
|
service
|
expect
(
service
).
to
receive
(
:execute_hooks
)
}
described_class
.
new
.
perform
(
gl_repository
,
key_id
,
""
)
perform
(
changes:
""
)
end
end
...
...
@@ -50,7 +54,7 @@ describe PostReceive do
expect
(
Git
::
BranchPushService
).
not_to
receive
(
:new
)
expect
(
Git
::
TagPushService
).
not_to
receive
(
:new
)
expect
(
described_class
.
new
.
perform
(
gl_repository
,
key_id
,
base64_changes
)
).
to
be
false
expect
(
perform
).
to
be
false
end
end
...
...
@@ -81,7 +85,7 @@ describe PostReceive do
expect
(
Git
::
TagPushService
).
not_to
receive
(
:new
)
described_class
.
new
.
perform
(
gl_repository
,
key_id
,
base64_changes
)
perform
end
end
...
...
@@ -123,7 +127,7 @@ describe PostReceive do
expect
(
Git
::
BranchPushService
).
not_to
receive
(
:new
)
described_class
.
new
.
perform
(
gl_repository
,
key_id
,
base64_changes
)
perform
end
end
...
...
@@ -134,7 +138,7 @@ describe PostReceive do
expect
(
Git
::
BranchPushService
).
not_to
receive
(
:new
)
expect
(
Git
::
TagPushService
).
not_to
receive
(
:new
)
described_class
.
new
.
perform
(
gl_repository
,
key_id
,
base64_changes
)
perform
end
end
...
...
@@ -151,7 +155,7 @@ describe PostReceive do
let
(
:changes_count
)
{
changes
.
lines
.
count
}
subject
{
described_class
.
new
.
perform
(
gl_repository
,
key_id
,
base64_changes
)
}
subject
{
perform
}
context
"with valid .gitlab-ci.yml"
do
before
do
...
...
@@ -220,7 +224,13 @@ describe PostReceive do
it
'calls SystemHooksService'
do
expect_any_instance_of
(
SystemHooksService
).
to
receive
(
:execute_hooks
).
with
(
fake_hook_data
,
:repository_update_hooks
).
and_return
(
true
)
described_class
.
new
.
perform
(
gl_repository
,
key_id
,
base64_changes
)
perform
end
it
'increments the usage data counter of pushes event'
do
counter
=
Gitlab
::
UsageDataCounters
::
SourceCodeCounter
expect
{
perform
}.
to
change
{
counter
.
read
(
:pushes
)
}.
by
(
1
)
end
end
end
...
...
@@ -237,7 +247,7 @@ describe PostReceive do
# a second to ensure we see changes.
Timecop
.
freeze
(
1
.
second
.
from_now
)
do
expect
do
described_class
.
new
.
perform
(
gl_repository
,
key_id
,
base64_changes
)
perform
project
.
reload
end
.
to
change
(
project
,
:last_activity_at
)
.
and
change
(
project
,
:last_repository_updated_at
)
...
...
@@ -248,7 +258,8 @@ describe PostReceive do
context
"webhook"
do
it
"fetches the correct project"
do
expect
(
Project
).
to
receive
(
:find_by
).
with
(
id:
project
.
id
.
to_s
)
described_class
.
new
.
perform
(
gl_repository
,
key_id
,
base64_changes
)
perform
end
it
"does not run if the author is not in the project"
do
...
...
@@ -258,7 +269,7 @@ describe PostReceive do
expect
(
project
).
not_to
receive
(
:execute_hooks
)
expect
(
described_class
.
new
.
perform
(
gl_repository
,
key_id
,
base64_changes
)
).
to
be_falsey
expect
(
perform
).
to
be_falsey
end
it
"asks the project to trigger all hooks"
do
...
...
@@ -267,7 +278,7 @@ describe PostReceive do
expect
(
project
).
to
receive
(
:execute_hooks
).
twice
expect
(
project
).
to
receive
(
:execute_services
).
twice
described_class
.
new
.
perform
(
gl_repository
,
key_id
,
base64_changes
)
perform
end
it
"enqueues a UpdateMergeRequestsWorker job"
do
...
...
@@ -275,7 +286,7 @@ describe PostReceive do
expect
(
UpdateMergeRequestsWorker
).
to
receive
(
:perform_async
).
with
(
project
.
id
,
project
.
owner
.
id
,
any_args
)
described_class
.
new
.
perform
(
gl_repository
,
key_id
,
base64_changes
)
perform
end
end
end
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment