voxpupuli-release 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 9af5a5e0c5b473492fdaf314f7083d8d633482f634aedc02c305d801c8dd76b2
4
+ data.tar.gz: 61e8ff2561629b167511e8f351a4f4d4e2e091da54839a968a4d835cd38d90fb
5
+ SHA512:
6
+ metadata.gz: 64feb83dfcdc22f1cab44663da1edd53fdbce4ed202a7e757713c43b6bd5ec3eaae352252353ef53b91d34050df0077853e3f46b89b53e7eeea1ffba2dc2fd9a
7
+ data.tar.gz: 8e4578be2097edf95e3e752c9eeb59dd15ba9a11486cf5e7ccd455458cd880ebc5b3afb927be3b5ebaf3feae774afbd4f9f46a7804b88afb980340d773e99b1b
@@ -0,0 +1,4 @@
1
+ .bundle/
2
+ .vendor/
3
+ vendor/
4
+ Gemfile.lock
@@ -0,0 +1,27 @@
1
+ ---
2
+ language: ruby
3
+ sudo: false
4
+ cache: bundler
5
+ script:
6
+ - bundle exec rake
7
+ rvm:
8
+ - 2.5.3
9
+ matrix:
10
+ fast_finish: true
11
+ deploy:
12
+ provider: rubygems
13
+ gemspec: voxpupuli-release.gemspec
14
+ gem: voxpupuli-release
15
+ api_key:
16
+ secure: "rXXGiuxkD9/U1H7m0+Nk7w5CD/Cv+e+P3QypMsaG9yUGUGrA/QT//jVK4bXSG3OkVm7EP6exuogLugoTDIl70Y6tbskuQ9UIRJ3w6VsTsAMEA6l0nHCoLWrH1DxZHH1IXX5ECwsP3WtdIQVBKBM0AGY9fl7eseLymAqkIgVgNOA+14z9ApomF1MZfMpkmJMrCU8DyotRE+rykEpFLNgAJALiGQZXyYSpfHO8jcfdWfG83al38e8Ate/TSQtLgkPT9QJNSTFDxsP4OFygKkI9DF+pHpMUodrf2j5avoOdTXUyNY1Bu7qQ6w2KxEvdJUyIacAHqQeZl93z9Bp0h++GmLjjSBx79PCVN0kiDJlkmL2NSRl9h7EkEr4F7uS//svFEVlr02Oddb9oAQZWrCOXA2q6LI3yD8UYQHHgsqFhlEDLxhaiRh28cFuKM0y4L1VDsHW52Dwy54oLEebq3WrIoFvEZ/MBzQa+Ah37WmQlfnpzWAIDWcwrZGOqg2/3EMQbwVqE1SP/nv7s0spaUFahu/pxNgrUKzkP+6pG+1mM0fzLKL+B97KXoZ4JoCuu5hpCYqC27S1K/7Ypqi8sQ14AC9SYSyxXAouk1t3kTEq6/TH/35A8g8Ia62p06Z2mMf/AmSW29nrJzdM0NlkRVK/4OZnqGTLClb83h2q08eR5vaY="
17
+ on:
18
+ rvm: 2.5.3
19
+ tags: true
20
+ all_branches: true
21
+ notifications:
22
+ email: false
23
+ irc:
24
+ on_success: always
25
+ on_failure: always
26
+ channels:
27
+ - "chat.freenode.org#voxpupuli-notifications"
@@ -0,0 +1,30 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ ## [v1.0.0](https://github.com/voxpupuli/voxpupuli-release-gem/tree/v1.0.0) (2019-08-18)
6
+ **Implemented enhancements:**
7
+
8
+ - sign tags with gpg [\#20](https://github.com/voxpupuli/voxpupuli-release-gem/pull/20) ([bastelfreak](https://github.com/bastelfreak))
9
+
10
+ **Closed issues:**
11
+
12
+ - expand travis\_release [\#2](https://github.com/voxpupuli/voxpupuli-release-gem/issues/2)
13
+ - this gem should be renamed [\#1](https://github.com/voxpupuli/voxpupuli-release-gem/issues/1)
14
+
15
+ **Merged pull requests:**
16
+
17
+ - Use has\_version\_tag? from puppet-blacksmith [\#16](https://github.com/voxpupuli/voxpupuli-release-gem/pull/16) ([ekohl](https://github.com/ekohl))
18
+ - Proper pre-release version string [\#15](https://github.com/voxpupuli/voxpupuli-release-gem/pull/15) ([rnelson0](https://github.com/rnelson0))
19
+ - Release candidate 0.4.0-rc0 [\#14](https://github.com/voxpupuli/voxpupuli-release-gem/pull/14) ([rnelson0](https://github.com/rnelson0))
20
+ - Expand acceptable changelog release format [\#12](https://github.com/voxpupuli/voxpupuli-release-gem/pull/12) ([rnelson0](https://github.com/rnelson0))
21
+ - dont expect whitespace before release number [\#10](https://github.com/voxpupuli/voxpupuli-release-gem/pull/10) ([bastelfreak](https://github.com/bastelfreak))
22
+ - Describe how to cut a release [\#9](https://github.com/voxpupuli/voxpupuli-release-gem/pull/9) ([rnelson0](https://github.com/rnelson0))
23
+ - fix\(changelog\) make changelog checking more flexible [\#8](https://github.com/voxpupuli/voxpupuli-release-gem/pull/8) ([igalic](https://github.com/igalic))
24
+ - fix\(loading\) complete renaming by correctly moving files into subdirs [\#7](https://github.com/voxpupuli/voxpupuli-release-gem/pull/7) ([igalic](https://github.com/igalic))
25
+ - feat\(release\) bump RC version rather than patch [\#6](https://github.com/voxpupuli/voxpupuli-release-gem/pull/6) ([igalic](https://github.com/igalic))
26
+ - chore \(rename\) Give our gem a more sensible name [\#5](https://github.com/voxpupuli/voxpupuli-release-gem/pull/5) ([igalic](https://github.com/igalic))
27
+
28
+
29
+
30
+ \* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source ENV['GEM_SOURCE'] || 'https://rubygems.org'
2
+
3
+ gemspec
@@ -0,0 +1,22 @@
1
+ # Voxpupuli Release Gem
2
+
3
+ This is a helper Gem for the Vox Pupuli release workflow. This Gem currently serves only to encapsulate common `rake` tasks related to releasing modules.
4
+
5
+ # Usage
6
+ Add the `voxpupuli-release` Gem to your `Gemfile`:
7
+
8
+ ```
9
+ gem 'voxpupuli-release', git: 'https://github.com/voxpupuli/voxpupuli-release-gem'
10
+ ```
11
+
12
+ Then, at the top of your `Rakefile`, add:
13
+
14
+ ```ruby
15
+ require 'voxpupuli-release'
16
+ ```
17
+
18
+ To cut a new release of your module, ensure the `metadata.json` reflects the proper version. Also ensure that the `CHANGELOG.md` has a note about the release and that it actually is named Release or release, some old modules refer to it as Version, which won't work. Lastly check that no tag exists with that version number (format `v#.#.#`), and then run:
19
+
20
+ ```
21
+ bundle exec rake travis_release
22
+ ```
@@ -0,0 +1,22 @@
1
+ $LOAD_PATH.unshift File.expand_path('lib', __dir__)
2
+ require 'voxpupuli/release/version'
3
+
4
+ task :default => :dummy
5
+
6
+ desc 'Dummy rake task'
7
+ task 'dummy' do
8
+ puts 'this is a dummy rake task that just prints this line.'
9
+ end
10
+
11
+ begin
12
+ require 'github_changelog_generator/task'
13
+ GitHubChangelogGenerator::RakeTask.new :changelog do |config|
14
+ version = Voxpupuli::Release::VERSION
15
+ config.future_release = "v#{version}" if version =~ /^\d+\.\d+.\d+$/
16
+ config.header = "# Changelog\n\nAll notable changes to this project will be documented in this file."
17
+ config.exclude_labels = %w{duplicate question invalid wontfix wont-fix skip-changelog}
18
+ config.user = 'voxpupuli'
19
+ config.project = 'voxpupuli-release-gem'
20
+ end
21
+ rescue LoadError
22
+ end
@@ -0,0 +1,2 @@
1
+ require 'voxpupuli/release/rake_tasks'
2
+ require 'voxpupuli/release/version'
@@ -0,0 +1,45 @@
1
+
2
+ desc 'release new version through Travis-ci'
3
+ task "travis_release" do
4
+
5
+ require 'puppet_blacksmith/rake_tasks'
6
+ Blacksmith::RakeTask.new do |t|
7
+ t.build = false # do not build the module nor push it to the Forge
8
+ t.tag_sign = true # sign release with gpg
9
+ # just do the tagging [:clean, :tag, :bump_commit]
10
+ end
11
+
12
+ m = Blacksmith::Modulefile.new
13
+ v = m.version
14
+ raise "Refusing to release an RC or build-release (#{v}).\n" +
15
+ "Please set a semver *release* version." unless v =~ /^\d+\.\d+.\d+$/
16
+
17
+ Rake::Task[:check_changelog].invoke
18
+ # do a "manual" module:release (clean, tag, bump, commit, push tags)
19
+ Rake::Task["module:clean"].invoke
20
+
21
+ # idempotently create tags
22
+ g = Blacksmith::Git.new
23
+ Rake::Task["module:tag"].invoke unless g.has_version_tag?(v)
24
+
25
+ v_inc = m.increase_version(v)
26
+ v_new = "#{v_inc}-rc0"
27
+ ENV['BLACKSMITH_FULL_VERSION'] = v_new
28
+ Rake::Task["module:bump:full"].invoke
29
+
30
+ # push it out, and let travis do the release:
31
+ g.commit_modulefile!(v_new)
32
+ g.push!
33
+ end
34
+
35
+ desc 'Check Changelog.'
36
+ task :check_changelog do
37
+ v = Blacksmith::Modulefile.new.version
38
+ # Acceptable release header formats:
39
+ #
40
+ # ## 2016-11-20 Release 4.0.2
41
+ # ## [v4.0.3-rc0](https://github.com/voxpupuli/puppet-r10k/tree/v4.0.3-rc0) (2016-12-13)
42
+ if File.readlines('CHANGELOG.md').grep( /^(#.+[Rr]eleas.+#{Regexp.escape(v)}|## \[v#{Regexp.escape(v)}\])/ ).size == 0
43
+ fail "Unable to find a CHANGELOG.md entry for the #{v} release."
44
+ end
45
+ end
@@ -0,0 +1,5 @@
1
+ module Voxpupuli
2
+ module Release
3
+ VERSION = '1.0.0'
4
+ end
5
+ end
@@ -0,0 +1,23 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $LOAD_PATH.unshift File.expand_path('../lib', __FILE__)
3
+ require 'voxpupuli/release/version'
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = 'voxpupuli-release'
7
+ s.version = Voxpupuli::Release::VERSION
8
+ s.authors = ['Vox Pupuli']
9
+ s.email = ['voxpupuli@groups.io']
10
+ s.homepage = 'http://github.com/voxpupuli/voxpupuli-release-gem'
11
+ s.summary = 'Helpers for deploying Vox Pupuli modules'
12
+ s.description = s.summary
13
+ s.licenses = 'Apache-2.0'
14
+
15
+ s.files = `git ls-files`.split("\n")
16
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
17
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
18
+
19
+ # Runtime dependencies, but also probably dependencies of requiring projects
20
+ s.add_runtime_dependency 'rake'
21
+ s.add_runtime_dependency 'puppet-blacksmith', '>= 4.0.0'
22
+ s.add_development_dependency 'github_changelog_generator'
23
+ end
metadata ADDED
@@ -0,0 +1,96 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: voxpupuli-release
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Vox Pupuli
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2019-08-31 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rake
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: puppet-blacksmith
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 4.0.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: 4.0.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: github_changelog_generator
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ description: Helpers for deploying Vox Pupuli modules
56
+ email:
57
+ - voxpupuli@groups.io
58
+ executables: []
59
+ extensions: []
60
+ extra_rdoc_files: []
61
+ files:
62
+ - ".gitignore"
63
+ - ".travis.yml"
64
+ - CHANGELOG.md
65
+ - Gemfile
66
+ - README.md
67
+ - Rakefile
68
+ - lib/voxpupuli/release.rb
69
+ - lib/voxpupuli/release/rake_tasks.rb
70
+ - lib/voxpupuli/release/version.rb
71
+ - voxpupuli-release.gemspec
72
+ homepage: http://github.com/voxpupuli/voxpupuli-release-gem
73
+ licenses:
74
+ - Apache-2.0
75
+ metadata: {}
76
+ post_install_message:
77
+ rdoc_options: []
78
+ require_paths:
79
+ - lib
80
+ required_ruby_version: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ version: '0'
85
+ required_rubygems_version: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ requirements: []
91
+ rubyforge_project:
92
+ rubygems_version: 2.7.7
93
+ signing_key:
94
+ specification_version: 4
95
+ summary: Helpers for deploying Vox Pupuli modules
96
+ test_files: []