dpl 1.8.48.travis.2486.5 → 1.9.0
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 +5 -5
- data/.gitignore +2 -0
- data/.travis.yml +42 -21
- data/Gemfile +3 -98
- data/README.md +5 -16
- data/Rakefile +160 -1
- data/dpl-anynines.gemspec +3 -0
- data/dpl-atlas.gemspec +3 -0
- data/dpl-azure_webapps.gemspec +3 -0
- data/dpl-bintray.gemspec +3 -0
- data/dpl-bitballoon.gemspec +3 -0
- data/dpl-bluemix_cloud_foundry.gemspec +3 -0
- data/dpl-boxfuse.gemspec +3 -0
- data/dpl-catalyze.gemspec +3 -0
- data/dpl-chef_supermarket.gemspec +8 -0
- data/dpl-cloud66.gemspec +3 -0
- data/dpl-cloud_files.gemspec +3 -0
- data/dpl-cloud_foundry.gemspec +3 -0
- data/dpl-code_deploy.gemspec +3 -0
- data/dpl-deis.gemspec +3 -0
- data/dpl-divshot.gemspec +3 -0
- data/dpl-elastic_beanstalk.gemspec +3 -0
- data/dpl-engine_yard.gemspec +3 -0
- data/dpl-firebase.gemspec +3 -0
- data/dpl-gae.gemspec +3 -0
- data/dpl-gcs.gemspec +3 -0
- data/dpl-hackage.gemspec +3 -0
- data/dpl-heroku.gemspec +3 -0
- data/dpl-lambda.gemspec +3 -0
- data/dpl-launchpad.gemspec +3 -0
- data/dpl-modulus.gemspec +3 -0
- data/dpl-npm.gemspec +3 -0
- data/dpl-openshift.gemspec +3 -0
- data/dpl-ops_works.gemspec +3 -0
- data/dpl-packagecloud.gemspec +3 -0
- data/dpl-pages.gemspec +3 -0
- data/dpl-puppet_forge.gemspec +3 -0
- data/dpl-pypi.gemspec +3 -0
- data/dpl-releases.gemspec +3 -0
- data/dpl-rubygems.gemspec +3 -0
- data/dpl-s3.gemspec +3 -0
- data/dpl-scalingo.gemspec +3 -0
- data/dpl-script.gemspec +3 -0
- data/dpl-surge.gemspec +3 -0
- data/dpl-testfairy.gemspec +3 -0
- data/dpl-transifex.gemspec +3 -0
- data/dpl.gemspec +2 -31
- data/gemspec_helper.rb +49 -0
- data/lib/dpl/provider.rb +101 -58
- data/lib/dpl/version.rb +1 -1
- data/spec/provider_spec.rb +15 -34
- metadata +76 -107
- data/lib/dpl/provider/anynines.rb +0 -13
- data/lib/dpl/provider/appfog.rb +0 -21
- data/lib/dpl/provider/atlas.rb +0 -108
- data/lib/dpl/provider/azure_webapps.rb +0 -48
- data/lib/dpl/provider/bintray.rb +0 -509
- data/lib/dpl/provider/bitballoon.rb +0 -22
- data/lib/dpl/provider/bluemix_cloud_foundry.rb +0 -23
- data/lib/dpl/provider/boxfuse.rb +0 -57
- data/lib/dpl/provider/catalyze.rb +0 -49
- data/lib/dpl/provider/chef_supermarket.rb +0 -85
- data/lib/dpl/provider/cloud66.rb +0 -38
- data/lib/dpl/provider/cloud_files.rb +0 -38
- data/lib/dpl/provider/cloud_foundry.rb +0 -43
- data/lib/dpl/provider/code_deploy.rb +0 -154
- data/lib/dpl/provider/deis.rb +0 -128
- data/lib/dpl/provider/divshot.rb +0 -23
- data/lib/dpl/provider/elastic_beanstalk.rb +0 -195
- data/lib/dpl/provider/engine_yard.rb +0 -90
- data/lib/dpl/provider/firebase.rb +0 -27
- data/lib/dpl/provider/gae.rb +0 -97
- data/lib/dpl/provider/gcs.rb +0 -59
- data/lib/dpl/provider/hackage.rb +0 -29
- data/lib/dpl/provider/heroku.rb +0 -18
- data/lib/dpl/provider/heroku/api.rb +0 -98
- data/lib/dpl/provider/heroku/generic.rb +0 -94
- data/lib/dpl/provider/heroku/git.rb +0 -28
- data/lib/dpl/provider/lambda.rb +0 -236
- data/lib/dpl/provider/launchpad.rb +0 -48
- data/lib/dpl/provider/modulus.rb +0 -23
- data/lib/dpl/provider/npm.rb +0 -64
- data/lib/dpl/provider/openshift.rb +0 -59
- data/lib/dpl/provider/ops_works.rb +0 -132
- data/lib/dpl/provider/packagecloud.rb +0 -144
- data/lib/dpl/provider/pages.rb +0 -212
- data/lib/dpl/provider/puppet_forge.rb +0 -43
- data/lib/dpl/provider/pypi.rb +0 -103
- data/lib/dpl/provider/releases.rb +0 -139
- data/lib/dpl/provider/rubygems.rb +0 -51
- data/lib/dpl/provider/s3.rb +0 -123
- data/lib/dpl/provider/scalingo.rb +0 -97
- data/lib/dpl/provider/script.rb +0 -29
- data/lib/dpl/provider/surge.rb +0 -33
- data/lib/dpl/provider/testfairy.rb +0 -111
- data/lib/dpl/provider/transifex.rb +0 -45
- data/spec/provider/anynines_spec.rb +0 -20
- data/spec/provider/appfog_spec.rb +0 -35
- data/spec/provider/atlas_spec.rb +0 -99
- data/spec/provider/azure_webapps_spec.rb +0 -95
- data/spec/provider/bintray_spec.rb +0 -259
- data/spec/provider/bitballoon_spec.rb +0 -32
- data/spec/provider/bluemixcloudfoundry_spec.rb +0 -23
- data/spec/provider/boxfuse_spec.rb +0 -16
- data/spec/provider/catalyze_spec.rb +0 -39
- data/spec/provider/chef_supermarket_spec.rb +0 -51
- data/spec/provider/cloud66_spec.rb +0 -44
- data/spec/provider/cloud_files_spec.rb +0 -88
- data/spec/provider/cloudfoundry_spec.rb +0 -71
- data/spec/provider/code_deploy_spec.rb +0 -366
- data/spec/provider/deis_spec.rb +0 -116
- data/spec/provider/divshot_spec.rb +0 -28
- data/spec/provider/elastic_beanstalk_spec.rb +0 -209
- data/spec/provider/firebase_spec.rb +0 -40
- data/spec/provider/gae_spec.rb +0 -26
- data/spec/provider/gcs_spec.rb +0 -115
- data/spec/provider/hackage_spec.rb +0 -47
- data/spec/provider/heroku_spec.rb +0 -357
- data/spec/provider/lambda_spec.rb +0 -432
- data/spec/provider/launchpad_spec.rb +0 -33
- data/spec/provider/modulus_spec.rb +0 -29
- data/spec/provider/npm_spec.rb +0 -95
- data/spec/provider/openshift_spec.rb +0 -91
- data/spec/provider/ops_works_spec.rb +0 -127
- data/spec/provider/packagecloud_spec.rb +0 -56
- data/spec/provider/puppet_forge_spec.rb +0 -60
- data/spec/provider/pypi_spec.rb +0 -105
- data/spec/provider/releases_spec.rb +0 -303
- data/spec/provider/rubygems_spec.rb +0 -106
- data/spec/provider/s3_spec.rb +0 -174
- data/spec/provider/scalingo_spec.rb +0 -64
- data/spec/provider/script_spec.rb +0 -26
- data/spec/provider/surge_spec.rb +0 -15
- data/spec/provider/testfairy_spec.rb +0 -65
- data/spec/provider/transifex_spec.rb +0 -110
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA1:
|
|
3
|
+
metadata.gz: 5559ec0b1676e226cc48c665aa2f2f67340b823a
|
|
4
|
+
data.tar.gz: 4a50e86c2e043afbe4456f8fa000217471bba279
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0e90a5fe54aa6d568c758d4f02a7ed51bed0ba540933c3f3b97b351cafb21aaedea047c797d566f6d70dc2a128d5323d71657cc4d20f91b69d11165dfd136e55
|
|
7
|
+
data.tar.gz: ea4fdc47ed409b854e02f26e02ec9d931a61131f8a84246f9da2dbaaa53732f60cf605201b2e554fd32a5c72a1b1b2655a8eec14f745b79291ae2b77f30f826f
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
|
@@ -1,36 +1,57 @@
|
|
|
1
1
|
language: ruby
|
|
2
2
|
rvm:
|
|
3
|
-
-
|
|
4
|
-
- 2.
|
|
5
|
-
- 2.
|
|
6
|
-
- "2.
|
|
7
|
-
- "2.3.1"
|
|
3
|
+
- "2.2.9"
|
|
4
|
+
- "2.3.6"
|
|
5
|
+
- "2.4"
|
|
6
|
+
- "2.5"
|
|
8
7
|
|
|
9
|
-
|
|
8
|
+
jobs:
|
|
10
9
|
include:
|
|
11
|
-
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
- stage: deploy
|
|
11
|
+
cache: false
|
|
12
|
+
before_deploy:
|
|
13
|
+
- sed -i.bak "s/VERSION = '.*'/VERSION = '${DPL_VERSION}'/g" lib/dpl/version.rb
|
|
14
|
+
- git config user.name "travisbot"
|
|
15
|
+
- git config user.email "deploy@travis-ci.org"
|
|
16
|
+
- git add lib/dpl/version.rb
|
|
17
|
+
- git commit -m "Update DPL::Version"
|
|
18
|
+
deploy:
|
|
19
|
+
- provider: rubygems
|
|
20
|
+
script: skip
|
|
21
|
+
edge:
|
|
22
|
+
branch: master
|
|
23
|
+
api_key:
|
|
24
|
+
secure: ZmZoDL1tilWvQrqRWDm2K4xQ5Grt9eRJzYVZPLANR0P1TM5BJBLk+UhWCWCPkkDVIBWMa5ANsiFYBxtH65Lw+uqMztSpVusk0l0LQXZGv9jMpT9445A8008U3vvfS0ke7IG8Q4bMAC7Sd6VGaiHDyZC7zmNvnqMpmVX7ShcgBME=
|
|
25
|
+
gem: dpl
|
|
26
|
+
gemspec_glob: 'dpl*.gemspec'
|
|
27
|
+
on:
|
|
28
|
+
repo: travis-ci/dpl
|
|
29
|
+
if: branch = master AND NOT type IN (pull_request)
|
|
30
|
+
|
|
31
|
+
env:
|
|
32
|
+
global:
|
|
33
|
+
- DPL_VERSION=$(ruby -I lib -r dpl/version.rb -e "puts DPL::VERSION.succ + \".travis.#{ENV['TRAVIS_JOB_NUMBER']}\"")
|
|
15
34
|
|
|
16
35
|
sudo: false
|
|
17
36
|
|
|
18
|
-
|
|
37
|
+
before_cache:
|
|
38
|
+
- rm -rf $GEM_HOME/cache/dpl-*.travis.*.gem $GEM_HOME/gems/dpl-*.travis.* $GEM_HOME/specifications/dpl-*.travis.*
|
|
39
|
+
- git checkout bin/dpl
|
|
40
|
+
|
|
41
|
+
cache:
|
|
42
|
+
directories:
|
|
43
|
+
- vendor/cache
|
|
44
|
+
- $GEM_HOME
|
|
45
|
+
- node_modules
|
|
19
46
|
|
|
20
47
|
before_install:
|
|
21
48
|
- gem update bundler
|
|
22
49
|
|
|
50
|
+
before_script:
|
|
51
|
+
- rm -f $(ruby -r rubygems -e "puts Gem.bindir")/dpl
|
|
52
|
+
|
|
23
53
|
script:
|
|
24
|
-
-
|
|
25
|
-
|
|
26
|
-
deploy:
|
|
27
|
-
provider: rubygems
|
|
28
|
-
api_key:
|
|
29
|
-
secure: ZmZoDL1tilWvQrqRWDm2K4xQ5Grt9eRJzYVZPLANR0P1TM5BJBLk+UhWCWCPkkDVIBWMa5ANsiFYBxtH65Lw+uqMztSpVusk0l0LQXZGv9jMpT9445A8008U3vvfS0ke7IG8Q4bMAC7Sd6VGaiHDyZC7zmNvnqMpmVX7ShcgBME=
|
|
30
|
-
gem: dpl
|
|
31
|
-
on:
|
|
32
|
-
repo: travis-ci/dpl
|
|
33
|
-
ruby: 2.2.6
|
|
54
|
+
- rake
|
|
34
55
|
|
|
35
56
|
notifications:
|
|
36
57
|
webhooks: "http://requestb.in/1guaq7t1"
|
data/Gemfile
CHANGED
|
@@ -1,100 +1,5 @@
|
|
|
1
1
|
source 'https://rubygems.org'
|
|
2
|
-
|
|
2
|
+
ruby '> 2.1' # 2.2 and up
|
|
3
|
+
gemspec :name => 'dpl'
|
|
3
4
|
|
|
4
|
-
gem 'term-ansicolor'
|
|
5
|
-
|
|
6
|
-
platforms :mri_19 do
|
|
7
|
-
gem 'slop', '~> 3.6.0'
|
|
8
|
-
gem 'ohai', '~> 7.4.0'
|
|
9
|
-
gem 'amq-protocol', '~> 1.9.2'
|
|
10
|
-
gem 'net-ssh', '~> 2.9.2'
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
group :heroku do
|
|
14
|
-
gem 'rendezvous', '~> 0.0.2'
|
|
15
|
-
gem 'heroku-api', '= 0.3.16'
|
|
16
|
-
gem 'anvil-cli', '~> 0.16.1'
|
|
17
|
-
gem 'netrc'
|
|
18
|
-
gem 'faraday'
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
group :openshift do
|
|
22
|
-
gem 'rhc'
|
|
23
|
-
gem 'httpclient'
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
group :appfog do
|
|
27
|
-
gem 'json_pure'
|
|
28
|
-
gem 'af'
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
group :rubygems do
|
|
32
|
-
gem 'gems', '~> 0.8.3'
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
group :sss do
|
|
36
|
-
gem 'aws-sdk', '~> 2.10.39', '< 3.0'
|
|
37
|
-
gem 'mime-types'
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
group :code_deploy do
|
|
41
|
-
gem 'aws-sdk', '~> 2.10.39', '< 3.0'
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
group :lambda do
|
|
45
|
-
gem 'aws-sdk', '~> 2.10.39', '< 3.0'
|
|
46
|
-
gem 'rubyzip', '~> 1.1'
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
group :cloud_files do
|
|
50
|
-
gem 'fog-google', '< 0.1.1', platforms: :mri_19
|
|
51
|
-
gem 'fog-profitbricks', '< 2.0', platforms: :mri_19
|
|
52
|
-
gem 'fog'
|
|
53
|
-
gem 'nokogiri', '~> 1.6.8.1'
|
|
54
|
-
end
|
|
55
|
-
|
|
56
|
-
group :releases do
|
|
57
|
-
gem 'octokit', '~> 4.3.0'
|
|
58
|
-
end
|
|
59
|
-
|
|
60
|
-
group :gcs do
|
|
61
|
-
gem 'gstore'
|
|
62
|
-
gem 'mime-types'
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
group :elastic_beanstalk do
|
|
66
|
-
gem 'aws-sdk', '~> 2.10.39', '< 3.0'
|
|
67
|
-
gem 'rubyzip', '~> 1.1'
|
|
68
|
-
end
|
|
69
|
-
|
|
70
|
-
group :bitballoon do
|
|
71
|
-
gem 'bitballoon'
|
|
72
|
-
gem 'jwt', '< 1.5.3', platforms: :mri_19
|
|
73
|
-
end
|
|
74
|
-
|
|
75
|
-
group :puppet_forge do
|
|
76
|
-
gem 'json_pure'
|
|
77
|
-
gem 'puppet'
|
|
78
|
-
gem 'puppet-blacksmith'
|
|
79
|
-
end
|
|
80
|
-
|
|
81
|
-
group :packagecloud do
|
|
82
|
-
gem 'json_pure'
|
|
83
|
-
gem 'packagecloud-ruby', '= 0.2.17'
|
|
84
|
-
end
|
|
85
|
-
|
|
86
|
-
group :testfairy do
|
|
87
|
-
gem 'multipart-post'
|
|
88
|
-
end
|
|
89
|
-
|
|
90
|
-
group :chef_supermarket do
|
|
91
|
-
gem 'chef'
|
|
92
|
-
end
|
|
93
|
-
|
|
94
|
-
group :deis do
|
|
95
|
-
gem 'git'
|
|
96
|
-
end
|
|
97
|
-
|
|
98
|
-
group :opsworks do
|
|
99
|
-
gem 'aws-sdk', '~> 2.10.39', '< 3.0'
|
|
100
|
-
end
|
|
5
|
+
gem 'term-ansicolor'
|
data/README.md
CHANGED
|
@@ -8,7 +8,6 @@ See [CONTRIBUTING.md](.github/CONTRIBUTING.md).
|
|
|
8
8
|
Dpl supports the following providers:
|
|
9
9
|
|
|
10
10
|
* [Anynines](#anynines)
|
|
11
|
-
* [AppFog](#appfog)
|
|
12
11
|
* [Atlas by HashiCorp](#atlas)
|
|
13
12
|
* [AWS CodeDeploy](#aws-codedeploy)
|
|
14
13
|
* [AWS Elastic Beanstalk](#elastic-beanstalk)
|
|
@@ -268,6 +267,9 @@ For authentication you can also use Travis CI secure environment variable:
|
|
|
268
267
|
#### Options:
|
|
269
268
|
|
|
270
269
|
* **api-key**: Rubygems Api Key.
|
|
270
|
+
* **gemspec**: Optional. The name of the `gemspec` file to use to build the gem.
|
|
271
|
+
* **gemspec_glob**: Optional. A glob pattern to search for gemspec files when multiple gems are generated in the repository.
|
|
272
|
+
This _overrides_ the `gemspec` option.
|
|
271
273
|
|
|
272
274
|
#### Examples:
|
|
273
275
|
|
|
@@ -412,19 +414,6 @@ It is possible to set file-specific `Cache-Control` and `Expires` headers using
|
|
|
412
414
|
|
|
413
415
|
dpl --provider=anynines --username=<username> --password=<password> --organization=<organization> --space=<space>
|
|
414
416
|
|
|
415
|
-
### Appfog:
|
|
416
|
-
|
|
417
|
-
#### Options:
|
|
418
|
-
|
|
419
|
-
* **email**: Appfog Email.
|
|
420
|
-
* **password**: Appfog Password.
|
|
421
|
-
* **app**: Appfog App. Defaults to git repo's name.
|
|
422
|
-
|
|
423
|
-
#### Examples:
|
|
424
|
-
|
|
425
|
-
dpl --provider=appfog --email=<email> --password=<password>
|
|
426
|
-
dpl --provider=appfog --email=<email> --password=<password> --app=<app>
|
|
427
|
-
|
|
428
417
|
### Atlas:
|
|
429
418
|
|
|
430
419
|
The Atlas provider uses the [`atlas-upload-cli`](https://github.com/hashicorp/atlas-upload-cli) command. The [Atlas Upload CLI](https://github.com/hashicorp/atlas-upload-cli) is a lightweight command line interface for uploading application code to [Atlas](https://atlas.hashicorp.com/homepage?utm_source=github&utm_medium=travis-ci&utm_campaign=dpl) to kick off Atlas-based deployment processes from Travis CI.
|
|
@@ -723,12 +712,12 @@ For accounts using two factor authentication, you have to use an oauth token as
|
|
|
723
712
|
* **security_group_ids**: Optional. List of security group IDs to be added to the function. Needs the `ec2:DescribeSecurityGroups` and `ec2:DescribeVpcs` permission for the user of the access/secret key to work.
|
|
724
713
|
* **dead_letter_arn**: Optional. ARN to an SNS or SQS resource used for the dead letter queue. [More about DLQs here](https://docs.aws.amazon
|
|
725
714
|
.com/lambda/latest/dg/dlq.html).
|
|
726
|
-
* **tracing_mode**: Optional. "Active" or "PassThrough" only. Default is "PassThrough". Needs the `xray:PutTraceSegments` and `xray:PutTelemetryRecords` on the role for this to work. [More on
|
|
715
|
+
* **tracing_mode**: Optional. "Active" or "PassThrough" only. Default is "PassThrough". Needs the `xray:PutTraceSegments` and `xray:PutTelemetryRecords` on the role for this to work. [More on
|
|
727
716
|
Active Tracing here](https://docs.aws.amazon.com/lambda/latest/dg/lambda-x-ray.html).
|
|
728
717
|
* **environment_variables**: Optional. List of Environment Variables to add to the function, needs to be in the format of `KEY=VALUE`. Can be encrypted for added security.
|
|
729
718
|
* **kms_key_arn**: Optional. KMS key ARN to use to encrypt `environment_variables`.
|
|
730
719
|
* **function_tags**: Optional. List of tags to add to the function, needs to be in the format of `KEY=VALUE`. Can be encrypted for added security.
|
|
731
|
-
|
|
720
|
+
|
|
732
721
|
For a list of all [permissions for Lambda, please refer to the documentation](https://docs.aws.amazon.com/lambda/latest/dg/lambda-api-permissions-ref.html).
|
|
733
722
|
|
|
734
723
|
#### Examples:
|
data/Rakefile
CHANGED
|
@@ -1 +1,160 @@
|
|
|
1
|
-
|
|
1
|
+
require 'bundler'
|
|
2
|
+
require 'term/ansicolor'
|
|
3
|
+
require 'pathname'
|
|
4
|
+
require 'logger'
|
|
5
|
+
require './lib/dpl/version'
|
|
6
|
+
require 'highline'
|
|
7
|
+
|
|
8
|
+
include Term::ANSIColor
|
|
9
|
+
|
|
10
|
+
def cli
|
|
11
|
+
@cli ||= HighLine.new
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
@ready = false
|
|
15
|
+
|
|
16
|
+
def logger
|
|
17
|
+
@logger ||= Logger.new($stdout)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def top
|
|
21
|
+
@top ||= Pathname.new File.expand_path(File.dirname(__FILE__))
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def gem_version
|
|
25
|
+
ENV['DPL_VERSION'] || DPL::VERSION
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def confirm(verb = "release")
|
|
29
|
+
unless @ready
|
|
30
|
+
answer = cli.ask "Ready to #{verb} `dpl` version #{gem_version}? (y/n)"
|
|
31
|
+
if answer !~ /^y/i
|
|
32
|
+
abort red("Aborting #{verb}")
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
@ready = true
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
gemspecs = FileList[File.join(top, "dpl-*.gemspec")]
|
|
40
|
+
|
|
41
|
+
providers = gemspecs.map { |f| /dpl-(?<provider>.*)\.gemspec/ =~ f && provider }
|
|
42
|
+
|
|
43
|
+
task :default => [:spec, :install] do
|
|
44
|
+
Rake::Task["spec_providers"].invoke
|
|
45
|
+
Rake::Task["check_providers"].invoke
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
desc "Run spec on all providers"
|
|
49
|
+
task :spec_providers do
|
|
50
|
+
providers.each do |provider|
|
|
51
|
+
Rake::Task["spec-#{provider}"].invoke
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
desc "Check all provider gems install correctly"
|
|
56
|
+
task :check_providers do
|
|
57
|
+
providers.each do |provider|
|
|
58
|
+
Rake::Task["check-#{provider}"].invoke
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
desc "Build all gems"
|
|
63
|
+
task :build => "dpl-#{gem_version}.gem" do
|
|
64
|
+
providers.each do |provider|
|
|
65
|
+
Rake::Task["dpl-#{provider}-#{gem_version}.gem"].invoke
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
desc "Release all gems"
|
|
70
|
+
task :release do
|
|
71
|
+
confirm
|
|
72
|
+
threads = []
|
|
73
|
+
providers.each { |provider| threads << Thread.new { Rake::Task["release-#{provider}"].invoke } }
|
|
74
|
+
threads.each { |thr| thr.join }
|
|
75
|
+
logger.info green("Pushing dpl-#{gem_version}.gem")
|
|
76
|
+
sh "gem push dpl-#{gem_version}.gem"
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
desc "Yank all gems"
|
|
80
|
+
task :yank, [:version] do |t, args|
|
|
81
|
+
version = args.version
|
|
82
|
+
confirm "yank"
|
|
83
|
+
logger.info green("Yanking `dpl` version #{version}")
|
|
84
|
+
sh "gem yank dpl -v #{version}"
|
|
85
|
+
threads = []
|
|
86
|
+
providers.each { |provider| threads << Thread.new { Rake::Task["yank-#{provider}"].invoke } }
|
|
87
|
+
threads.each { |thr| thr.join }
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
task :deep_clean do
|
|
91
|
+
Rake::Task[:clean].invoke
|
|
92
|
+
sh "git clean -dfx"
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
task :clean do
|
|
96
|
+
rm_rf "stubs"
|
|
97
|
+
rm_rf "vendor"
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
desc "Run dpl specs"
|
|
101
|
+
task :spec do
|
|
102
|
+
ruby '-S rspec spec/cli_spec.rb spec/provider_spec.rb'
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
desc "Build dpl gem"
|
|
106
|
+
file "dpl-#{gem_version}.gem" do
|
|
107
|
+
logger.info green("Building dpl gem")
|
|
108
|
+
ruby "-S gem build dpl.gemspec"
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
desc "Install dpl gem"
|
|
112
|
+
task :install => "dpl-#{gem_version}.gem" do
|
|
113
|
+
logger.info green("Installing dpl gem")
|
|
114
|
+
ruby "-S gem install dpl-#{gem_version}.gem"
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
providers.each do |provider|
|
|
118
|
+
desc "Write Gemfile-#{provider}"
|
|
119
|
+
file "Gemfile-#{provider}" do |t|
|
|
120
|
+
gemfile = top + t.name
|
|
121
|
+
logger.info green("Writing #{gemfile}")
|
|
122
|
+
gemfile.write %Q(source 'https://rubygems.org'\ngemspec :name => "dpl-#{provider}"\n)
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
desc %Q(Run dpl-#{provider} specs)
|
|
126
|
+
task "spec-#{provider}" => [:install, "Gemfile-#{provider}"] do
|
|
127
|
+
sh "rm -f $HOME/.npmrc"
|
|
128
|
+
logger.info green("Running `bundle install` for #{provider}")
|
|
129
|
+
sh 'bash', '-cl', "bundle install --gemfile=Gemfile-#{provider} --path=vendor/cache/dpl-#{provider} --retry=3 --binstubs=stubs"
|
|
130
|
+
logger.info green("Running specs for #{provider}")
|
|
131
|
+
sh "env BUNDLE_GEMFILE=Gemfile-#{provider} ./stubs/rspec spec/provider/#{provider}_spec.rb"
|
|
132
|
+
end
|
|
133
|
+
|
|
134
|
+
desc "Build dpl-#{provider} gem"
|
|
135
|
+
file "dpl-#{provider}-#{gem_version}.gem" do
|
|
136
|
+
logger.info green("Building dpl-#{provider} gem")
|
|
137
|
+
ruby "-S gem build --silent dpl-#{provider}.gemspec"
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
desc "Test dpl-#{provider} gem"
|
|
141
|
+
task "check-#{provider}" => [:install, "dpl-#{provider}-#{gem_version}.gem"] do
|
|
142
|
+
logger.info green("Installing dpl-#{provider} gem")
|
|
143
|
+
sh "gem install --no-post-install-message dpl-#{provider}-#{gem_version}.gem"
|
|
144
|
+
logger.info green("Testing dpl-#{provider} loads correctly")
|
|
145
|
+
ruby "-S dpl --provider=#{provider} --skip-cleanup=true --no-deploy"
|
|
146
|
+
end
|
|
147
|
+
|
|
148
|
+
desc "Release dpl-#{provider} gem"
|
|
149
|
+
task "release-#{provider}" => "dpl-#{provider}-#{gem_version}.gem" do
|
|
150
|
+
confirm
|
|
151
|
+
logger.info green("Pushing dpl-#{provider}-#{gem_version}.gem")
|
|
152
|
+
sh "gem push dpl-#{provider}-#{gem_version}.gem"
|
|
153
|
+
end
|
|
154
|
+
|
|
155
|
+
desc "Yank dpl-#{provider}"
|
|
156
|
+
task "yank-#{provider}" do
|
|
157
|
+
logger.info green("Yanking dpl-#{provider} version #{gem_version}")
|
|
158
|
+
sh "gem yank dpl-#{provider} -v #{gem_version}"
|
|
159
|
+
end
|
|
160
|
+
end
|
data/dpl-atlas.gemspec
ADDED
data/dpl-bintray.gemspec
ADDED