dyndnsd/Rakefile

45 lines
1.1 KiB
Ruby
Raw Normal View History

2020-03-06 21:33:29 +01:00
# frozen_string_literal: true
2013-04-27 14:07:14 +02:00
require 'bundler/gem_tasks'
require 'rspec/core/rake_task'
2018-02-23 11:13:28 +01:00
require 'rubocop/rake_task'
require 'bundler/audit/task'
2013-04-27 14:07:14 +02:00
RSpec::Core::RakeTask.new(:spec)
2018-02-23 11:13:28 +01:00
RuboCop::RakeTask.new
Bundler::Audit::Task.new
2013-04-27 14:07:14 +02:00
2020-02-28 15:13:28 +01:00
desc 'Run experimental solargraph type checker'
2020-08-22 12:20:23 +02:00
task :solargraph do
2020-02-28 15:13:28 +01:00
sh 'solargraph typecheck'
end
2020-08-22 12:20:23 +02:00
namespace :solargraph do
desc 'Should be run by developer once to prepare initial solargraph usage (fill caches etc.)'
task :init do
sh 'solargraph download-core'
end
end
desc 'Run hadolint for Dockerfile linting'
task :hadolint do
sh 'docker run --rm -i hadolint/hadolint:v1.18.0 hadolint --ignore DL3018 - < docker/Dockerfile'
end
2021-01-21 12:15:35 +01:00
desc 'Run experimental steep type checker'
task :steep do
sh 'steep check'
end
namespace :steep do
desc 'Output coverage stats from steep'
task :stats do
sh 'steep stats --log-level=fatal | awk -F\',\' \'{ printf "%-50s %-9s %-12s %-14s %-10s\n", $2, $3, $4, $5, $7 }\''
end
end
task default: [:rubocop, :spec, 'bundle:audit', :solargraph, :steep]
2020-02-28 15:13:28 +01:00
desc 'Run all tasks desired for CI'
task ci: ['solargraph:init', :default, :hadolint]