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

Sign up to get free protection for your applications and to get access to all the features.
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