auto-deploy-test 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ MDU4ZjFkMmY3MmJhN2Y3YzYxMmU1NTYxN2E5YTk1OGU5ZWQ3ODYxYw==
5
+ data.tar.gz: !binary |-
6
+ ZDU5YTYzNTA2YWJiZmNhOTc4NDgyMmI3ZTg3NjE1ODNhNjI1YTFlZg==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ MzY4NzQ5ZTcxNGU4OTRiMWYxZWViZmJmNGQwMmRkM2Y3YjJmMTViNDI3OWRm
10
+ OWUwMDMzMjc3OTY4Zjg1MDViZDliODJmMTgwYTcwYzllZDQyNzE4NjZmNjc1
11
+ NDg2NjlmNjJhMzY1NWY2ZjI1ZWE2YzQwZTk2YWViMjFiYjFlMmU=
12
+ data.tar.gz: !binary |-
13
+ ZWU2MTViNzAyODY5ZjU4ZjFmMjU2MTllMjc1ODhmOGMxOTJiMWFkM2UyNzVi
14
+ YTNkNjQ3ZjMwZGM1OWJkNGJhZWQwMzNjOGY1MjBjN2JjMTU3NDA1MjE1YzM4
15
+ YTZkNjU0MzgyNDllY2VhMjUxZWZjNDgxYTI5OWVmZGQ4NGZkYTk=
data/.gitignore ADDED
@@ -0,0 +1,6 @@
1
+ Gemfile.lock
2
+ *.gem
3
+ .yardoc
4
+ api-docs
5
+ api-docs.tgz
6
+ coverage
data/.travis.yml ADDED
@@ -0,0 +1,28 @@
1
+ script: bundle exec rake build
2
+
3
+ rvm:
4
+ - 1.9.3
5
+ - 2.0.0
6
+ - 2.1.2
7
+ - jruby
8
+
9
+ deploy:
10
+
11
+ - provider: rubygems
12
+ gem: auto-deploy-test
13
+ skip_cleanup: true
14
+ api_key:
15
+ secure: nc2t9oY2+Fa3HHx/dm9sO9G3IwsUO+u0MfEdGBvkJyBpoQ7bTzim3huxWwCues3Mg99wXGytbRuWs8xKIaF4khBIkhRv0dNCGCy4bQH4fXKKjfYviv+DBcj4qbd6K6Ec9i4v7hV9Vj2WeEj1+Gl0OPVI1H2H521s2hHbZlAq0H0=
16
+ on:
17
+ all_branches: true
18
+ tags: true
19
+
20
+ - provider: releases
21
+ skip_cleanup: true
22
+ file: api-docs.tgz
23
+ api_key:
24
+ secure: pqrstcdRYkVmOvj6BFSmPpKHqva/Njqmlk4GKXU4i5QJiGKtxaYO86usOKnw8wOq04rcy9dxSoQyUDfo7XtPItPSCzz44OSPGypZeFq070H7Qw0IEfOPXOKyvv5kMXOQga8PTYHOKNaT2xEN0jfLNhcDIEcDgnWglThyZQKIg6M=
25
+ on:
26
+ repo: trevorrowe/AutoDeployTest
27
+ all_branches: true
28
+ tags: true
data/.yardopts ADDED
@@ -0,0 +1,5 @@
1
+ --title 'Auto Deploy Test'
2
+ --output-dir api-docs
3
+ --markup markdown
4
+ --markup-provider kramdown
5
+ lib/**/*.rb
data/CHANGELOG.md ADDED
@@ -0,0 +1,6 @@
1
+ Next Release (TBD)
2
+ ---
3
+
4
+ * Added task for running tests, building docs and the gem file. Run them
5
+ all together via `bundle exec rake build`.
6
+
data/Gemfile ADDED
@@ -0,0 +1,16 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
4
+
5
+ gem 'rake'
6
+
7
+ group :test do
8
+ gem 'rspec', '~> 3.0.0'
9
+ gem 'simplecov', require: false
10
+ gem 'coveralls', require: false
11
+ end
12
+
13
+ group :docs do
14
+ gem 'yard'
15
+ gem 'kramdown'
16
+ end
data/README.md ADDED
@@ -0,0 +1,7 @@
1
+ # AutoDeployTest [![Build Status](https://travis-ci.org/trevorrowe/AutoDeployTest.png?branch=master)](https://travis-ci.org/trevorrowe/AutoDeployTest) [![Coverage Status](https://img.shields.io/coveralls/trevorrowe/AutoDeployTest.svg)](https://coveralls.io/r/trevorrowe/AutoDeployTest?branch=master)
2
+
3
+ The purpose of this project is to demonstrate how to fully automate the
4
+ release of a Ruby gem as the result of a tag push to GitHub.
5
+
6
+ **This is very much a work-in-progress.**
7
+
data/Rakefile ADDED
@@ -0,0 +1,11 @@
1
+ root = File.dirname(__FILE__)
2
+
3
+ $:.unshift(File.join(root, "lib"))
4
+
5
+ Dir[File.join(root, 'tasks', '**', '*.rake')].each do |task_file|
6
+ load task_file
7
+ end
8
+
9
+ task :default => %w(test)
10
+
11
+ task :build => %w(test gem:build docs)
@@ -0,0 +1,22 @@
1
+ lib = File.expand_path('../lib', __FILE__)
2
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
+
4
+ require 'auto_deploy_test/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = 'auto-deploy-test'
8
+ spec.version = AutoDeployTest::VERSION
9
+ spec.summary = 'A project for testing build and release features of Travis-CI and GitHub.'
10
+ spec.description = <<-DESC.strip
11
+ A simple project to test auto building and release using GitHub and Travis-CI.
12
+ The goal is to fully automate test, build, and release as the result of a
13
+ tag push. The release needs to have release artifacts including the gem,
14
+ docs, and release notes.
15
+ DESC
16
+ spec.author = 'Trevor Rowe'
17
+ spec.email = 'trevorrowe@gmail.com'
18
+ spec.homepage = 'http://github.com/trevorrowe/AutoDeployTest'
19
+ spec.license = 'Apache 2.0'
20
+ spec.require_paths = ['lib']
21
+ spec.files = `git ls-files`.split("\n")
22
+ end
@@ -0,0 +1,11 @@
1
+ require 'auto_deploy_test/version'
2
+
3
+ # Nothing to see here.
4
+ class AutoDeployTest
5
+
6
+ # @return [Boolean] Returns `true`.
7
+ def testable_method
8
+ true
9
+ end
10
+
11
+ end
@@ -0,0 +1,4 @@
1
+ class AutoDeployTest
2
+ # gem version
3
+ VERSION = '0.1.4'
4
+ end
@@ -0,0 +1,13 @@
1
+ require 'spec_helper'
2
+
3
+ describe AutoDeployTest do
4
+
5
+ it 'has an X.Y.Z version' do
6
+ expect(AutoDeployTest::VERSION).to match(/^\d+\.\d+\.\d+$/)
7
+ end
8
+
9
+ it 'returns true from #testable_method' do
10
+ expect(AutoDeployTest.new.testable_method).to be(true)
11
+ end
12
+
13
+ end
@@ -0,0 +1,15 @@
1
+ require 'coveralls'
2
+
3
+ Coveralls.wear!
4
+
5
+ SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
6
+ SimpleCov::Formatter::HTMLFormatter,
7
+ Coveralls::SimpleCov::Formatter
8
+ ]
9
+
10
+ require 'rspec'
11
+ require 'auto-deploy-test'
12
+
13
+ SimpleCov.start do
14
+ add_filter 'spec'
15
+ end
data/tasks/docs.rake ADDED
@@ -0,0 +1,17 @@
1
+ require 'yard'
2
+
3
+ task 'docs:clobber' do
4
+ rm_rf '.yardoc'
5
+ rm_rf 'api-docs'
6
+ rm_rf 'api-docs.tgz'
7
+ end
8
+
9
+ desc 'Generates the API documentation.'
10
+ YARD::Rake::YardocTask.new('docs:build')
11
+
12
+ desc 'Generates api-docs.tgz'
13
+ task 'docs:zip' do
14
+ sh 'tar czf api-docs.tgz api-docs/'
15
+ end
16
+
17
+ task :docs => %w(docs:clobber docs:build docs:zip)
data/tasks/gem.rake ADDED
@@ -0,0 +1,7 @@
1
+ namespace :gem do
2
+
3
+ task :build do
4
+ sh("gem build auto-deploy-test.gemspec")
5
+ end
6
+
7
+ end
@@ -0,0 +1,34 @@
1
+ def version
2
+ version = ENV['VERSION'].to_s.sub(/^v/, '')
3
+ if version.empty?
4
+ warn("usage: VERSION=x.y.z rake release:tag")
5
+ exit
6
+ end
7
+ version
8
+ end
9
+
10
+ namespace :release do
11
+
12
+ task :require_version do
13
+ version
14
+ end
15
+
16
+ task :tag do
17
+ path = 'lib/auto_deploy_test/version.rb'
18
+ file = File.read(path)
19
+ file = file.gsub(/VERSION = '.+?'/, "VERSION = '#{version}'")
20
+ File.open(path, 'w') { |f| f.write(file) }
21
+ sh("git add lib/auto_deploy_test/version.rb")
22
+ sh("git commit -m \"Tag release v#{version}\"")
23
+ sh("git tag v#{version}")
24
+ end
25
+
26
+ task :push do
27
+ sh('git push origin')
28
+ sh('git push origin --tags')
29
+ end
30
+
31
+ end
32
+
33
+ desc "Releases a new version"
34
+ task :release => %w(release:require_version test release:tag release:push)
data/tasks/test.rake ADDED
@@ -0,0 +1,6 @@
1
+ require 'rspec/core/rake_task'
2
+
3
+ desc "Runs unit tests"
4
+ RSpec::Core::RakeTask.new(:test) do |t|
5
+ t.pattern = "spec"
6
+ end
metadata ADDED
@@ -0,0 +1,66 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: auto-deploy-test
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.4
5
+ platform: ruby
6
+ authors:
7
+ - Trevor Rowe
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-08-15 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: ! 'A simple project to test auto building and release using GitHub and
14
+ Travis-CI.
15
+
16
+ The goal is to fully automate test, build, and release as the result of a
17
+
18
+ tag push. The release needs to have release artifacts including the gem,
19
+
20
+ docs, and release notes.'
21
+ email: trevorrowe@gmail.com
22
+ executables: []
23
+ extensions: []
24
+ extra_rdoc_files: []
25
+ files:
26
+ - .gitignore
27
+ - .travis.yml
28
+ - .yardopts
29
+ - CHANGELOG.md
30
+ - Gemfile
31
+ - README.md
32
+ - Rakefile
33
+ - auto-deploy-test.gemspec
34
+ - lib/auto-deploy-test.rb
35
+ - lib/auto_deploy_test/version.rb
36
+ - spec/auto_deploy_test_spec.rb
37
+ - spec/spec_helper.rb
38
+ - tasks/docs.rake
39
+ - tasks/gem.rake
40
+ - tasks/release.rake
41
+ - tasks/test.rake
42
+ homepage: http://github.com/trevorrowe/AutoDeployTest
43
+ licenses:
44
+ - Apache 2.0
45
+ metadata: {}
46
+ post_install_message:
47
+ rdoc_options: []
48
+ require_paths:
49
+ - lib
50
+ required_ruby_version: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ required_rubygems_version: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - ! '>='
58
+ - !ruby/object:Gem::Version
59
+ version: '0'
60
+ requirements: []
61
+ rubyforge_project:
62
+ rubygems_version: 2.3.0
63
+ signing_key:
64
+ specification_version: 4
65
+ summary: A project for testing build and release features of Travis-CI and GitHub.
66
+ test_files: []