Commit d538d9648a1cd166d3646821679074396162616a
1 parent
05c19a06
Exists in
master
and in
29 other branches
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 | 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}" | ... | ... |
-
mentioned in commit e55f4bdfe18d0bee5f2ed8d37180facafd06b8c0