mina-circle 0.1.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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: b9c8ca20aafb5a47508240603e00aa3281522ebe
4
+ data.tar.gz: 8205c8898aa81cb1a3dcad223a96badbe1763d9e
5
+ SHA512:
6
+ metadata.gz: 67b454ba59de6651aacf5842036aa280a3b51d88c7554e265abcd91e87e2e78b29e40b982f560a54f9888a95cc74103965d375d74e464a348f9d53dc6e820769
7
+ data.tar.gz: 2158b598ab00630453fdddc5577e5c40b464d2d601834c6b405b9149baeea292b9982cb3a0f4aa96910fa9109f4db1792e14205d10c0b194f42c70861def0cb0
@@ -0,0 +1,6 @@
1
+ require 'json'
2
+ require 'open-uri'
3
+
4
+ require 'mina-circle/version'
5
+ require 'mina-circle/helpers'
6
+ require 'mina-circle/tasks'
@@ -0,0 +1,23 @@
1
+ module MinaCircle
2
+ module Helpers
3
+ def parse_from_home_dir
4
+ File.exist?(config_file) ? YAML.load_file(config_file)['token'] : nil
5
+ end
6
+
7
+ def config_file
8
+ File.join(Dir.home, '.mina-circle.yml')
9
+ end
10
+
11
+ def latest_build_number
12
+ base_uri = 'https://circleci.com/api/v1/project'
13
+ base_path = "#{circle_user}/#{circle_project}/tree/master"
14
+ url = "#{base_uri}/#{base_path}?circle-token=#{circle_token}&limit=1&filter=completed"
15
+ JSON.parse(open(url).read).first['build_num'].to_s
16
+ end
17
+
18
+ def build_url
19
+ "https://circle-artifacts.com/gh/#{circle_user}/#{circle_project}/#{latest_build_number}/artifacts/0/home/ubuntu/#{circle_artifact}?circle-token=#{circle_token}"
20
+ end
21
+ end
22
+ end
23
+
@@ -0,0 +1,34 @@
1
+ extend MinaCircle::Helpers
2
+ # # Mina CircleCI Build Artifact Deployment
3
+ # Deploy builds from CircleCI's artifact library.
4
+ #
5
+ # require 'mina-circle'
6
+ #
7
+ # ## Settings
8
+ #
9
+ # ### circle_token
10
+ # API access token. By default this is taken from ~/.mina-circle.yml if it exists
11
+ #
12
+ # ### circle_user
13
+ # user name
14
+ #
15
+ # ### circle_project
16
+ # Name by which CircleCI knows your project
17
+ #
18
+ # ### circle_artifact
19
+ # Name CircleCI calls your build archive
20
+ #
21
+ # ### circle_explode_command
22
+ # Command with options for decompressing the artifact archive
23
+
24
+ set_default(:circle_token, parse_from_home_dir || fail('CircleCI token required'))
25
+
26
+ namespace :circleci do
27
+
28
+ desc 'Downloads and explodes the archive file containing the build'
29
+ task :deploy do
30
+ queue "curl -o #{circle_artifact} #{build_url}"
31
+ queue "#{circle_explode_command} #{circle_artifact}"
32
+ end
33
+ end
34
+
@@ -0,0 +1,3 @@
1
+ module MinaCircle
2
+ VERSION = '0.1.0'
3
+ end
metadata ADDED
@@ -0,0 +1,70 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: mina-circle
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Patrick Simpson
8
+ - Michael Yockey
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2015-04-22 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: mina
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: '0.3'
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 0.3.0
24
+ type: :runtime
25
+ prerelease: false
26
+ version_requirements: !ruby/object:Gem::Requirement
27
+ requirements:
28
+ - - "~>"
29
+ - !ruby/object:Gem::Version
30
+ version: '0.3'
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 0.3.0
34
+ description: Deploy without dependancies using mina and CircleCI.
35
+ email:
36
+ - patrick@heysparkbox.com
37
+ - mike@heysparkbox.com
38
+ executables: []
39
+ extensions: []
40
+ extra_rdoc_files: []
41
+ files:
42
+ - lib/mina-circle.rb
43
+ - lib/mina-circle/helpers.rb
44
+ - lib/mina-circle/tasks.rb
45
+ - lib/mina-circle/version.rb
46
+ homepage: https://github.com/sparkbox/mina-circle
47
+ licenses:
48
+ - MIT
49
+ metadata: {}
50
+ post_install_message:
51
+ rdoc_options: []
52
+ require_paths:
53
+ - lib
54
+ required_ruby_version: !ruby/object:Gem::Requirement
55
+ requirements:
56
+ - - ">="
57
+ - !ruby/object:Gem::Version
58
+ version: '0'
59
+ required_rubygems_version: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: '0'
64
+ requirements: []
65
+ rubyforge_project:
66
+ rubygems_version: 2.2.2
67
+ signing_key:
68
+ specification_version: 4
69
+ summary: Deploy your application from artifacts produced by CircleCI
70
+ test_files: []