hugo-sandstorm/bin/upgrade_hugo

51 lines
1.1 KiB
Ruby
Executable File

#!/usr/bin/env ruby
require 'httparty'
require 'time'
version = ARGV[0]
unless version
puts "Usage: #{$0} <version>"
exit 1
end
verify_url = "https://github.com/gohugoio/hugo/releases/download/v#{version}/hugo_extended_#{version}_linux-amd64.deb"
response = HTTParty.get(verify_url)
unless response.code >= 200 && response.code < 300
puts 'Error verifying release exists!'
puts " URL checked: #{verify_url}"
puts " Response code: #{response.code}"
exit 1
end
puts "#{version} exists, updating files"
today = Time.now.strftime('%Y-%m-%d')
File.open('hugo-version', 'w') { |fh| fh.puts version }
File.open('.sandstorm/app-marketing-version', 'w') { |fh| fh.puts "#{version}~#{today}" }
lines = File.readlines('.sandstorm/sandstorm-pkgdef.capnp')
lines = lines.map do |line|
next line unless line['appVersion']
line.gsub(/= ([0-9]+),/) { |_m| "= #{Regexp.last_match(1).to_i + 1}," }
end
File.open('.sandstorm/sandstorm-pkgdef.capnp', 'w') { |fh| fh.print lines.join }
puts <<~TXT
Now do this:
* bin/test_hugo
* Test fresh install
* bin/pack_hugo
* Test upgrade install
TXT