diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml index 77cd99a..963400b 100644 --- a/.github/release-drafter.yml +++ b/.github/release-drafter.yml @@ -1,5 +1,5 @@ -name-template: '$NEXT_MINOR_VERSION' -tag-template: '$NEXT_MINOR_VERSION' +name-template: '$NEXT_PATCH_VERSION' +tag-template: '$NEXT_PATCH_VERSION' categories: - title: '🚀 New Features' label: 'type:new feature' diff --git a/Gemfile b/Gemfile index be173b2..32df12b 100644 --- a/Gemfile +++ b/Gemfile @@ -2,4 +2,25 @@ source "https://rubygems.org" -gemspec +gem "bundler", "~> 2.1.2" + +gem "allure-cucumber", path: "allure-cucumber" +gem "allure-rspec", path: "allure-rspec" +gem "allure-ruby-commons", path: "allure-ruby-commons" + +group :development do + gem "colorize", "~> 0.8.1" + gem "lefthook", "~> 0.7.0" + gem "pry", "~> 0.12.2" + gem "rake", "~> 13.0.1" + gem "semantic", "~> 1.6.1" + gem "solargraph", "~> 0.38.5" +end + +group :test do + gem "rspec", "~> 3.9.0" + gem "rubocop", "~> 0.80.0" + gem "rubocop-performance", "~> 1.5.2" + gem "simplecov", "~> 0.17.1" + gem "simplecov-console", "~> 0.6.0" +end diff --git a/Gemfile.lock b/Gemfile.lock index bc136c4..61c0022 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,17 +1,21 @@ PATH - remote: . + remote: allure-cucumber specs: allure-cucumber (2.13.4) allure-ruby-commons (= 2.13.4) cucumber (~> 3.1) + +PATH + remote: allure-rspec + specs: allure-rspec (2.13.4) allure-ruby-commons (= 2.13.4) rspec-core (~> 3.8) ruby2_keywords (~> 0.0.2) - allure-ruby (2.13.4) - allure-cucumber (= 2.13.4) - allure-rspec (= 2.13.4) - allure-ruby-commons (= 2.13.4) + +PATH + remote: allure-ruby-commons + specs: allure-ruby-commons (2.13.4) json (>= 1.8, < 3) mime-types (~> 3.3) @@ -139,7 +143,9 @@ PLATFORMS ruby DEPENDENCIES - allure-ruby! + allure-cucumber! + allure-rspec! + allure-ruby-commons! bundler (~> 2.1.2) colorize (~> 0.8.1) lefthook (~> 0.7.0) diff --git a/allure.gemspec b/allure.gemspec deleted file mode 100644 index 6a7e4b0..0000000 --- a/allure.gemspec +++ /dev/null @@ -1,35 +0,0 @@ -# frozen_string_literal: true - -version = File.read(File.expand_path("ALLURE_VERSION", __dir__)).strip - -Gem::Specification.new do |s| - s.platform = Gem::Platform::RUBY - s.name = "allure-ruby" - s.version = version - s.summary = "Allure ruby commons and ruby testing framework adaptors" - - s.required_ruby_version = ">= 2.5.0" - - s.license = "Apache-2.0" - - s.author = "Andrejs Cunskis" - s.email = "andrejs.cunskis@gmail.com" - s.homepage = "http://allure.qatools.ru" - - s.add_dependency "allure-ruby-commons", version - s.add_dependency "allure-cucumber", version - s.add_dependency "allure-rspec", version - - s.add_development_dependency "bundler", "~> 2.1.2" - s.add_development_dependency "pry", "~> 0.12.2" - s.add_development_dependency "rake", "~> 13.0.1" - s.add_development_dependency "rspec", "~> 3.9.0" - s.add_development_dependency "rubocop", "~> 0.80.0" - s.add_development_dependency "rubocop-performance", "~> 1.5.2" - s.add_development_dependency "solargraph", "~> 0.38.5" - s.add_development_dependency "colorize", "~> 0.8.1" - s.add_development_dependency "simplecov", "~> 0.17.1" - s.add_development_dependency "simplecov-console", "~> 0.6.0" - s.add_development_dependency "semantic", "~> 1.6.1" - s.add_development_dependency "lefthook", "~> 0.7.0" -end diff --git a/lib/task_helpers/release_util.rb b/lib/task_helpers/release_util.rb new file mode 100644 index 0000000..ef5e761 --- /dev/null +++ b/lib/task_helpers/release_util.rb @@ -0,0 +1,44 @@ +# frozen_string_literal: true + +require "semantic" + +require_relative "util" + +class VersionUpdater + extend TaskUtil + extend Rake::DSL + + class << self + def update(increment, push) + @version = Semantic::Version.new(File.read("#{root}/ALLURE_VERSION").strip) + @new_version = @version.increment!(increment || "patch") + + update_allure_version + update_lock + commit + push_to_origin if push + end + + private + + def update_allure_version + File.write("#{root}/ALLURE_VERSION", @new_version, mode: "w") + end + + def update_lock + lockfile = "#{root}/Gemfile.lock" + File.write(lockfile, File.read(lockfile).gsub(/#{@version}/, @new_version.to_s), mode: "w") + end + + def commit + puts "Updating version to #{@new_version}".yellow + sh("git commit ALLURE_VERSION Gemfile.lock -m 'Update allure to v#{@new_version}'") + sh("git tag #{@new_version}") + end + + def push_to_origin + puts "Pushing changes to repository".yellow + sh("git push origin HEAD && git push origin #{@new_version}") + end + end +end diff --git a/lib/task_helpers/util.rb b/lib/task_helpers/util.rb index 04c7c24..8d370ae 100644 --- a/lib/task_helpers/util.rb +++ b/lib/task_helpers/util.rb @@ -1,8 +1,6 @@ # frozen_string_literal: true require "colorize" -require "rake" -require "semantic" module TaskUtil def root @@ -12,8 +10,4 @@ def root def adaptors @adaptors ||= Dir.glob("allure-*").select { |f| File.directory?(f) } end - - def version - Semantic::Version.new(File.read("#{root}/ALLURE_VERSION").strip) - end end diff --git a/lib/tasks/release.rake b/lib/tasks/release.rake index f0bc5d5..36de8ad 100644 --- a/lib/tasks/release.rake +++ b/lib/tasks/release.rake @@ -1,6 +1,9 @@ # frozen_string_literal: true -require_relative "../task_helpers/util" +require "rake" + +require_relative "../task_helpers/util.rb" +require_relative "../task_helpers/release_util.rb" class ReleaseTasks include Rake::DSL @@ -19,10 +22,7 @@ class ReleaseTasks def add_version_bump_task desc "Update allure version" task :version, [:increment, :push] do |_task, args| - File.write("#{root}/ALLURE_VERSION", version.increment!(args[:increment] || "patch"), mode: "w") - - commit - push if args[:push] + VersionUpdater.update(args[:increment], args[:push]) end end @@ -59,17 +59,6 @@ class ReleaseTasks task release: adaptors.map { |adaptor| "#{adaptor}:release" } end end - - def commit - puts "Updating version to #{version}".yellow - sh("git commit ALLURE_VERSION -m 'Update allure to v#{version}'") - sh("git tag #{version}") - end - - def push - puts "Pushing changes to repository".yellow - sh("git push origin HEAD && git push origin #{version}") - end end ReleaseTasks.new