travis_dpl_test 2.0.3.beta.4.ror
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/CHANGELOG.md +172 -0
- data/CODE_OF_CONDUCT.md +74 -0
- data/CONTRIBUTING.md +392 -0
- data/Gemfile +32 -0
- data/Gemfile.lock +611 -0
- data/LICENSE +19 -0
- data/README.md +2744 -0
- data/Rakefile +210 -0
- data/bin/dpl +11 -0
- data/config/transliterate.yml +733 -0
- data/dpl.gemspec +23 -0
- data/lib/dpl/assets/atlas/install +19 -0
- data/lib/dpl/assets/convox/install +11 -0
- data/lib/dpl/assets/dpl/README.erb.md +138 -0
- data/lib/dpl/assets/dpl/git_ssh +8 -0
- data/lib/dpl/assets/git/detect_private_key +8 -0
- data/lib/dpl/assets/hephy/filter_log +3 -0
- data/lib/dpl/assets/pypi/install +4 -0
- data/lib/dpl/assets/scalingo/install +6 -0
- data/lib/dpl/cli.rb +100 -0
- data/lib/dpl/ctx/bash.rb +549 -0
- data/lib/dpl/ctx/test.rb +255 -0
- data/lib/dpl/ctx.rb +4 -0
- data/lib/dpl/helper/assets.rb +38 -0
- data/lib/dpl/helper/cmd.rb +169 -0
- data/lib/dpl/helper/config_file.rb +49 -0
- data/lib/dpl/helper/cookbook_site_streaming_uploader.rb +249 -0
- data/lib/dpl/helper/env.rb +92 -0
- data/lib/dpl/helper/github.rb +22 -0
- data/lib/dpl/helper/interpolate.rb +160 -0
- data/lib/dpl/helper/memoize.rb +23 -0
- data/lib/dpl/helper/squiggle.rb +24 -0
- data/lib/dpl/helper/transliterate.rb +13 -0
- data/lib/dpl/helper/wrap.rb +11 -0
- data/lib/dpl/helper/zip.rb +71 -0
- data/lib/dpl/provider/dsl.rb +410 -0
- data/lib/dpl/provider/examples.rb +132 -0
- data/lib/dpl/provider/status.rb +61 -0
- data/lib/dpl/provider.rb +651 -0
- data/lib/dpl/providers/anynines.rb +71 -0
- data/lib/dpl/providers/azure_web_apps.rb +63 -0
- data/lib/dpl/providers/bintray.rb +324 -0
- data/lib/dpl/providers/bluemixcloudfoundry.rb +98 -0
- data/lib/dpl/providers/boxfuse.rb +52 -0
- data/lib/dpl/providers/cargo.rb +32 -0
- data/lib/dpl/providers/chef_supermarket.rb +132 -0
- data/lib/dpl/providers/cloud66.rb +46 -0
- data/lib/dpl/providers/cloudfiles.rb +62 -0
- data/lib/dpl/providers/cloudformation.rb +281 -0
- data/lib/dpl/providers/cloudfoundry.rb +89 -0
- data/lib/dpl/providers/codedeploy.rb +190 -0
- data/lib/dpl/providers/convox.rb +130 -0
- data/lib/dpl/providers/datica.rb +64 -0
- data/lib/dpl/providers/ecr.rb +129 -0
- data/lib/dpl/providers/elasticbeanstalk.rb +207 -0
- data/lib/dpl/providers/engineyard.rb +113 -0
- data/lib/dpl/providers/firebase.rb +45 -0
- data/lib/dpl/providers/flynn.rb +35 -0
- data/lib/dpl/providers/gae.rb +78 -0
- data/lib/dpl/providers/gcs.rb +132 -0
- data/lib/dpl/providers/git_push.rb +273 -0
- data/lib/dpl/providers/gleis.rb +74 -0
- data/lib/dpl/providers/hackage.rb +53 -0
- data/lib/dpl/providers/hephy.rb +107 -0
- data/lib/dpl/providers/heroku/api.rb +123 -0
- data/lib/dpl/providers/heroku/git.rb +54 -0
- data/lib/dpl/providers/heroku.rb +111 -0
- data/lib/dpl/providers/lambda.rb +211 -0
- data/lib/dpl/providers/launchpad.rb +80 -0
- data/lib/dpl/providers/netlify.rb +38 -0
- data/lib/dpl/providers/npm.rb +130 -0
- data/lib/dpl/providers/nuget.rb +41 -0
- data/lib/dpl/providers/openshift.rb +52 -0
- data/lib/dpl/providers/opsworks.rb +146 -0
- data/lib/dpl/providers/packagecloud.rb_ +194 -0
- data/lib/dpl/providers/pages/api.rb +106 -0
- data/lib/dpl/providers/pages/git.rb +262 -0
- data/lib/dpl/providers/pages.rb +18 -0
- data/lib/dpl/providers/puppetforge.rb +50 -0
- data/lib/dpl/providers/pypi.rb +125 -0
- data/lib/dpl/providers/releases.rb +234 -0
- data/lib/dpl/providers/rubygems.rb +97 -0
- data/lib/dpl/providers/s3.rb +251 -0
- data/lib/dpl/providers/scalingo.rb +69 -0
- data/lib/dpl/providers/script.rb +32 -0
- data/lib/dpl/providers/snap.rb +68 -0
- data/lib/dpl/providers/surge.rb +59 -0
- data/lib/dpl/providers/testfairy.rb +101 -0
- data/lib/dpl/providers/transifex.rb +72 -0
- data/lib/dpl/providers.rb +48 -0
- data/lib/dpl/string_ext.rb +23 -0
- data/lib/dpl/support/aws_sdk_patch.rb +26 -0
- data/lib/dpl/support/gems.rb +73 -0
- data/lib/dpl/support/gstore_patch.rb +8 -0
- data/lib/dpl/support/version.rb +84 -0
- data/lib/dpl/version.rb +5 -0
- data/lib/dpl.rb +23 -0
- data/status.json +237 -0
- metadata +161 -0
data/Rakefile
ADDED
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'bundler'
|
|
4
|
+
require 'term/ansicolor'
|
|
5
|
+
require 'pathname'
|
|
6
|
+
require 'logger'
|
|
7
|
+
require './lib/dpl/version'
|
|
8
|
+
require 'highline'
|
|
9
|
+
require 'faraday'
|
|
10
|
+
|
|
11
|
+
include Term::ANSIColor
|
|
12
|
+
|
|
13
|
+
def cli
|
|
14
|
+
@cli ||= HighLine.new
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
@ready = false
|
|
18
|
+
|
|
19
|
+
def logger
|
|
20
|
+
@logger ||= Logger.new($stdout)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def top
|
|
24
|
+
@top ||= Pathname.new File.expand_path(File.dirname(__FILE__))
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def gem_version
|
|
28
|
+
ENV['DPL_VERSION'] || Dpl::VERSION
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def confirm(verb = 'release')
|
|
32
|
+
unless @ready
|
|
33
|
+
answer = cli.ask "Ready to #{verb} `dpl` version #{gem_version}? (y/n)"
|
|
34
|
+
if answer !~ /^y/i
|
|
35
|
+
abort red("Aborting #{verb}")
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
@ready = true
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def dpl_bin
|
|
43
|
+
File.join(Gem.bindir, 'dpl')
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
gemspecs = FileList[File.join(top, 'dpl-*.gemspec')]
|
|
47
|
+
|
|
48
|
+
providers = gemspecs.map { |f| /dpl-(?<provider>.*)\.gemspec/ =~ f && provider }
|
|
49
|
+
|
|
50
|
+
desc 'Build dpl gem'
|
|
51
|
+
file "dpl-#{gem_version}.gem" do
|
|
52
|
+
logger.info green('Building dpl gem')
|
|
53
|
+
ruby '-S gem build dpl.gemspec'
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
desc 'Install dpl gem'
|
|
57
|
+
file dpl_bin => "dpl-#{gem_version}.gem" do
|
|
58
|
+
logger.info green('Installing dpl gem')
|
|
59
|
+
ruby "-S gem install dpl-#{gem_version}.gem"
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
task default: [:spec, Rake::FileTask[dpl_bin]] do
|
|
63
|
+
Rake::Task['spec_providers'].invoke
|
|
64
|
+
Rake::Task['check_providers'].invoke
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
desc 'Run spec on all providers'
|
|
68
|
+
task :spec_providers do
|
|
69
|
+
providers.each do |provider|
|
|
70
|
+
Rake::Task["spec-#{provider}"].invoke
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
desc 'Check all provider gems install correctly'
|
|
75
|
+
task :check_providers do
|
|
76
|
+
providers.each do |provider|
|
|
77
|
+
Rake::Task["check-#{provider}"].invoke
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
desc 'Build all gems'
|
|
82
|
+
task build: "dpl-#{gem_version}.gem" do
|
|
83
|
+
providers.each do |provider|
|
|
84
|
+
Rake::Task["dpl-#{provider}-#{gem_version}.gem"].invoke
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
desc 'Uninstall all gems'
|
|
89
|
+
task :uninstall do
|
|
90
|
+
providers.each do |provider|
|
|
91
|
+
Rake::Task["uninstall-#{provider}"].invoke
|
|
92
|
+
end
|
|
93
|
+
logger.info red('Uninstalling dpl')
|
|
94
|
+
sh 'gem uninstall -aIx dpl'
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
desc 'Release all gems'
|
|
98
|
+
task :release do
|
|
99
|
+
confirm
|
|
100
|
+
released = []
|
|
101
|
+
providers.each do |provider|
|
|
102
|
+
until released.include? provider
|
|
103
|
+
logger.info "checking dpl-#{provider}"
|
|
104
|
+
|
|
105
|
+
cli = Faraday.new url: 'https://rubygems.org'
|
|
106
|
+
|
|
107
|
+
begin
|
|
108
|
+
response = cli.get("/api/v2/rubygems/dpl-#{provider}/versions/#{gem_version}.json")
|
|
109
|
+
if response.success?
|
|
110
|
+
released << provider
|
|
111
|
+
logger.info green("dpl-#{provider} #{gem_version} exists")
|
|
112
|
+
next
|
|
113
|
+
else
|
|
114
|
+
begin
|
|
115
|
+
if Rake::Task["release-#{provider}"].invoke
|
|
116
|
+
released << provider
|
|
117
|
+
end
|
|
118
|
+
rescue StandardError
|
|
119
|
+
Rake::Task["release-#{provider}"].reenable
|
|
120
|
+
end
|
|
121
|
+
end
|
|
122
|
+
rescue Faraday::Error
|
|
123
|
+
logger.info yellow('connection failed. retrying')
|
|
124
|
+
retry
|
|
125
|
+
end
|
|
126
|
+
end
|
|
127
|
+
end
|
|
128
|
+
logger.info green("Pushing dpl-#{gem_version}.gem")
|
|
129
|
+
sh "gem push dpl-#{gem_version}.gem"
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
desc 'Yank all gems'
|
|
133
|
+
task :yank, [:version] do |_t, args|
|
|
134
|
+
version = args.version
|
|
135
|
+
confirm 'yank'
|
|
136
|
+
logger.info green("Yanking `dpl` version #{version}")
|
|
137
|
+
sh "gem yank dpl -v #{version}"
|
|
138
|
+
providers.each do |provider|
|
|
139
|
+
Rake::Task["yank-#{provider}"].invoke
|
|
140
|
+
end
|
|
141
|
+
end
|
|
142
|
+
|
|
143
|
+
task :deep_clean do
|
|
144
|
+
Rake::Task[:clean].invoke
|
|
145
|
+
sh 'git clean -dfx'
|
|
146
|
+
end
|
|
147
|
+
|
|
148
|
+
task :clean do
|
|
149
|
+
rm_rf 'stubs'
|
|
150
|
+
rm_rf 'vendor'
|
|
151
|
+
rm_rf 'dpl-*.gem'
|
|
152
|
+
Rake::Task[:uninstall].invoke
|
|
153
|
+
end
|
|
154
|
+
|
|
155
|
+
desc 'Run dpl specs'
|
|
156
|
+
task :spec do
|
|
157
|
+
ruby '-S rspec spec/cli_spec.rb spec/provider_spec.rb'
|
|
158
|
+
end
|
|
159
|
+
|
|
160
|
+
providers.each do |provider|
|
|
161
|
+
desc "Write Gemfile-#{provider}"
|
|
162
|
+
file "Gemfile-#{provider}" do |t|
|
|
163
|
+
gemfile = top + t.name
|
|
164
|
+
logger.info green("Writing #{gemfile}")
|
|
165
|
+
gemfile.write %(source 'https://rubygems.org'\ngemspec :name => "dpl-#{provider}"\n)
|
|
166
|
+
end
|
|
167
|
+
|
|
168
|
+
desc %(Run dpl-#{provider} specs)
|
|
169
|
+
task "spec-#{provider}", [:lines] => [Rake::FileTask[dpl_bin], "Gemfile-#{provider}"] do |_t, args|
|
|
170
|
+
tail = args.lines ? ":#{args.lines}" : ''
|
|
171
|
+
sh 'rm -f $HOME/.npmrc'
|
|
172
|
+
logger.info green("Running `bundle install` for #{provider}")
|
|
173
|
+
sh 'bash', '-cl', "bundle install --gemfile=Gemfile-#{provider} --path=vendor/cache/dpl-#{provider} --retry=3 --binstubs=stubs"
|
|
174
|
+
logger.info green("Running specs for #{provider}")
|
|
175
|
+
sh "env BUNDLE_GEMFILE=Gemfile-#{provider} ./stubs/rspec spec/provider/#{provider}_spec.rb#{tail}"
|
|
176
|
+
end
|
|
177
|
+
|
|
178
|
+
desc "Build dpl-#{provider} gem"
|
|
179
|
+
file "dpl-#{provider}-#{gem_version}.gem" do
|
|
180
|
+
logger.info green("Building dpl-#{provider} gem")
|
|
181
|
+
ruby "-S gem build --silent dpl-#{provider}.gemspec"
|
|
182
|
+
end
|
|
183
|
+
|
|
184
|
+
desc "Test dpl-#{provider} gem"
|
|
185
|
+
task "check-#{provider}" => [Rake::FileTask[dpl_bin], "dpl-#{provider}-#{gem_version}.gem"] do
|
|
186
|
+
logger.info green("Installing dpl-#{provider} gem")
|
|
187
|
+
sh "gem install --no-post-install-message dpl-#{provider}-#{gem_version}.gem"
|
|
188
|
+
logger.info green("Testing dpl-#{provider} loads correctly")
|
|
189
|
+
ruby "-S dpl --provider=#{provider} --stage=init"
|
|
190
|
+
end
|
|
191
|
+
|
|
192
|
+
desc "Uninstall dpl-#{provider}"
|
|
193
|
+
task "uninstall-#{provider}" do
|
|
194
|
+
logger.info red("Uninstalling dpl-#{provider}")
|
|
195
|
+
sh "gem uninstall -aIx dpl-#{provider}"
|
|
196
|
+
end
|
|
197
|
+
|
|
198
|
+
desc "Release dpl-#{provider} gem"
|
|
199
|
+
task "release-#{provider}" => "dpl-#{provider}-#{gem_version}.gem" do
|
|
200
|
+
confirm
|
|
201
|
+
logger.info green("Pushing dpl-#{provider}-#{gem_version}.gem")
|
|
202
|
+
sh "gem push dpl-#{provider}-#{gem_version}.gem"
|
|
203
|
+
end
|
|
204
|
+
|
|
205
|
+
desc "Yank dpl-#{provider}"
|
|
206
|
+
task "yank-#{provider}" do
|
|
207
|
+
logger.info green("Yanking dpl-#{provider} version #{gem_version}")
|
|
208
|
+
sh "gem yank dpl-#{provider} -v #{gem_version}"
|
|
209
|
+
end
|
|
210
|
+
end
|