Commit d538d9648a1cd166d3646821679074396162616a

Authored by Antonio Terceiro
1 parent 05c19a06

better release tasks

Showing 1 changed file with 18 additions and 4 deletions   Show diff stats
lib/tasks/release.rake
@@ -121,6 +121,10 @@ EOF @@ -121,6 +121,10 @@ EOF
121 desc "uploads the packages to the repository" 121 desc "uploads the packages to the repository"
122 task :upload_packages, :target do |t, args| 122 task :upload_packages, :target do |t, args|
123 target = args[:target] || 'stable' 123 target = args[:target] || 'stable'
  124 + source = Dir['pkg/noosfero-*.tar.gz'].first
  125 + sh "gpg --detach-sign #{source}"
  126 + sh "sha256sum #{source} > #{source}.sha256sum"
  127 + sh "scp #{source}* download.noosfero.org:repos/source/"
124 sh "dput --unchecked noosfero-#{target} #{Dir['pkg/*.changes'].first}" 128 sh "dput --unchecked noosfero-#{target} #{Dir['pkg/*.changes'].first}"
125 end 129 end
126 130
@@ -189,6 +193,14 @@ EOF @@ -189,6 +193,14 @@ EOF
189 abort if missing 193 abort if missing
190 end 194 end
191 195
  196 + task :tag do
  197 + sh "git tag -s -m 'Noosfero #{$version}' #{$version.gsub('~','-')}"
  198 + end
  199 +
  200 + task :pushtag do
  201 + sh "git push origin #{$version.gsub('~','-')}"
  202 + end
  203 +
192 desc 'prepares a release tarball' 204 desc 'prepares a release tarball'
193 task :release, :target do |t, args| 205 task :release, :target do |t, args|
194 target = args[:target] 206 target = args[:target]
@@ -220,15 +232,14 @@ EOF @@ -220,15 +232,14 @@ EOF
220 Rake::Task['noosfero:debian_packages'].invoke 232 Rake::Task['noosfero:debian_packages'].invoke
221 233
222 if confirm("Create tag for version #{$version}") 234 if confirm("Create tag for version #{$version}")
223 - sh "git tag #{$version.gsub('~','-')}"  
224 - 235 + Rake::Task['noosfero:tag'].invoke
225 if confirm('Push new version tag') 236 if confirm('Push new version tag')
226 - repository = ask('Repository name', 'origin')  
227 puts "==> Uploading tags..." 237 puts "==> Uploading tags..."
228 - sh "git push #{repository} #{$version.gsub('~','-')}" 238 + Rake::Task['noosfero:pushtag'].invoke
229 end 239 end
230 end 240 end
231 241
  242 + Rake::Task['noosfero:upload'].invoke
232 if confirm('Upload the packages') 243 if confirm('Upload the packages')
233 puts "==> Uploading debian packages..." 244 puts "==> Uploading debian packages..."
234 Rake::Task['noosfero:upload_packages'].invoke(target) 245 Rake::Task['noosfero:upload_packages'].invoke(target)
@@ -239,6 +250,9 @@ EOF @@ -239,6 +250,9 @@ EOF
239 rm_f "tmp/pending-release" 250 rm_f "tmp/pending-release"
240 end 251 end
241 252
  253 + desc "finishes the release"
  254 + task 'release:finish' => ['noosfero:upload_packages', 'noosfero:tag', 'noosfero:pushtag']
  255 +
242 desc 'Build Debian packages' 256 desc 'Build Debian packages'
243 task :debian_packages => :package do 257 task :debian_packages => :package do
244 target = "pkg/noosfero-#{$version}" 258 target = "pkg/noosfero-#{$version}"