egads 5.1.0 → 5.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/actions/setup-rubygems/action.yml +19 -0
- data/.github/actions/test/action.yml +15 -0
- data/.github/workflows/test-release.yml +40 -0
- data/.gitignore +2 -0
- data/README.md +20 -5
- data/Rakefile +21 -2
- data/Taskfile.yml +14 -0
- data/egads.gemspec +13 -11
- data/lib/egads/command/extract.rb +1 -1
- data/lib/egads/command/stage.rb +1 -3
- data/lib/egads/config.rb +8 -3
- data/lib/egads/version.rb +1 -1
- data/spec/egads_build_spec.rb +6 -6
- data/spec/egads_check_spec.rb +5 -5
- data/spec/egads_command_spec.rb +1 -1
- data/spec/egads_config_spec.rb +12 -12
- data/spec/egads_extract_spec.rb +1 -1
- data/spec/egads_release_spec.rb +1 -1
- data/spec/egads_s3_tarball_spec.rb +5 -6
- data/spec/egads_stage_spec.rb +1 -1
- data/spec/egads_trim_spec.rb +1 -1
- data/spec/egads_upload_spec.rb +1 -1
- metadata +24 -8
- data/.travis.yml +0 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8348c5aca63c2325a8095c5fdda6e8c85b44641e04d447554d80a40b566d5101
|
4
|
+
data.tar.gz: 5b55d42a36076dccae4843a921f19f746838ff1803516ce36592321cd537b184
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 36a66fa1bd1420bca04a1ff0863da5cf779f81363131de3c20017c7e12cb8aa19fd4ebfc3167cc7f8abe4a224c76595cbdf7aeb4124641ab1113be235ff53498
|
7
|
+
data.tar.gz: d14ca2674e18202225343602e8efc30164998edfb5a5e2fa8996518624f1ce5a7da03261d0535d3928e6d6ba0bfbb96942ca7c7c0382512fb194ce4d8851a65e
|
@@ -0,0 +1,19 @@
|
|
1
|
+
name: Setup RubyGems
|
2
|
+
description: Setup RubyGems credentials
|
3
|
+
inputs:
|
4
|
+
rubygems_api_key:
|
5
|
+
description: RubyGems API key
|
6
|
+
required: true
|
7
|
+
runs:
|
8
|
+
using: composite
|
9
|
+
steps:
|
10
|
+
- run: mkdir -p ~/.gem
|
11
|
+
shell: bash
|
12
|
+
- run: |
|
13
|
+
cat <<-YAML > ~/.gem/credentials
|
14
|
+
---
|
15
|
+
:rubygems_api_key: ${{ inputs.rubygems_api_key }}
|
16
|
+
YAML
|
17
|
+
shell: bash
|
18
|
+
- run: chmod 0600 ~/.gem/credentials
|
19
|
+
shell: bash
|
@@ -0,0 +1,15 @@
|
|
1
|
+
name: Test
|
2
|
+
description: Run tests
|
3
|
+
inputs:
|
4
|
+
activesupport-version:
|
5
|
+
description: ActiveSupport version constraint
|
6
|
+
required: true
|
7
|
+
runs:
|
8
|
+
using: composite
|
9
|
+
steps:
|
10
|
+
- run: bundle add activesupport -v '${{ inputs.activesupport-version }}'
|
11
|
+
shell: bash
|
12
|
+
- run: bundle install
|
13
|
+
shell: bash
|
14
|
+
- run: bundle exec rake
|
15
|
+
shell: bash
|
@@ -0,0 +1,40 @@
|
|
1
|
+
name: Test and Release
|
2
|
+
on:
|
3
|
+
pull_request:
|
4
|
+
push:
|
5
|
+
release:
|
6
|
+
types:
|
7
|
+
- published
|
8
|
+
jobs:
|
9
|
+
test:
|
10
|
+
name: Test [Ruby ${{ matrix.ruby-version }}]
|
11
|
+
runs-on: ubuntu-latest
|
12
|
+
strategy:
|
13
|
+
matrix:
|
14
|
+
ruby-version:
|
15
|
+
- "2.7"
|
16
|
+
- "3.1"
|
17
|
+
- "3.2"
|
18
|
+
steps:
|
19
|
+
- uses: actions/checkout@v3
|
20
|
+
- uses: ruby/setup-ruby@v1
|
21
|
+
with:
|
22
|
+
ruby-version: ${{ matrix.ruby-version }}
|
23
|
+
- run: bundle install
|
24
|
+
- run: bundle exec rake test
|
25
|
+
push:
|
26
|
+
name: Publish Gem
|
27
|
+
if: ${{ github.event.release }}
|
28
|
+
needs:
|
29
|
+
- test
|
30
|
+
runs-on: ubuntu-latest
|
31
|
+
steps:
|
32
|
+
- uses: actions/checkout@v3
|
33
|
+
- uses: ruby/setup-ruby@v1
|
34
|
+
with:
|
35
|
+
ruby-version: "3.2"
|
36
|
+
- uses: ./.github/actions/setup-rubygems
|
37
|
+
with:
|
38
|
+
rubygems_api_key: ${{ secrets.RUBYGEMS_API_KEY }}
|
39
|
+
- run: bundle install
|
40
|
+
- run: bundle exec rake gem:push
|
data/.gitignore
CHANGED
data/README.md
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
# egads!!!
|
2
2
|
# *Extensible Git-Archive Deploy Strategy*
|
3
3
|
|
4
|
+
[![Test and Release](https://github.com/kickstarter/egads/actions/workflows/test-release.yml/badge.svg)](https://github.com/kickstarter/egads/actions/workflows/test-release.yml)
|
5
|
+
|
4
6
|
egads is a set of commands for deploying applications without depending on a git
|
5
7
|
server.
|
6
8
|
|
@@ -13,13 +15,17 @@ Climate](https://d3s6mut3hikguw.cloudfront.net/github/kickstarter/egads.svg)](ht
|
|
13
15
|
|
14
16
|
Put `egads` in your Gemfile:
|
15
17
|
|
16
|
-
|
17
|
-
|
18
|
+
```ruby
|
19
|
+
# ./Gemfile
|
20
|
+
gem 'egads', require: nil
|
21
|
+
```
|
18
22
|
|
19
23
|
On remote machines (to which you deploy), `egads` must be in your PATH.
|
20
24
|
So install `egads` as a system gem:
|
21
25
|
|
22
|
-
|
26
|
+
```bash
|
27
|
+
gem install egads
|
28
|
+
```
|
23
29
|
|
24
30
|
## Commands
|
25
31
|
|
@@ -31,8 +37,8 @@ Commands are either *porcelain* commands that you should call directly as part o
|
|
31
37
|
|
32
38
|
### Local commands
|
33
39
|
|
34
|
-
* `egads check
|
35
|
-
* `egads build
|
40
|
+
* `egads check SHA` - checks if a deployable tarball of the current commit exists on S3.
|
41
|
+
* `egads build SHA` - makes a deployable tarball of the current commit and upload it to S3 (if missing).
|
36
42
|
* `egads upload SHA` - (plumbing, called by `build`) Uploads a pre-built tarball.
|
37
43
|
|
38
44
|
### Remote commands
|
@@ -57,6 +63,15 @@ The deploy process is:
|
|
57
63
|
* Run `egads stage SHA` on all the remote servers to download, extract, and configure the SHA for release.
|
58
64
|
* Run `egads release SHA` on all the remote servers to symlink the staged SHA to 'current', and restart services.
|
59
65
|
|
66
|
+
## Publishing a New Gem Version
|
67
|
+
|
68
|
+
To publish a new version of `egads`:
|
69
|
+
|
70
|
+
1. Update [`Egads::VERSION`](./lib/egads/version.rb)
|
71
|
+
2. Commit and push to GitHub
|
72
|
+
3. Create a new [GitHub release](https://github.com/kickstarter/egads/releases)
|
73
|
+
4. Monitor the [Test and Release](https://github.com/kickstarter/egads/actions/workflows/test-release.yml) action to ensure the gem is published successfully
|
74
|
+
|
60
75
|
## License
|
61
76
|
|
62
77
|
Copyright (c) 2013 Kickstarter, Inc
|
data/Rakefile
CHANGED
@@ -1,10 +1,29 @@
|
|
1
1
|
require "rubygems"
|
2
2
|
require "bundler/setup"
|
3
|
-
require "bundler/gem_tasks"
|
4
3
|
require 'rake/testtask'
|
5
4
|
|
5
|
+
task :default => :test
|
6
|
+
|
6
7
|
Rake::TestTask.new do |t|
|
7
8
|
t.pattern = "spec/*_spec.rb"
|
8
9
|
end
|
9
10
|
|
10
|
-
|
11
|
+
namespace :gem do
|
12
|
+
require 'bundler/gem_tasks'
|
13
|
+
|
14
|
+
@gem = "pkg/egads-#{ Egads::VERSION }.gem"
|
15
|
+
|
16
|
+
desc "Push #{ @gem } to rubygems.org"
|
17
|
+
task :push => %i[test build git:check] do
|
18
|
+
sh %{gem push #{ @gem }}
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
namespace :git do
|
23
|
+
desc 'Check git workspace'
|
24
|
+
task :check do
|
25
|
+
sh %{git diff HEAD --quiet} do |ok|
|
26
|
+
abort "\e[31mRefusing to continue - git workspace is dirty\e[0m" unless ok
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
data/Taskfile.yml
ADDED
data/egads.gemspec
CHANGED
@@ -2,29 +2,31 @@ $:.unshift 'lib'
|
|
2
2
|
require 'egads/version'
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
|
-
s.name
|
6
|
-
s.version
|
7
|
-
s.summary
|
8
|
-
s.homepage
|
9
|
-
s.email
|
10
|
-
s.authors
|
11
|
-
s.license
|
5
|
+
s.name = "egads"
|
6
|
+
s.version = Egads::VERSION
|
7
|
+
s.summary = "Extensible Git Archive Deploy Strategy"
|
8
|
+
s.homepage = "https://github.com/kickstarter/egads"
|
9
|
+
s.email = ["aaron@ktheory.com"]
|
10
|
+
s.authors = ["Aaron Suggs"]
|
11
|
+
s.license = 'MIT'
|
12
12
|
|
13
13
|
s.files = `git ls-files`.split($/)
|
14
14
|
s.executables = s.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
15
15
|
s.test_files = s.files.grep(%r{^(test|spec|features)/})
|
16
16
|
s.require_paths = ["lib"]
|
17
17
|
|
18
|
-
s.extra_rdoc_files = [
|
18
|
+
s.extra_rdoc_files = ["README.md"]
|
19
19
|
s.rdoc_options = ["--charset=UTF-8"]
|
20
20
|
|
21
21
|
s.add_dependency "aws-sdk-s3", '~> 1.0'
|
22
|
+
s.add_dependency "rexml" # required for Ruby 3+
|
22
23
|
s.add_dependency "thor"
|
24
|
+
|
23
25
|
s.add_development_dependency "rake"
|
24
26
|
s.add_development_dependency "minitest"
|
25
|
-
#s.add_development_dependency "simple_mock" # Via http://tatey.com/2012/02/07/mocking-with-minitest-mock-and-simple-delegator/
|
26
27
|
|
27
|
-
s.description =
|
28
|
+
s.description = <<~EOS
|
28
29
|
A collection of scripts for making a deployable tarball of a git commit,
|
29
|
-
uploading it to Amazon S3, and downloading it to your servers.
|
30
|
+
uploading it to Amazon S3, and downloading it to your servers.
|
31
|
+
EOS
|
30
32
|
end
|
data/lib/egads/command/stage.rb
CHANGED
data/lib/egads/config.rb
CHANGED
@@ -6,9 +6,14 @@ module Egads
|
|
6
6
|
end
|
7
7
|
|
8
8
|
def s3_bucket
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
@bucket ||= begin
|
10
|
+
client = Aws::S3::Client.new(**{
|
11
|
+
access_key_id: config['s3']['access_key'],
|
12
|
+
secret_access_key: config['s3']['secret_key'],
|
13
|
+
region: config['s3']['region'],
|
14
|
+
}.compact)
|
15
|
+
Aws::S3::Bucket.new(config['s3']['bucket'], client: client)
|
16
|
+
end
|
12
17
|
end
|
13
18
|
|
14
19
|
def s3_prefix
|
data/lib/egads/version.rb
CHANGED
data/spec/egads_build_spec.rb
CHANGED
@@ -4,21 +4,21 @@ describe "Egads::Build" do
|
|
4
4
|
subject { Egads::Build }
|
5
5
|
|
6
6
|
it 'should run the correct tasks' do
|
7
|
-
subject.commands.keys.must_equal %w(check_build run_before_build_hooks write_revision_file commit_extra_paths make_tarball run_after_build_hooks upload)
|
7
|
+
_(subject.commands.keys).must_equal %w(check_build run_before_build_hooks write_revision_file commit_extra_paths make_tarball run_after_build_hooks upload)
|
8
8
|
end
|
9
9
|
|
10
10
|
it 'takes one argument' do
|
11
|
-
subject.arguments.size.must_equal 1
|
11
|
+
_(subject.arguments.size).must_equal 1
|
12
12
|
end
|
13
13
|
|
14
14
|
it 'has a rev argument' do
|
15
15
|
rev = subject.arguments.detect{|arg| arg.name == 'rev'}
|
16
|
-
rev.default.must_equal 'HEAD'
|
17
|
-
rev.required.must_equal false
|
16
|
+
_(rev.default).must_equal 'HEAD'
|
17
|
+
_(rev.required).must_equal false
|
18
18
|
end
|
19
19
|
|
20
20
|
it "exits on failure" do
|
21
|
-
subject.exit_on_failure
|
21
|
+
_(subject.exit_on_failure?).must_equal true
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
@@ -26,6 +26,6 @@ describe "Egags::Build instance" do
|
|
26
26
|
subject { Egads::Build.new }
|
27
27
|
|
28
28
|
it "has rev HEAD" do
|
29
|
-
subject.rev.must_equal 'HEAD'
|
29
|
+
_(subject.rev).must_equal 'HEAD'
|
30
30
|
end
|
31
31
|
end
|
data/spec/egads_check_spec.rb
CHANGED
@@ -4,17 +4,17 @@ describe "Egads::Check" do
|
|
4
4
|
subject { Egads::Check }
|
5
5
|
|
6
6
|
it 'should run the correct tasks' do
|
7
|
-
subject.commands.keys.must_equal %w(check)
|
7
|
+
_(subject.commands.keys).must_equal %w(check)
|
8
8
|
end
|
9
9
|
|
10
10
|
it 'takes one argument' do
|
11
|
-
subject.arguments.size.must_equal 1
|
11
|
+
_(subject.arguments.size).must_equal 1
|
12
12
|
end
|
13
13
|
|
14
14
|
it 'has a rev argument' do
|
15
15
|
rev = subject.arguments.detect{|arg| arg.name == 'rev'}
|
16
|
-
rev.default.must_equal 'HEAD'
|
17
|
-
rev.required.must_equal false
|
16
|
+
_(rev.default).must_equal 'HEAD'
|
17
|
+
_(rev.required).must_equal false
|
18
18
|
end
|
19
19
|
|
20
20
|
end
|
@@ -23,6 +23,6 @@ describe "Egags::Build instance" do
|
|
23
23
|
subject { Egads::Check.new }
|
24
24
|
|
25
25
|
it "has rev HEAD" do
|
26
|
-
subject.rev.must_equal 'HEAD'
|
26
|
+
_(subject.rev).must_equal 'HEAD'
|
27
27
|
end
|
28
28
|
end
|
data/spec/egads_command_spec.rb
CHANGED
data/spec/egads_config_spec.rb
CHANGED
@@ -5,7 +5,7 @@ describe Egads::Config do
|
|
5
5
|
subject { Egads::Config }
|
6
6
|
it "raises ArgumentError for missing config" do
|
7
7
|
ENV['EGADS_CONFIG'] = '/no/such/path'
|
8
|
-
|
8
|
+
_{ subject.config_path }.must_raise(ArgumentError)
|
9
9
|
end
|
10
10
|
|
11
11
|
describe "with an config file" do
|
@@ -14,16 +14,16 @@ describe Egads::Config do
|
|
14
14
|
|
15
15
|
describe '#config' do
|
16
16
|
it 'is a hash' do
|
17
|
-
subject.config.must_equal yml
|
17
|
+
_(subject.config).must_equal yml
|
18
18
|
end
|
19
19
|
end
|
20
20
|
|
21
21
|
it "has an S3 bucket" do
|
22
|
-
subject.s3_bucket.name.must_equal yml['s3']['bucket']
|
22
|
+
_(subject.s3_bucket.name).must_equal yml['s3']['bucket']
|
23
23
|
end
|
24
24
|
|
25
25
|
it "has an S3 prefix" do
|
26
|
-
subject.s3_prefix.must_equal yml['s3']['prefix']
|
26
|
+
_(subject.s3_prefix).must_equal yml['s3']['prefix']
|
27
27
|
end
|
28
28
|
end
|
29
29
|
|
@@ -34,21 +34,21 @@ describe Egads::RemoteConfig do
|
|
34
34
|
|
35
35
|
it "raises ArgumentError for missing config" do
|
36
36
|
ENV['EGADS_REMOTE_CONFIG'] = '/no/such/path'
|
37
|
-
|
37
|
+
_{ subject.config_path }.must_raise(ArgumentError)
|
38
38
|
end
|
39
39
|
|
40
40
|
describe "with an config file" do
|
41
41
|
let(:yml) { YAML.load_file("example/egads_remote.yml") }
|
42
42
|
|
43
43
|
describe '#config' do
|
44
|
-
it('is a hash') { subject.config.must_equal yml }
|
44
|
+
it('is a hash') { _(subject.config).must_equal yml }
|
45
45
|
end
|
46
46
|
|
47
|
-
it('#release_to') { subject.release_to.must_equal yml['release_to'] }
|
48
|
-
it('#extract_to') { subject.extract_to.must_equal yml['extract_to'] }
|
49
|
-
it('#release_dir') { subject.release_dir('abc').must_equal File.join(yml['extract_to'], 'abc') }
|
50
|
-
it('#restart_command') { subject.restart_command.must_equal yml['restart_command'] }
|
51
|
-
it('#bundler_options') { subject.bundler_options.must_equal yml['bundler']['options'] }
|
47
|
+
it('#release_to') { _(subject.release_to).must_equal yml['release_to'] }
|
48
|
+
it('#extract_to') { _(subject.extract_to).must_equal yml['extract_to'] }
|
49
|
+
it('#release_dir') { _(subject.release_dir('abc')).must_equal File.join(yml['extract_to'], 'abc') }
|
50
|
+
it('#restart_command') { _(subject.restart_command).must_equal yml['restart_command'] }
|
51
|
+
it('#bundler_options') { _(subject.bundler_options).must_equal yml['bundler']['options'] }
|
52
52
|
|
53
53
|
describe '#setup_environment' do
|
54
54
|
before { subject.setup_environment }
|
@@ -59,7 +59,7 @@ describe Egads::RemoteConfig do
|
|
59
59
|
|
60
60
|
it 'should set ENV values' do
|
61
61
|
yml['env'].each do |key, value|
|
62
|
-
ENV[key].must_equal value
|
62
|
+
_(ENV[key]).must_equal value
|
63
63
|
end
|
64
64
|
end
|
65
65
|
end
|
data/spec/egads_extract_spec.rb
CHANGED
data/spec/egads_release_spec.rb
CHANGED
@@ -4,6 +4,6 @@ describe "Egads::Release" do
|
|
4
4
|
subject { Egads::Release }
|
5
5
|
|
6
6
|
it 'should run the correct tasks' do
|
7
|
-
subject.commands.keys.must_equal %w(setup_environment stage run_before_release_hooks symlink_release restart run_after_release_hooks trim)
|
7
|
+
_(subject.commands.keys).must_equal %w(setup_environment stage run_before_release_hooks symlink_release restart run_after_release_hooks trim)
|
8
8
|
end
|
9
9
|
end
|
@@ -5,16 +5,16 @@ describe Egads::S3Tarball do
|
|
5
5
|
|
6
6
|
after { Aws.config.delete(:s3) }
|
7
7
|
|
8
|
-
it('has a sha') { subject.sha.must_equal 'sha' }
|
9
|
-
it('has a key') { subject.key.must_equal 'my_project/sha.tar.gz' }
|
8
|
+
it('has a sha') { _(subject.sha).must_equal 'sha' }
|
9
|
+
it('has a key') { _(subject.key).must_equal 'my_project/sha.tar.gz' }
|
10
10
|
|
11
11
|
it "has an S3 bucket" do
|
12
|
-
subject.bucket.name.must_equal Egads::Config.s3_bucket.name
|
12
|
+
_(subject.bucket.name).must_equal Egads::Config.s3_bucket.name
|
13
13
|
end
|
14
14
|
|
15
15
|
it('should not exist') {
|
16
16
|
Aws.config[:s3] = {stub_responses: { head_object: {status_code: 404, headers: {}, body: '', }}}
|
17
|
-
subject.exists
|
17
|
+
_(subject.exists?).must_equal(false)
|
18
18
|
}
|
19
19
|
|
20
20
|
describe 'when uploaded' do
|
@@ -23,8 +23,7 @@ describe Egads::S3Tarball do
|
|
23
23
|
end
|
24
24
|
|
25
25
|
it('should exist') do
|
26
|
-
subject.exists
|
26
|
+
_(subject.exists?).must_equal true
|
27
27
|
end
|
28
28
|
end
|
29
29
|
end
|
30
|
-
|
data/spec/egads_stage_spec.rb
CHANGED
@@ -4,6 +4,6 @@ describe "Egads::Stage" do
|
|
4
4
|
subject { Egads::Stage }
|
5
5
|
|
6
6
|
it 'should run the correct tasks' do
|
7
|
-
subject.commands.keys.must_equal %w(setup_environment extract run_before_hooks bundle symlink_system_paths symlink_config_files run_after_stage_hooks mark_as_staged)
|
7
|
+
_(subject.commands.keys).must_equal %w(setup_environment extract run_before_hooks bundle symlink_system_paths symlink_config_files run_after_stage_hooks mark_as_staged)
|
8
8
|
end
|
9
9
|
end
|
data/spec/egads_trim_spec.rb
CHANGED
data/spec/egads_upload_spec.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: egads
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.1.
|
4
|
+
version: 5.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aaron Suggs
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-09-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk-s3
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rexml
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: thor
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -66,10 +80,9 @@ dependencies:
|
|
66
80
|
- - ">="
|
67
81
|
- !ruby/object:Gem::Version
|
68
82
|
version: '0'
|
69
|
-
description: |
|
70
|
-
|
71
|
-
|
72
|
-
uploading it to Amazon S3, and downloading it to your servers.
|
83
|
+
description: |
|
84
|
+
A collection of scripts for making a deployable tarball of a git commit,
|
85
|
+
uploading it to Amazon S3, and downloading it to your servers.
|
73
86
|
email:
|
74
87
|
- aaron@ktheory.com
|
75
88
|
executables:
|
@@ -78,12 +91,15 @@ extensions: []
|
|
78
91
|
extra_rdoc_files:
|
79
92
|
- README.md
|
80
93
|
files:
|
94
|
+
- ".github/actions/setup-rubygems/action.yml"
|
95
|
+
- ".github/actions/test/action.yml"
|
96
|
+
- ".github/workflows/test-release.yml"
|
81
97
|
- ".gitignore"
|
82
|
-
- ".travis.yml"
|
83
98
|
- Gemfile
|
84
99
|
- Guardfile
|
85
100
|
- README.md
|
86
101
|
- Rakefile
|
102
|
+
- Taskfile.yml
|
87
103
|
- bin/egads
|
88
104
|
- egads.gemspec
|
89
105
|
- example/egads.yml
|
@@ -134,7 +150,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
134
150
|
- !ruby/object:Gem::Version
|
135
151
|
version: '0'
|
136
152
|
requirements: []
|
137
|
-
rubygems_version: 3.
|
153
|
+
rubygems_version: 3.4.10
|
138
154
|
signing_key:
|
139
155
|
specification_version: 4
|
140
156
|
summary: Extensible Git Archive Deploy Strategy
|