From 3e17c6bc680d57d07b51719be5b9aff20b0114b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ana=20Mar=C3=ADa=20Mart=C3=ADnez=20G=C3=B3mez?= Date: Mon, 6 Mar 2017 16:35:12 +0100 Subject: [PATCH 1/3] [ci] Enable Rails/Exit Rubocop cop --- src/api/.rubocop.yml | 6 ++++++ src/api/.rubocop_todo.yml | 10 ---------- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/src/api/.rubocop.yml b/src/api/.rubocop.yml index 0e0c254684d..1a88bdd332e 100644 --- a/src/api/.rubocop.yml +++ b/src/api/.rubocop.yml @@ -222,6 +222,12 @@ Performance/StringReplacement: Rails: Enabled: true + +# Enforces that 'exit' calls are not used. +Rails/Exit: + Exclude: + - 'lib/memory_dumper.rb' + - 'config/deploy.rb' # Use `find_by` instead `where.first` and `where.take` Rails/FindBy: diff --git a/src/api/.rubocop_todo.yml b/src/api/.rubocop_todo.yml index 0a568df8bcd..ef174dc3715 100644 --- a/src/api/.rubocop_todo.yml +++ b/src/api/.rubocop_todo.yml @@ -133,16 +133,6 @@ Performance/CompareWithBlock: Rails/DynamicFindBy: Enabled: false -# Offense count: 4 -# Configuration parameters: Include. -# Include: app/**/*.rb, config/**/*.rb, lib/**/*.rb -Rails/Exit: - Exclude: - - 'lib/**/*.rake' - - 'app/jobs/consistency_check.rb' - - 'config/deploy.rb' - - 'lib/memory_dumper.rb' - # Offense count: 126 Rails/FilePath: Enabled: false From d0f134095a648ac76c831fd6aa8eb68a9dd4b1c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ana=20Mar=C3=ADa=20Mart=C3=ADnez=20G=C3=B3mez?= Date: Mon, 6 Mar 2017 16:35:38 +0100 Subject: [PATCH 2/3] [ci] Correct Rails/Exit cop offenses --- src/api/app/jobs/consistency_check.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/api/app/jobs/consistency_check.rb b/src/api/app/jobs/consistency_check.rb index 298e8776837..1a066abddad 100644 --- a/src/api/app/jobs/consistency_check.rb +++ b/src/api/app/jobs/consistency_check.rb @@ -48,7 +48,7 @@ def check_project(fix = nil) init if ENV['project'].blank? puts "Please specify the project with 'project=MyProject' on CLI" - exit(1) + return end begin project = Project.get_by_name(ENV['project']) From f86dfe8a28afaa8bca7e74028c54970f91867a89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ana=20Mar=C3=ADa=20Mart=C3=ADnez=20G=C3=B3mez?= Date: Tue, 14 Mar 2017 09:12:44 +0100 Subject: [PATCH 3/3] [ci] Remove unused file: config/deploy.rb --- src/api/.rubocop.yml | 1 - src/api/.rubocop_todo.yml | 2 - src/api/Capfile | 3 - src/api/config/deploy.rb | 129 -------------------------------------- 4 files changed, 135 deletions(-) delete mode 100644 src/api/Capfile delete mode 100644 src/api/config/deploy.rb diff --git a/src/api/.rubocop.yml b/src/api/.rubocop.yml index 1a88bdd332e..767e333a6c7 100644 --- a/src/api/.rubocop.yml +++ b/src/api/.rubocop.yml @@ -227,7 +227,6 @@ Rails: Rails/Exit: Exclude: - 'lib/memory_dumper.rb' - - 'config/deploy.rb' # Use `find_by` instead `where.first` and `where.take` Rails/FindBy: diff --git a/src/api/.rubocop_todo.yml b/src/api/.rubocop_todo.yml index ef174dc3715..8973ab58db3 100644 --- a/src/api/.rubocop_todo.yml +++ b/src/api/.rubocop_todo.yml @@ -674,7 +674,6 @@ Style/PercentLiteralDelimiters: - 'app/controllers/source_controller.rb' - 'app/controllers/webui/monitor_controller.rb' - 'app/models/package.rb' - - 'config/deploy.rb' - 'config/initializers/hoptoad.rb' - 'lib/engines/base.rb' - 'script/start_test_backend' @@ -923,7 +922,6 @@ Style/StringLiteralsInInterpolation: - 'app/models/binary_release.rb' - 'app/models/full_text_search.rb' - 'app/models/issue_tracker.rb' - - 'config/deploy.rb' - 'db/checker.rb' - 'lib/activexml/transport.rb' - 'lib/tasks/cleanup_sessions.rake' diff --git a/src/api/Capfile b/src/api/Capfile deleted file mode 100644 index 85817f02641..00000000000 --- a/src/api/Capfile +++ /dev/null @@ -1,3 +0,0 @@ -load 'deploy' if respond_to?(:namespace) # cap2 differentiator -Dir['vendor/plugins/*/recipes/*.rb'].each { |plugin| load(plugin) } -load 'config/deploy' diff --git a/src/api/config/deploy.rb b/src/api/config/deploy.rb deleted file mode 100644 index fda1d4fcb4e..00000000000 --- a/src/api/config/deploy.rb +++ /dev/null @@ -1,129 +0,0 @@ -require 'net/smtp' - -depend :local, :gem, 'capistrano', '>=2.11.2' - -set :application, "obs-api" - -# git settings -set :scm, :git -set :repository, "git://github.com/openSUSE/open-build-service.git" -set :branch, "2.3" -set :deploy_via, :remote_cache -set :git_enable_submodules, 1 -set :git_subdir, '/src/api' -set :migrate_target, :current - -set :deploy_notification_to, %w(tschmidt@suse.de coolo@suse.de adrian@suse.de saschpe@suse.de mls@suse.de) -server "buildserviceapi.suse.de", :app, :web, :db, primary: true - -# If you aren't deploying to /u/apps/#{application} on the target -# servers (which is the default), you can specify the actual location -# via the :deploy_to variable: -set :deploy_to, "/srv/www/vhosts/opensuse.org/#{application}" - -# set variables for different target deployments -task :stage do - set :deploy_to, "/srv/www/vhosts/opensuse.org/stage/#{application}" -end -task :ibs do -end - -ssh_options[:forward_agent] = true -default_run_options[:pty] = true -set :normalize_asset_timestamps, false - -# tasks are run with this user -set :user, "root" -# spinner is run with this user -set :runner, "root" - -after "deploy:update_code", "config:symlink_shared_config" -after "deploy:create_symlink", "config:permissions" - -before "deploy:update_code", "deploy:test_suite" - -# workaround because we are using a subdirectory of the git repo as rails root -before "deploy:finalize_update", "deploy:use_subdir" -after "deploy:finalize_update", "deploy:reset_subdir" -after "deploy:finalize_update", "deploy:notify" - -after :deploy, 'deploy:cleanup' # only keep 5 releases - -namespace :config do - desc "Install saved configs from /shared/ dir" - task :symlink_shared_config do - run "ln -s #{shared_path}/options.yml #{release_path}#{git_subdir}/config/" - run "ln -s #{shared_path}/secret.key #{release_path}#{git_subdir}/config/" - run "ln -s #{shared_path}/database.yml #{release_path}#{git_subdir}/config/" - run "ln -s #{shared_path}/distributions.xml #{release_path}#{git_subdir}/files" - run "rm #{release_path}#{git_subdir}/config/environments/production.rb" - run "ln -s #{shared_path}/production.rb #{release_path}#{git_subdir}/config/environments/production.rb" - date = %x(date +%Y%m%d%H%M) - run "sed -i 's,^API_DATE.*,API_DATE = \"#{date.chomp}\",' #{release_path}#{git_subdir}/config/environments/production.rb" - end - - desc "Set permissions" - task :permissions do - run "chown -R apirun #{current_path}/tmp" - end -end - -# server restarting -namespace :deploy do - task :restart do - run "touch #{current_path}/tmp/restart.txt" - run "/etc/init.d/obsapidelayed restart" - end - - task :use_subdir do - set :latest_release_bak, latest_release - set :latest_release, "#{latest_release}#{git_subdir}" - run "cp #{latest_release_bak}/REVISION #{latest_release}" - end - - task :reset_subdir do - set :latest_release, latest_release_bak - end - - task :create_symlink, except: { no_release: true } do - on_rollback do - if previous_release - run "rm -f #{current_path}; ln -s #{previous_release}#{git_subdir} #{current_path}; true" - else - logger.important "no previous release to rollback to, rollback of symlink skipped" - end - end - - run "rm -f #{current_path} && ln -s #{latest_release}#{git_subdir} #{current_path}" - end - - desc "Send email notification of deployment" - task :notify do - # diff = `#{source.local.diff(current_revision)}` - diff_log = %x(#{source.local.log(source.next_revision(current_revision), branch)}) - user = %x(whoami) - body = %[From: obs-api-deploy@suse.de -To: #{deploy_notification_to.join(", ")} -Subject: obs-api deployed by #{user} - -Git log: -#{diff_log}] - - Net::SMTP.start('relay.suse.de', 25) do |smtp| - smtp.send_message body, 'obs-api-deploy@suse.de', deploy_notification_to - end - end - - task :test_suite do - Dir.glob('**/*.rb').each do |f| - unless system("ruby -c -d #{f} > /dev/null") - puts "syntax error in #{f} - will not deploy" - exit 1 - end - end - unless system("rails test") - puts "Error on rails test - will not deploy" - exit 1 - end - end -end