diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..4e24613 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,42 @@ +stages: + - test + +default: + before_script: + - apt-get -qq update + - apt-get install -y gnupg2 gettext git subversion + - gem update --system --quiet + - gem update bundler + - bundle install + - gem install minitest-junit simplecov-cobertura + artifacts: + reports: + junit: report.xml + cobertura: coverage/coverage.xml + paths: + - report.xml + - coverage/coverage.xml + +variables: + TESTOPT: '--junit --pride' + LANG: 'C.UTF-8' # container has no LANG by default which messes with ruby's utf8 support + +test:2.4: + image: ruby:2.4 + script: + - rake test + +test:2.5: + image: ruby:2.5 + script: + - rake test + +test:2.6: + image: ruby:2.6 + script: + - rake test + +test:2.7: + image: ruby:2.7 + script: + - rake test diff --git a/releaseme.gemspec b/releaseme.gemspec index e24c95a..2168874 100644 --- a/releaseme.gemspec +++ b/releaseme.gemspec @@ -1,58 +1,57 @@ # coding: utf-8 lib = File.expand_path('../lib', __FILE__) $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) Gem::Specification.new do |spec| spec.name = 'releaseme' spec.version = '0.0' spec.authors = ['Harald Sitter'] spec.email = ['sitter@kde.org'] spec.summary = 'KDE tarball release tool' spec.description = 'Helps with releasing KDE software as source code tarballs' spec.homepage = 'https://phabricator.kde.org/source/releaseme/' # Prevent pushing this gem to RubyGems.org. To allow pushes either set the # 'allowed_push_host' to allow pushing to a single host or delete this section # to allow pushing to any host. if spec.respond_to?(:metadata) spec.metadata['allowed_push_host'] = "TODO: Set to 'http://mygemserver.com'" else raise 'RubyGems 2.0 or newer is required to protect against ' \ 'public gem pushes.' end spec.files = `git ls-files -z`.split("\x0") rejected_files = spec.files.find_all do |f| f.match(%r{^(test|spec|features)/}) || (f.match(%r{^lib/[^/]+.rb}) && !f.match(%r{^lib/releaseme.rb})) end spec.files -= rejected_files # When run through bundler AND in a Gem search path mangle the working # directory. if File.basename($PROGRAM_NAME).include?('bundle') && (Gem.path.any? { |x| Dir.pwd.start_with?(x) } || Dir.pwd.include?('.bundler/') || Dir.pwd.include?('.bundle/')) warn "Mangling releaseme gem as it is in a gem search path #{Dir.pwd}" FileUtils.rm_rf(rejected_files, verbose: true) end spec.require_paths = ['lib'] spec.add_development_dependency 'bundler' # Development spec.add_development_dependency 'rake', '~> 10.0' # Documentation spec.add_development_dependency 'rdoc' spec.add_development_dependency 'yard' # Testing spec.add_development_dependency 'minitest' spec.add_development_dependency 'mocha' spec.add_development_dependency 'webmock' # Coverage - spec.add_development_dependency 'coveralls_reborn' spec.add_development_dependency 'simplecov', '>= 0.11' # Quality spec.add_development_dependency 'rubocop' end diff --git a/test/test_helper.rb b/test/test_helper.rb index 71aea5b..9f9f39c 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -1,26 +1,26 @@ require 'simplecov' formatters = [] begin - require 'coveralls' - formatters << Coveralls::SimpleCov::Formatter + require 'simplecov-cobertura' + formatters << SimpleCov::Formatter::CoberturaFormatter rescue LoadError - warn 'coveralls reporter not available, not sending reports to server' + warn 'simplecov-cobertura reporter not available' end # HTML formatter. formatters << SimpleCov::Formatter::HTMLFormatter SimpleCov.start do formatter SimpleCov::Formatter::MultiFormatter.new(formatters) add_filter do |src| # Special compat file for testing the compat code itself. next false if File.basename(src.filename) == 'compat_compat.rb' next false if File.basename(src.filename) == 'releaseme.rb' src.filename.match(%r{.+/lib/[^/]+.rb}) end end # $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__) require 'minitest/autorun'