Commit 68436fef authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

Merge remote-tracking branch 'ee-com/master' into ce-to-ee

Signed-off-by: default avatarDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
parents 976adcf5 68d902bb
This diff is collapsed.
---
title: Add metrics events for incoming emails
merge_request:
author:
......@@ -25,6 +25,7 @@ development:
pool: 5
username: root
password: "secure password"
# host: localhost
# socket: /tmp/mysql.sock
# Warning: The database defined as "test" will be erased and
......@@ -39,4 +40,5 @@ test: &test
pool: 5
username: root
password:
# host: localhost
# socket: /tmp/mysql.sock
......@@ -25,6 +25,7 @@ development:
pool: 5
username: postgres
password:
# host: localhost
#
# Staging specific
......@@ -36,6 +37,7 @@ staging:
pool: 5
username: postgres
password:
# host: localhost
# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
......@@ -47,3 +49,4 @@ test: &test
pool: 5
username: postgres
password:
# host: localhost
......@@ -28,6 +28,7 @@ development:
pool: 5
username: root
password: "secure password"
# host: localhost
# socket: /tmp/mysql.sock
# Warning: The database defined as "test" will be erased and
......@@ -42,5 +43,6 @@ test: &test
pool: 5
username: root
password:
# host: localhost
# socket: /tmp/mysql.sock
......@@ -21,6 +21,7 @@ development:
pool: 5
username: postgres
password:
# host: localhost
#
# Staging specific
......@@ -32,6 +33,7 @@ staging:
pool: 5
username: postgres
password:
# host: localhost
# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
......@@ -43,3 +45,4 @@ test: &test
pool: 5
username: postgres
password:
# host: localhost
......@@ -38,7 +38,7 @@ if Rails.env.test?
end
end
if ENV.has_key?('CI')
if ENV.has_key?('CI') && ENV['GITLAB_DATABASE'] == 'postgresql'
RspecProfiling::VCS::Git.prepend(RspecProfilingExt::Git)
RspecProfiling::Run.prepend(RspecProfilingExt::Run)
end
......
......@@ -15,6 +15,9 @@ By default, a protected branch does four simple things:
- it prevents **anyone** from force pushing to the branch
- it prevents **anyone** from deleting the branch
**Note**: A GitLab admin is allowed to push to the protected branches.
See the [Changelog](#changelog) section for changes over time.
>
......
......@@ -16,6 +16,10 @@ module Gitlab
def execute
raise NotImplementedError
end
def metrics_params
{ handler: self.class.name }
end
end
end
end
......
require 'gitlab/email/handler/base_handler'
module Gitlab
......@@ -37,6 +36,10 @@ module Gitlab
@project ||= Project.find_by_full_path(project_path)
end
def metrics_params
super.merge(project: project)
end
private
def create_issue
......
......@@ -28,6 +28,10 @@ module Gitlab
record_name: 'comment')
end
def metrics_params
super.merge(project: project)
end
private
def author
......
......@@ -16,6 +16,10 @@ module Gitlab
send_thank_you_email! if from_address
end
def metrics_params
super.merge(project: project)
end
private
def service_desk_key
......
......@@ -19,6 +19,10 @@ module Gitlab
noteable.unsubscribe(sent_notification.recipient)
end
def metrics_params
super.merge(project: project)
end
private
def sent_notification
......
require_dependency 'gitlab/email/handler'
# Inspired in great part by Discourse's Email::Receiver
......@@ -32,9 +31,7 @@ module Gitlab
raise UnknownIncomingEmail unless handler
Gitlab::Metrics.add_event(:receive_email,
project: handler.try(:project),
handler: handler.class.name)
Gitlab::Metrics.add_event(:receive_email, handler.metrics_params)
handler.execute
end
......
#!/bin/sh
retry() {
if eval "$@"; then
return 0
fi
. scripts/utils.sh
for i in 2 1; do
sleep 3s
echo "Retrying $i..."
if eval "$@"; then
return 0
fi
done
return 1
}
export SETUP_DB=${SETUP_DB:-true}
export USE_BUNDLE_INSTALL=${USE_BUNDLE_INSTALL:-true}
export BUNDLE_INSTALL_FLAGS="--without production --jobs $(nproc) --path vendor --retry 3 --quiet"
# Determine the database by looking at the job name.
# For example, we'll get pg if the job is `rspec pg 19 20`
export GITLAB_DATABASE=$(echo $CI_JOB_NAME | cut -f2 -d' ')
# This would make the default database postgresql, and we could also use
# pg to mean postgresql.
if [ "$GITLAB_DATABASE" != 'mysql' ]; then
export GITLAB_DATABASE='postgresql'
fi
cp config/database.yml.$GITLAB_DATABASE config/database.yml
# EE-only
cp config/database_geo.yml.$GITLAB_DATABASE config/database_geo.yml
if [ "$GITLAB_DATABASE" = 'postgresql' ]; then
sed -i 's/# host:.*/host: postgres/g' config/database.yml
cp config/database.yml.mysql config/database.yml
sed -i 's/username:.*/username: root/g' config/database.yml
sed -i 's/password:.*/password:/g' config/database.yml
sed -i 's/# socket:.*/host: mysql/g' config/database.yml
# EE-only
sed -i 's/# host:.*/host: postgres/g' config/database_geo.yml
cp config/database_geo.yml.mysql config/database_geo.yml
sed -i 's/username:.*/username: root/g' config/database_geo.yml
sed -i 's/password:.*/password:/g' config/database_geo.yml
sed -i 's/# socket:.*/host: mysql/g' config/database_geo.yml
else # Assume it's mysql
sed -i 's/username:.*/username: root/g' config/database.yml
sed -i 's/password:.*/password:/g' config/database.yml
sed -i 's/# host:.*/host: mysql/g' config/database.yml
# EE-only
sed -i 's/username:.*/username: root/g' config/database_geo.yml
sed -i 's/password:.*/password:/g' config/database_geo.yml
sed -i 's/# host:.*/host: mysql/g' config/database_geo.yml
fi
cp config/resque.yml.example config/resque.yml
sed -i 's/localhost/redis/g' config/resque.yml
export FLAGS="--path vendor --retry 3 --quiet"
cp config/gitlab.yml.example config/gitlab.yml
if [ "$USE_BUNDLE_INSTALL" != "false" ]; then
retry bundle install --clean $BUNDLE_INSTALL_FLAGS
fi
# Only install knapsack after bundle install! Otherwise oddly some native
# gems could not be found under some circumstance. No idea why, hours wasted.
retry gem install knapsack fog-aws mime-types
if [ "$SETUP_DB" != "false" ]; then
bundle exec rake db:drop db:create db:schema:load db:migrate
if [ "$GITLAB_DATABASE" = "mysql" ]; then
bundle exec rake add_limits_mysql
fi
# EE-only
bundle exec rake geo:db:drop geo:db:create geo:db:schema:load geo:db:migrate
fi
retry() {
if eval "$@"; then
return 0
fi
for i in 2 1; do
sleep 3s
echo "Retrying $i..."
if eval "$@"; then
return 0
fi
done
return 1
}
......@@ -222,22 +222,6 @@ describe API::Internal, api: true do
end
end
context 'with env passed as a JSON' do
it 'sets env in RequestStore' do
expect(Gitlab::Git::Env).to receive(:set).with({
'GIT_OBJECT_DIRECTORY' => 'foo',
'GIT_ALTERNATE_OBJECT_DIRECTORIES' => 'bar'
})
push(key, project.wiki, env: {
GIT_OBJECT_DIRECTORY: 'foo',
GIT_ALTERNATE_OBJECT_DIRECTORIES: 'bar'
}.to_json)
expect(response).to have_http_status(200)
end
end
context "git push with project.wiki" do
it 'responds with success' do
push(key, project.wiki)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment