diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 86508b9..138fe1e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - ruby-version: ["2.7", "3.0", "3.1"] + ruby-version: ["2.7", "3.0", "3.1", "3.2"] services: ftp: image: delfer/alpine-ftp-server @@ -34,12 +34,13 @@ jobs: with: ruby-version: ${{ matrix.ruby-version }} bundler-cache: true - - name: Set up Google Cloud SDK - uses: google-github-actions/setup-gcloud@master + - id: "auth" + uses: "google-github-actions/auth@v1" with: project_id: ${{ secrets.GCP_PROJECT_ID }} - service_account_key: ${{ secrets.GCP_SA_KEY }} - export_default_credentials: true + credentials_json: ${{ secrets.GCP_SA_KEY }} + - name: Set up Google Cloud SDK + uses: google-github-actions/setup-gcloud@v1 - name: Configure AWS Credentials uses: aws-actions/configure-aws-credentials@v1 with: diff --git a/.version b/.version index f374f66..2003b63 100644 --- a/.version +++ b/.version @@ -1 +1 @@ -0.9.1 +0.9.2 diff --git a/Gemfile.lock b/Gemfile.lock index dc54d5c..dbb0109 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,97 +1,78 @@ PATH remote: core specs: - bfs (0.9.1) + bfs (0.9.2) PATH remote: ftp specs: - bfs-ftp (0.9.1) - bfs (= 0.9.1) - net-ftp (>= 0.1.3) + bfs-ftp (0.9.2) + bfs (= 0.9.2) + net-ftp (< 0.2) net-ftp-list PATH remote: gs specs: - bfs-gs (0.9.1) - bfs (= 0.9.1) + bfs-gs (0.9.2) + bfs (= 0.9.2) google-cloud-storage (~> 1.18) PATH remote: s3 specs: - bfs-s3 (0.9.1) + bfs-s3 (0.9.2) aws-sdk-s3 (~> 1.38) - bfs (= 0.9.1) + bfs (= 0.9.2) PATH remote: scp specs: - bfs-scp (0.9.1) - bfs (= 0.9.1) + bfs-scp (0.9.2) + bfs (= 0.9.2) net-scp PATH remote: sftp specs: - bfs-sftp (0.9.1) - bfs (= 0.9.1) + bfs-sftp (0.9.2) + bfs (= 0.9.2) net-sftp GEM remote: https://rubygems.org/ specs: - addressable (2.8.0) - public_suffix (>= 2.0.2, < 5.0) + addressable (2.8.4) + public_suffix (>= 2.0.2, < 6.0) ast (2.4.2) aws-eventstream (1.2.0) - aws-partitions (1.568.0) - aws-sdk-core (3.130.0) + aws-partitions (1.744.0) + aws-sdk-core (3.171.0) aws-eventstream (~> 1, >= 1.0.2) - aws-partitions (~> 1, >= 1.525.0) + aws-partitions (~> 1, >= 1.651.0) + aws-sigv4 (~> 1.5) + jmespath (~> 1, >= 1.6.1) + aws-sdk-kms (1.63.0) + aws-sdk-core (~> 3, >= 3.165.0) aws-sigv4 (~> 1.1) - jmespath (~> 1.0) - aws-sdk-kms (1.55.0) - aws-sdk-core (~> 3, >= 3.127.0) - aws-sigv4 (~> 1.1) - aws-sdk-s3 (1.113.0) - aws-sdk-core (~> 3, >= 3.127.0) + aws-sdk-s3 (1.120.1) + aws-sdk-core (~> 3, >= 3.165.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.4) - aws-sigv4 (1.4.0) + aws-sigv4 (1.5.2) aws-eventstream (~> 1, >= 1.0.2) bcrypt_pbkdf (1.1.0) - date (3.2.2) + date (3.3.3) declarative (0.0.20) diff-lcs (1.5.0) digest-crc (0.6.4) rake (>= 12.0.0, < 14.0.0) ed25519 (1.3.0) - faraday (1.10.0) - faraday-em_http (~> 1.0) - faraday-em_synchrony (~> 1.0) - faraday-excon (~> 1.1) - faraday-httpclient (~> 1.0) - faraday-multipart (~> 1.0) - faraday-net_http (~> 1.0) - faraday-net_http_persistent (~> 1.0) - faraday-patron (~> 1.0) - faraday-rack (~> 1.0) - faraday-retry (~> 1.0) + faraday (2.7.4) + faraday-net_http (>= 2.0, < 3.1) ruby2_keywords (>= 0.0.4) - faraday-em_http (1.0.0) - faraday-em_synchrony (1.0.0) - faraday-excon (1.1.0) - faraday-httpclient (1.0.1) - faraday-multipart (1.0.3) - multipart-post (>= 1.2, < 3) - faraday-net_http (1.0.1) - faraday-net_http_persistent (1.2.0) - faraday-patron (1.0.0) - faraday-rack (1.0.0) - faraday-retry (1.0.3) - google-apis-core (0.4.2) + faraday-net_http (3.0.2) + google-apis-core (0.11.0) addressable (~> 2.5, >= 2.5.1) googleauth (>= 0.16.2, < 2.a) httpclient (>= 2.8.1, < 3.a) @@ -100,25 +81,25 @@ GEM retriable (>= 2.0, < 4.a) rexml webrick - google-apis-iamcredentials_v1 (0.10.0) - google-apis-core (>= 0.4, < 2.a) - google-apis-storage_v1 (0.11.0) - google-apis-core (>= 0.4, < 2.a) + google-apis-iamcredentials_v1 (0.17.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-storage_v1 (0.19.0) + google-apis-core (>= 0.9.0, < 2.a) google-cloud-core (1.6.0) google-cloud-env (~> 1.0) google-cloud-errors (~> 1.0) - google-cloud-env (1.5.0) - faraday (>= 0.17.3, < 2.0) - google-cloud-errors (1.2.0) - google-cloud-storage (1.36.1) + google-cloud-env (1.6.0) + faraday (>= 0.17.3, < 3.0) + google-cloud-errors (1.3.1) + google-cloud-storage (1.44.0) addressable (~> 2.8) digest-crc (~> 0.4) google-apis-iamcredentials_v1 (~> 0.1) - google-apis-storage_v1 (~> 0.1) + google-apis-storage_v1 (~> 0.19.0) google-cloud-core (~> 1.6) googleauth (>= 0.16.2, < 2.a) mini_mime (~> 1.0) - googleauth (1.1.2) + googleauth (1.5.1) faraday (>= 0.17.3, < 3.a) jwt (>= 1.4, < 3.0) memoist (~> 0.16) @@ -126,89 +107,91 @@ GEM os (>= 0.9, < 2.0) signet (>= 0.16, < 2.a) httpclient (2.8.3) - io-wait (0.2.1) - jmespath (1.6.1) - jwt (2.3.0) + jmespath (1.6.2) + json (2.6.3) + jwt (2.7.0) memoist (0.16.2) mini_mime (1.1.2) multi_json (1.15.0) - multipart-post (2.1.1) net-ftp (0.1.3) net-protocol time net-ftp-list (3.3.0) - net-protocol (0.1.2) - io-wait + net-protocol (0.2.1) timeout - net-scp (3.0.0) - net-ssh (>= 2.6.5, < 7.0.0) - net-sftp (3.0.0) - net-ssh (>= 5.0.0, < 7.0.0) - net-ssh (6.1.0) + net-scp (4.0.0) + net-ssh (>= 2.6.5, < 8.0.0) + net-sftp (4.0.0) + net-ssh (>= 5.0.0, < 8.0.0) + net-ssh (7.1.0) os (1.1.4) - parallel (1.21.0) - parser (3.1.1.0) + parallel (1.22.1) + parser (3.2.2.0) ast (~> 2.4.1) - public_suffix (4.0.6) + public_suffix (5.0.1) rainbow (3.1.1) rake (13.0.6) - regexp_parser (2.2.1) - representable (3.1.1) + regexp_parser (2.7.0) + representable (3.2.0) declarative (< 0.1.0) trailblazer-option (>= 0.1.1, < 0.2.0) uber (< 0.2.0) retriable (3.1.2) rexml (3.2.5) - rspec (3.11.0) - rspec-core (~> 3.11.0) - rspec-expectations (~> 3.11.0) - rspec-mocks (~> 3.11.0) - rspec-core (3.11.0) - rspec-support (~> 3.11.0) - rspec-expectations (3.11.0) + rspec (3.12.0) + rspec-core (~> 3.12.0) + rspec-expectations (~> 3.12.0) + rspec-mocks (~> 3.12.0) + rspec-core (3.12.1) + rspec-support (~> 3.12.0) + rspec-expectations (3.12.2) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.11.0) - rspec-mocks (3.11.0) + rspec-support (~> 3.12.0) + rspec-mocks (3.12.5) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.11.0) - rspec-support (3.11.0) - rubocop (1.26.0) + rspec-support (~> 3.12.0) + rspec-support (3.12.0) + rubocop (1.50.0) + json (~> 2.3) parallel (~> 1.10) - parser (>= 3.1.0.0) + parser (>= 3.2.0.0) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 1.8, < 3.0) - rexml - rubocop-ast (>= 1.16.0, < 2.0) + rexml (>= 3.2.5, < 4.0) + rubocop-ast (>= 1.28.0, < 2.0) ruby-progressbar (~> 1.7) - unicode-display_width (>= 1.4.0, < 3.0) - rubocop-ast (1.16.0) - parser (>= 3.1.1.0) - rubocop-bsm (0.6.0) + unicode-display_width (>= 2.4.0, < 3.0) + rubocop-ast (1.28.0) + parser (>= 3.2.1.0) + rubocop-bsm (0.6.1) rubocop (~> 1.0) rubocop-performance rubocop-rake rubocop-rspec - rubocop-performance (1.13.3) + rubocop-capybara (2.17.1) + rubocop (~> 1.41) + rubocop-performance (1.17.1) rubocop (>= 1.7.0, < 2.0) rubocop-ast (>= 0.4.0) rubocop-rake (0.6.0) rubocop (~> 1.0) - rubocop-rspec (2.9.0) - rubocop (~> 1.19) - ruby-progressbar (1.11.0) + rubocop-rspec (2.19.0) + rubocop (~> 1.33) + rubocop-capybara (~> 2.17) + ruby-progressbar (1.13.0) ruby2_keywords (0.0.5) - signet (0.16.1) + signet (0.17.0) addressable (~> 2.8) - faraday (>= 0.17.5, < 3.0) + faraday (>= 0.17.5, < 3.a) jwt (>= 1.5, < 3.0) multi_json (~> 1.10) - time (0.2.0) + time (0.2.2) date - timeout (0.2.0) + timeout (0.3.2) trailblazer-option (0.1.2) uber (0.1.0) - unicode-display_width (2.1.0) - webrick (1.7.0) + unicode-display_width (2.4.2) + webrick (1.8.1) PLATFORMS ruby @@ -228,4 +211,4 @@ DEPENDENCIES webrick BUNDLED WITH - 2.3.9 + 2.3.16 diff --git a/core/bfs.gemspec b/core/bfs.gemspec index b218e1f..84ef2ca 100644 --- a/core/bfs.gemspec +++ b/core/bfs.gemspec @@ -13,7 +13,6 @@ Gem::Specification.new do |s| s.executables = [] s.files = `git ls-files`.split("\n") - s.test_files = `git ls-files -- spec/*`.split("\n") s.require_paths = ['lib'] s.required_ruby_version = '>= 2.7' s.metadata['rubygems_mfa_required'] = 'true' diff --git a/ftp/bfs-ftp.gemspec b/ftp/bfs-ftp.gemspec index 11ed97b..3ff25e1 100644 --- a/ftp/bfs-ftp.gemspec +++ b/ftp/bfs-ftp.gemspec @@ -13,12 +13,11 @@ Gem::Specification.new do |s| s.executables = [] s.files = `git ls-files`.split("\n") - s.test_files = `git ls-files -- spec/*`.split("\n") s.require_paths = ['lib'] s.required_ruby_version = '>= 2.7' s.add_dependency 'bfs', s.version - s.add_dependency 'net-ftp', '>= 0.1.3' + s.add_dependency 'net-ftp', '< 0.2' s.add_dependency 'net-ftp-list' s.metadata['rubygems_mfa_required'] = 'true' end diff --git a/gs/bfs-gs.gemspec b/gs/bfs-gs.gemspec index fb833fe..85a34bf 100644 --- a/gs/bfs-gs.gemspec +++ b/gs/bfs-gs.gemspec @@ -13,7 +13,6 @@ Gem::Specification.new do |s| s.executables = [] s.files = `git ls-files`.split("\n") - s.test_files = `git ls-files -- spec/*`.split("\n") s.require_paths = ['lib'] s.required_ruby_version = '>= 2.7' diff --git a/s3/bfs-s3.gemspec b/s3/bfs-s3.gemspec index 5623b65..cbdc16e 100644 --- a/s3/bfs-s3.gemspec +++ b/s3/bfs-s3.gemspec @@ -13,7 +13,6 @@ Gem::Specification.new do |s| s.executables = [] s.files = `git ls-files`.split("\n") - s.test_files = `git ls-files -- spec/*`.split("\n") s.require_paths = ['lib'] s.required_ruby_version = '>= 2.7' diff --git a/scp/bfs-scp.gemspec b/scp/bfs-scp.gemspec index 5abb0b5..9083404 100644 --- a/scp/bfs-scp.gemspec +++ b/scp/bfs-scp.gemspec @@ -13,7 +13,6 @@ Gem::Specification.new do |s| s.executables = [] s.files = `git ls-files`.split("\n") - s.test_files = `git ls-files -- spec/*`.split("\n") s.require_paths = ['lib'] s.required_ruby_version = '>= 2.7' diff --git a/sftp/bfs-sftp.gemspec b/sftp/bfs-sftp.gemspec index da53b17..b42a0d8 100644 --- a/sftp/bfs-sftp.gemspec +++ b/sftp/bfs-sftp.gemspec @@ -13,7 +13,6 @@ Gem::Specification.new do |s| s.executables = [] s.files = `git ls-files`.split("\n") - s.test_files = `git ls-files -- spec/*`.split("\n") s.require_paths = ['lib'] s.required_ruby_version = '>= 2.7' diff --git a/spec/support/shared.rb b/spec/support/shared.rb index 1c73081..41de044 100644 --- a/spec/support/shared.rb +++ b/spec/support/shared.rb @@ -20,18 +20,9 @@ def be_recent_time it 'lists' do expect(subject.ls).to be_a(Enumerator) - expect(subject.ls.to_a).to match_array [ - 'a/b.txt', - 'a/b/c.txt', - 'a/b/c/d.txt', - 'a/b/c/d/e.txt', - ] - expect(subject.ls('**/c*').to_a).to match_array [ - 'a/b/c.txt', - ] - expect(subject.ls('a/b/*/*').to_a).to match_array [ - 'a/b/c/d.txt', - ] + expect(subject.ls.to_a).to contain_exactly('a/b.txt', 'a/b/c.txt', 'a/b/c/d.txt', 'a/b/c/d/e.txt') + expect(subject.ls('**/c*').to_a).to contain_exactly('a/b/c.txt') + expect(subject.ls('a/b/*/*').to_a).to contain_exactly('a/b/c/d.txt') expect(subject.ls('x/**').to_a).to be_empty end @@ -125,11 +116,7 @@ def be_recent_time it 'removes' do subject.rm('a/b/c.txt') subject.rm('not/found.txt') - expect(subject.ls).to match_array [ - 'a/b.txt', - 'a/b/c/d.txt', - 'a/b/c/d/e.txt', - ] + expect(subject.ls).to contain_exactly('a/b.txt', 'a/b/c/d.txt', 'a/b/c/d/e.txt') end it 'copies' do