egads 5.1.0 → 5.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1b26a0eb6c696433c8d0d9f5b7096d9fb810882c9ccc54a5e5165d12e965e08e
4
- data.tar.gz: d2229d72f7ed72dd980da57b57dc8076cc8775293d016b7b0be7a691de33320c
3
+ metadata.gz: '09258b7cad1e80200b4a8b3d6d47efffb9111f4fbe98ad5891d282db31f80e32'
4
+ data.tar.gz: ecded76960e9067e64730e6f2289635622a658b13d2ec8cd1c6a61b733882a20
5
5
  SHA512:
6
- metadata.gz: d1acba8d3973c141fb9ecb0f3fd041fca8b6d570ee37782dc14c3c4007a4a4211269edfc1f7d0885fad1556c35ed9479f5015850ad69be3c85d7f59f6459dc92
7
- data.tar.gz: 92272667f510eb9652d780a6a38420079d98b13c9cdf45af31448e2e1175f96bd1763409006514587ed81bda9c9a5bd2d56f813dda58ee99be04cee9567ac8d4
6
+ metadata.gz: 9493f4ce2b5c34b24f3422a8aa076b7a77816b00db3140de4d0aea6c3f1c8b5e8ba71d349037980b309e530502b55e9211b32fc06275a61bf0bd9fea31eb7468
7
+ data.tar.gz: e9b3ed9c711f7b0f01e45cc2ffa8310e83a6747b20ab6f3edbdd656c9efba420c19722c9bdd4044531fd24ab39387f0dd923b8cddb00a9ab98b4bffcdf2f0462
@@ -0,0 +1,18 @@
1
+ name: Setup RubyGems
2
+ description: Setup RubyGems credentials
3
+ inputs:
4
+ api-key:
5
+ description: RubyGems API key
6
+ required: true
7
+ runs:
8
+ using: composite
9
+ steps:
10
+ - name: setup rubygems
11
+ shell: bash
12
+ run: |
13
+ mkdir -p ~/.gem
14
+ cat <<-YAML > ~/.gem/credentials
15
+ ---
16
+ :rubygems_api_key: ${{ inputs.api-key }}
17
+ YAML
18
+ chmod 0600 ~/.gem/credentials
@@ -0,0 +1,48 @@
1
+ name: Test and Release
2
+ on:
3
+ pull_request:
4
+ push:
5
+ paths:
6
+ - .github/**
7
+ - bin/**
8
+ - lib/**
9
+ - spec/**
10
+ - Gemfile
11
+ - Guardfile
12
+ - Rakefile
13
+ - egads.gemspec
14
+ release:
15
+ types:
16
+ - published
17
+ jobs:
18
+ test:
19
+ name: Test [Ruby ${{ matrix.ruby-version }}]
20
+ runs-on: ubuntu-latest
21
+ strategy:
22
+ matrix:
23
+ ruby-version:
24
+ - "3.2"
25
+ - "3.3"
26
+ steps:
27
+ - uses: actions/checkout@v4
28
+ - uses: ruby/setup-ruby@v1
29
+ with:
30
+ ruby-version: ${{ matrix.ruby-version }}
31
+ - run: bundle install
32
+ - run: bundle exec rake test
33
+ push:
34
+ name: Publish Gem
35
+ if: ${{ github.event.release }}
36
+ needs:
37
+ - test
38
+ runs-on: ubuntu-latest
39
+ steps:
40
+ - uses: actions/checkout@v4
41
+ - uses: ruby/setup-ruby@v1
42
+ with:
43
+ ruby-version: "3.3"
44
+ - uses: ./.github/actions/setup-rubygems
45
+ with:
46
+ api-key: ${{ secrets.RUBYGEMS_API_KEY }}
47
+ - run: bundle install
48
+ - run: bundle exec rake gem:push
data/.gitignore CHANGED
@@ -17,3 +17,5 @@ tmp
17
17
  .yardoc
18
18
  _yardoc
19
19
  doc/
20
+
21
+ .ruby-version
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
- # In Gemfile
17
- gem 'egads', require: nil
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
- sudo gem install egads
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 [SHA]` - checks if a deployable tarball of the current commit exists on S3.
35
- * `egads build [SHA]` - makes a deployable tarball of the current commit and upload it to S3 (if missing).
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
- task :default => :test
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
@@ -0,0 +1,14 @@
1
+ # https://taskfile.dev
2
+
3
+ version: "3"
4
+
5
+ tasks:
6
+ init:
7
+ desc: Initialize project
8
+ cmds:
9
+ - bundle install
10
+
11
+ test:
12
+ desc: Run tests
13
+ cmds:
14
+ - bundle exec rake test
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 = "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'
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 = [ "README.md" ]
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", ">= 3.3.4" # 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 = %s{
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
@@ -3,6 +3,7 @@ module Egads
3
3
  include Thor::Actions
4
4
 
5
5
  desc "[remote, plumbing] Downloads tarball for SHA from S3 and extracts it to the filesystem"
6
+ class_option :deployment_id, type: :string, default: nil, banner: 'Append suffix to release directory'
6
7
  class_option :force, type: :boolean, aliases: '-f', default: false, banner: "Overwrite existing files"
7
8
  argument :sha, type: :string, required: true, desc: 'git SHA to download and extract'
8
9
 
@@ -89,7 +90,8 @@ module Egads
89
90
 
90
91
  # Directory created upon successful extraction
91
92
  def release_dir
92
- RemoteConfig.release_dir(sha)
93
+ suffix = options[:deployment_id] ? "_#{options[:deployment_id]}" : ''
94
+ RemoteConfig.release_dir(sha) + suffix
93
95
  end
94
96
 
95
97
  # Directory where in-progress extraction occurs
@@ -104,7 +106,7 @@ module Egads
104
106
  end
105
107
 
106
108
  def should_download?(path)
107
- options[:force] || File.zero?(path) || !File.exists?(path)
109
+ options[:force] || File.zero?(path) || !File.exist?(path)
108
110
  end
109
111
 
110
112
  def should_extract?
@@ -3,6 +3,7 @@ module Egads
3
3
  include Thor::Actions
4
4
 
5
5
  desc "[remote] Symlinks SHA to current and restarts services. If needed, stages SHA"
6
+ class_option :deployment_id, type: :string, default: nil, banner: 'Append suffix to release directory'
6
7
  class_option :force, type: :boolean, default: false, banner: "Overwrite existing release"
7
8
  argument :sha, type: :string, required: true, desc: 'git SHA to stage'
8
9
  def setup_environment
@@ -44,8 +45,10 @@ module Egads
44
45
  end
45
46
 
46
47
  protected
48
+
47
49
  def dir
48
- RemoteConfig.release_dir(sha)
50
+ suffix = options[:deployment_id] ? "_#{options[:deployment_id]}" : ''
51
+ RemoteConfig.release_dir(sha) + suffix
49
52
  end
50
53
 
51
54
  def release_to
@@ -2,8 +2,8 @@ module Egads
2
2
  class Stage < Group
3
3
  include Thor::Actions
4
4
 
5
-
6
5
  desc "[remote] Readies SHA for release. If needed, generates URL for SHA and extracts"
6
+ class_option :deployment_id, type: :string, default: nil, banner: 'Append suffix to release directory'
7
7
  class_option :force, type: :boolean, default: false, banner: "Overwrite existing files"
8
8
  argument :sha, type: :string, required: true, desc: 'git SHA to stage'
9
9
 
@@ -57,8 +57,10 @@ module Egads
57
57
  end
58
58
 
59
59
  protected
60
+
60
61
  def dir
61
- RemoteConfig.release_dir(sha)
62
+ suffix = options[:deployment_id] ? "_#{options[:deployment_id]}" : ''
63
+ RemoteConfig.release_dir(sha) + suffix
62
64
  end
63
65
 
64
66
  def stage_flag_path
@@ -66,7 +68,7 @@ module Egads
66
68
  end
67
69
 
68
70
  def should_stage?
69
- options[:force] || !File.exists?(stage_flag_path)
71
+ options[:force] || !File.exist?(stage_flag_path)
70
72
  end
71
73
 
72
74
  def shared_path
@@ -74,5 +76,3 @@ module Egads
74
76
  end
75
77
  end
76
78
  end
77
-
78
-
data/lib/egads/config.rb CHANGED
@@ -6,9 +6,14 @@ module Egads
6
6
  end
7
7
 
8
8
  def s3_bucket
9
- return @bucket if @bucket
10
- client = Aws::S3::Client.new(access_key_id: config['s3']['access_key'], secret_access_key: config['s3']['secret_key'], region: 'us-east-1')
11
- @bucket = Aws::S3::Bucket.new(config['s3']['bucket'], client: client)
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
@@ -1,3 +1,3 @@
1
1
  module Egads
2
- VERSION = '5.1.0'
2
+ VERSION = '5.2.0'
3
3
  end
@@ -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?.must_equal true
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
@@ -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
@@ -3,6 +3,6 @@ require_relative 'spec_helper'
3
3
  describe "Egads::Command" do
4
4
  subject { Egads::Command }
5
5
  it 'should exit on failure' do
6
- subject.exit_on_failure?.must_equal true
6
+ _(subject.exit_on_failure?).must_equal true
7
7
  end
8
8
  end
@@ -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
- -> { subject.config_path }.must_raise(ArgumentError)
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
- -> { subject.config_path }.must_raise(ArgumentError)
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
@@ -4,6 +4,6 @@ describe "Egads::Extract" do
4
4
  subject { Egads::Extract }
5
5
 
6
6
  it 'should run the correct tasks' do
7
- subject.commands.keys.must_equal %w(setup_environment extract)
7
+ _(subject.commands.keys).must_equal %w(setup_environment extract)
8
8
  end
9
9
  end
@@ -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?.must_equal(false)
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?.must_equal true
26
+ _(subject.exists?).must_equal true
27
27
  end
28
28
  end
29
29
  end
30
-
@@ -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
@@ -4,6 +4,6 @@ describe "Egads::Trim" do
4
4
  subject { Egads::Trim }
5
5
 
6
6
  it 'should run the correct tasks' do
7
- subject.commands.keys.must_equal %w(trim)
7
+ _(subject.commands.keys).must_equal %w(trim)
8
8
  end
9
9
  end
@@ -4,6 +4,6 @@ describe "Egads::Upload" do
4
4
  subject { Egads::Upload }
5
5
 
6
6
  it 'should run the correct tasks' do
7
- subject.commands.keys.must_equal %w(upload)
7
+ _(subject.commands.keys).must_equal %w(upload)
8
8
  end
9
9
  end
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.0
4
+ version: 5.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aaron Suggs
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-06-12 00:00:00.000000000 Z
11
+ date: 2024-09-09 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: 3.3.4
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: 3.3.4
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: |2-
70
-
71
- A collection of scripts for making a deployable tarball of a git commit,
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,14 @@ extensions: []
78
91
  extra_rdoc_files:
79
92
  - README.md
80
93
  files:
94
+ - ".github/actions/setup-rubygems/action.yml"
95
+ - ".github/workflows/test-release.yml"
81
96
  - ".gitignore"
82
- - ".travis.yml"
83
97
  - Gemfile
84
98
  - Guardfile
85
99
  - README.md
86
100
  - Rakefile
101
+ - Taskfile.yml
87
102
  - bin/egads
88
103
  - egads.gemspec
89
104
  - example/egads.yml
@@ -134,7 +149,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
134
149
  - !ruby/object:Gem::Version
135
150
  version: '0'
136
151
  requirements: []
137
- rubygems_version: 3.0.3
152
+ rubygems_version: 3.5.16
138
153
  signing_key:
139
154
  specification_version: 4
140
155
  summary: Extensible Git Archive Deploy Strategy
data/.travis.yml DELETED
@@ -1,5 +0,0 @@
1
- language: ruby
2
- sudo: false # Opt-in to container infrastructure
3
- rvm:
4
- - 2.5.5
5
- - 2.6.3