dpl 1.8.15.travis.1358.4 → 1.8.15.travis.1374.4

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 CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NTNhOTliNmJkMTkyNjA0MzJjNDQ0ZTZkNjVkM2YzOWVlYTUxMjY0MA==
4
+ MzM5YmQ3ZTQ1ZDMxODhlZWY0N2U5NjE3OGIyMWE0Yjg4MDkzZTUzYg==
5
5
  data.tar.gz: !binary |-
6
- ZTUyNWI2ZjVmNmMzODE4OTgyZWJlNzk0ZjFmMWEzODAzMDQxNDY2OQ==
6
+ ZTlhNWZhZjdmMzRiNjFjNjYwMDcyMjk5YmQ3ZDRjOWE2NTU1OWZlOQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- YWM2MDA5MWYyMjhiODZhZjI2MWYwYjljNTc4NTRkZjc3YWIwYjhjNzRmZDMz
10
- YzcyMmE0NDVmMjNlMzExMWE4YTk1ZDkzZGFmMjZhYjRlZmY2MzkzMDlmOTcw
11
- YjkwZjJhY2IxNDk5YmNjMmI1OGFmMjU2ODJjODMwOTBkZmI3NTQ=
9
+ ZjNkNTdmM2E5ZWM2NmVlNWI0ODY3Mzc5ZGE0NjA4NDMwZDhhZDBmNjc1ODRl
10
+ Yzc3NTM3YzhiZTA3MDkwYmNiZWUxMmU2MDA0MWEzNmRlNzEzMTE5YmJkYWNh
11
+ NDQ5NTMxNDJjOTVmYTc4ODkxMGIzOWVlMzU1N2IzYmE3ZDNjZmM=
12
12
  data.tar.gz: !binary |-
13
- ZDEwY2VmZTA3ZWFlMDc2MGM0MWFiZWY1MDBhM2MyOGZiMzI5ZWY3YTJlZTk5
14
- Mjg0YWZiZGEwZDM2NjZiODVkN2I1ZDFjYTJmM2QyYTg1MGZkMmY0YmVmYWJm
15
- ZmRlODU3YzZkYjFiNDEyNjUxNGUxN2MxZmM5MWJhYjg4YjljNDI=
13
+ NGExODJkZDNlNDc3YjVlNDYyNjkyZGE1Mjg5N2I5ZWY5YTNjMjFiYTdhYzY0
14
+ Yzk3MjM3OGM5ZjlhNjNmM2MzMTdkZTk4NWEzNzJjZTkwZGNjNDBiMTQ0OTE0
15
+ NmE2YTQyZjJlNWVjMjA0YThiZTkxZTk4NDkyZmU4YjlkOTE3NGQ=
data/README.md CHANGED
@@ -47,6 +47,7 @@ Dpl supports the following providers:
47
47
  * [S3](#s3)
48
48
  * [Scalingo](#scalingo)
49
49
  * [Script](#script)
50
+ * [Surge.sh](#surgesh)
50
51
  * [TestFairy](#testfairy)
51
52
 
52
53
  ## Installation:
@@ -871,3 +872,22 @@ In order to use this provider, please make sure you have the [App Engine Admin A
871
872
  #### Examples:
872
873
 
873
874
  dpl --provider=firebase --token=<token> --project=<project>
875
+
876
+
877
+
878
+ ### Surge.sh
879
+
880
+ #### Options:
881
+
882
+ * **project** Path to project folder relative to repo root. Defaults to repo root if not set.
883
+ * **domain** Domain to publish to. Can be omitted if domain is set in the `CNAME` file in the project folder.
884
+
885
+
886
+ #### Environment variables:
887
+
888
+ * **SURGE_LOGIN**: Set it to the email address you use with Surge
889
+ * **SURGE_TOKEN**: Set it to your login token (get it by doing a `surge token`)
890
+
891
+ #### Example:
892
+ dpl --provider=surge --project=<project-path> --domain=<domain-name>
893
+
data/lib/dpl/provider.rb CHANGED
@@ -46,6 +46,7 @@ module DPL
46
46
  autoload :S3, 'dpl/provider/s3'
47
47
  autoload :Scalingo, 'dpl/provider/scalingo'
48
48
  autoload :Script, 'dpl/provider/script'
49
+ autoload :Surge, 'dpl/provider/surge'
49
50
  autoload :TestFairy, 'dpl/provider/testfairy'
50
51
  autoload :Transifex, 'dpl/provider/transifex'
51
52
 
@@ -0,0 +1,33 @@
1
+ module DPL
2
+ class Provider
3
+ class Surge < Provider
4
+ npm_g 'surge'
5
+
6
+ def project
7
+ File.expand_path( (context.env['TRAVIS_BUILD_DIR'] || '.' ) + "/" + (options[:project] || '') )
8
+ end
9
+
10
+ def domain
11
+ options[:domain] || ''
12
+ end
13
+
14
+ def check_auth
15
+ if ! context.env['SURGE_TOKEN'] then raise Error, "Please add SURGE_TOKEN in Travis settings (get your token with 'surge token')" end
16
+ if ! context.env['SURGE_LOGIN'] then raise Error, "Please add SURGE_LOGIN in Travis settings (its your email)" end
17
+ end
18
+
19
+ def check_app
20
+ if ! File.directory?(project) then raise Error, "Please set a valid project folder path in .travis.yml under deploy: project: myPath" end
21
+ if domain.empty? && ! File.exist?("#{project}/CNAME") then raise Error, "Please set domain in .travis.yml under deploy: project: myDomain (or in a CNAME file in the repo project folder)" end
22
+ end
23
+
24
+ def needs_key?
25
+ false
26
+ end
27
+
28
+ def push_app
29
+ context.shell "surge #{project} #{domain}"
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,15 @@
1
+ require 'spec_helper'
2
+ require 'dpl/provider/surge'
3
+
4
+ describe DPL::Provider::Surge do
5
+ subject :provider do
6
+ described_class.new(DummyContext.new, :project => './', :domain => 'mydomain')
7
+ end
8
+
9
+ describe "#push_app" do
10
+ it 'should peforme a surge command with correct project and domain set' do
11
+ expect(provider.context).to receive(:shell).with("surge " + File.expand_path('./') + " mydomain")
12
+ provider.push_app
13
+ end
14
+ end
15
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dpl
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.15.travis.1358.4
4
+ version: 1.8.15.travis.1374.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Konstantin Haase
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-04-11 00:00:00.000000000 Z
11
+ date: 2016-04-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -161,6 +161,7 @@ files:
161
161
  - lib/dpl/provider/s3.rb
162
162
  - lib/dpl/provider/scalingo.rb
163
163
  - lib/dpl/provider/script.rb
164
+ - lib/dpl/provider/surge.rb
164
165
  - lib/dpl/provider/testfairy.rb
165
166
  - lib/dpl/provider/transifex.rb
166
167
  - lib/dpl/version.rb
@@ -207,6 +208,7 @@ files:
207
208
  - spec/provider/s3_spec.rb
208
209
  - spec/provider/scalingo_spec.rb
209
210
  - spec/provider/script_spec.rb
211
+ - spec/provider/surge_spec.rb
210
212
  - spec/provider/testfairy_spec.rb
211
213
  - spec/provider/transifex_spec.rb
212
214
  - spec/provider_spec.rb