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 | 121 | desc "uploads the packages to the repository" |
| 122 | 122 | task :upload_packages, :target do |t, args| |
| 123 | 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 | 128 | sh "dput --unchecked noosfero-#{target} #{Dir['pkg/*.changes'].first}" |
| 125 | 129 | end |
| 126 | 130 | |
| ... | ... | @@ -189,6 +193,14 @@ EOF |
| 189 | 193 | abort if missing |
| 190 | 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 | 204 | desc 'prepares a release tarball' |
| 193 | 205 | task :release, :target do |t, args| |
| 194 | 206 | target = args[:target] |
| ... | ... | @@ -220,15 +232,14 @@ EOF |
| 220 | 232 | Rake::Task['noosfero:debian_packages'].invoke |
| 221 | 233 | |
| 222 | 234 | if confirm("Create tag for version #{$version}") |
| 223 | - sh "git tag #{$version.gsub('~','-')}" | |
| 224 | - | |
| 235 | + Rake::Task['noosfero:tag'].invoke | |
| 225 | 236 | if confirm('Push new version tag') |
| 226 | - repository = ask('Repository name', 'origin') | |
| 227 | 237 | puts "==> Uploading tags..." |
| 228 | - sh "git push #{repository} #{$version.gsub('~','-')}" | |
| 238 | + Rake::Task['noosfero:pushtag'].invoke | |
| 229 | 239 | end |
| 230 | 240 | end |
| 231 | 241 | |
| 242 | + Rake::Task['noosfero:upload'].invoke | |
| 232 | 243 | if confirm('Upload the packages') |
| 233 | 244 | puts "==> Uploading debian packages..." |
| 234 | 245 | Rake::Task['noosfero:upload_packages'].invoke(target) |
| ... | ... | @@ -239,6 +250,9 @@ EOF |
| 239 | 250 | rm_f "tmp/pending-release" |
| 240 | 251 | end |
| 241 | 252 | |
| 253 | + desc "finishes the release" | |
| 254 | + task 'release:finish' => ['noosfero:upload_packages', 'noosfero:tag', 'noosfero:pushtag'] | |
| 255 | + | |
| 242 | 256 | desc 'Build Debian packages' |
| 243 | 257 | task :debian_packages => :package do |
| 244 | 258 | target = "pkg/noosfero-#{$version}" | ... | ... |