.github/workflows/utils.rb in xot-0.1.31 vs .github/workflows/utils.rb in xot-0.1.32

- old
+ new

@@ -1,24 +1,32 @@ +RENAMES = {reflex: 'reflexion'} + def sh(cmd) puts cmd system cmd end def setup_dependencies(build: true, only: nil) gemspec_path = `git ls-files`.lines(chomp: true).find {|l| l =~ /\.gemspec$/} - gemspec = File.read gemspec_path - name = File.basename gemspec_path, '.gemspec' + return unless gemspec_path + gemspec = File.read gemspec_path + name = File.basename gemspec_path, '.gemspec' + exts = File.readlines('Rakefile') .map {|l| l[%r|^\s*require\W+(\w+)/extension\W+$|, 1]} .compact .reject {|ext| ext == name} exts = exts & [only].flatten.map(&:to_s) if only exts.each do |ext| - ver = gemspec[/add_runtime_dependency.*'#{ext}'.*'\s*~>\s*([\d\.]+)\s*'/, 1] - url = "https://github.com/xord/#{ext}.git" - sh %( git clone --depth 1 --branch v#{ver} #{url} ../#{ext} ) + gem = RENAMES[ext.to_sym].then {|s| s || ext} + clone = "git clone --depth 1 https://github.com/xord/#{ext}.git ../#{ext}" + ver = gemspec[/add_runtime_dependency.*['"]#{gem}['"].*['"]\s*~>\s*([\d\.]+)\s*['"]/, 1] + + # 'rake subtree:push' pushes all subrepos, so cloning by new tag + # often fails before tagging each new tag + sh %( #{clone} --branch v#{ver} || #{clone} ) sh %( cd ../#{ext} && rake ext ) end end def tag_versions()