voxpupuli-release 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +4 -0
- data/.travis.yml +27 -0
- data/CHANGELOG.md +30 -0
- data/Gemfile +3 -0
- data/README.md +22 -0
- data/Rakefile +22 -0
- data/lib/voxpupuli/release.rb +2 -0
- data/lib/voxpupuli/release/rake_tasks.rb +45 -0
- data/lib/voxpupuli/release/version.rb +5 -0
- data/voxpupuli-release.gemspec +23 -0
- metadata +96 -0
checksums.yaml
ADDED
@@ -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
|
data/.gitignore
ADDED
data/.travis.yml
ADDED
@@ -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"
|
data/CHANGELOG.md
ADDED
@@ -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
data/README.md
ADDED
@@ -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
|
+
```
|
data/Rakefile
ADDED
@@ -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,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,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: []
|