class Object

Public Instance Methods

gemika() click to toggle source

Rake tasks to run commands for each compatible row in the test matrix.

# File lib/gemika/tasks/gemika.rb, line 7
namespace :gemika do

  desc "Generate a github action workflow from a .travis.yml"
  task :generate_github_actions_workflow do
    puts Gemika::Matrix.generate_github_actions_workflow.to_yaml
  end

end
matrix() click to toggle source

Rake tasks to run commands for each compatible row in the test matrix.

# File lib/gemika/tasks/matrix.rb, line 8
namespace :matrix do

  desc "Run specs for all Ruby #{RUBY_VERSION} gemfiles"
  task :spec, :files do |t, options|
    Gemika::Matrix.from_ci_config.each do |row|
      options = options.to_hash.merge(
        :gemfile => row.gemfile,
        :fatal => false,
        :bundle_exec => true
      )
      Gemika::RSpec.run_specs(options)
    end
  end

  desc "Install all Ruby #{RUBY_VERSION} gemfiles"
  task :install do
    Gemika::Matrix.from_ci_config.each do |row|
      system('bundle install')
    end
  end

  desc "List dependencies for all Ruby #{RUBY_VERSION} gemfiles"
  task :list do
    Gemika::Matrix.from_ci_config.each do |row|
      system('bundle list')
    end
  end

  desc "Update all Ruby #{RUBY_VERSION} gemfiles"
  task :update, :gems do |t, options|
    Gemika::Matrix.from_ci_config.each do |row|
      system("bundle update #{options[:gems]}")
    end
  end

end