Commit e55f4bdfe18d0bee5f2ed8d37180facafd06b8c0
1 parent
05c19a06
better release tasks
(cherry picked from commit d538d9648a1cd166d3646821679074396162616a)
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}" |