From e772c39b232601422f2480cd2a71a1ef8216b98c Mon Sep 17 00:00:00 2001 From: Amp Date: Sat, 24 Oct 2026 01:26:01 +0000 Subject: [PATCH] Test on Ruby 3.4.12; declare rexml runtime dependency; move CI to GitHub Actions Amp-Thread-ID: https://ampcode.com/threads/T-01a16b81-0806-716b-bc91-9f6e58b68712 Co-authored-by: Kamal Mahyuddin --- .github/workflows/test.yml | 17 +++++++++++++++++ .ruby-gemset | 1 - .ruby-version | 2 +- .travis.yml | 13 ------------- Gemfile.lock | 28 +++++++++++++++------------- lambda_convert.gemspec | 2 ++ spec/cli_spec.rb | 5 ++++- 7 files changed, 39 insertions(+), 29 deletions(-) create mode 100644 .github/workflows/test.yml delete mode 100644 .ruby-gemset delete mode 100644 .travis.yml diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..6dd3b7b --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,17 @@ +name: test +on: + push: + branches: [master] + pull_request: +jobs: + rspec: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Install ImageMagick + run: sudo apt-get update && sudo apt-get install -y imagemagick + - uses: ruby/setup-ruby@v1 + with: + ruby-version: .ruby-version + bundler-cache: true + - run: bundle exec rspec diff --git a/.ruby-gemset b/.ruby-gemset deleted file mode 100644 index 842331a..0000000 --- a/.ruby-gemset +++ /dev/null @@ -1 +0,0 @@ -lambda-convert \ No newline at end of file diff --git a/.ruby-version b/.ruby-version index 8122ad0..25e8632 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -2.7.8 \ No newline at end of file +3.4.12 diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 6ab8078..0000000 --- a/.travis.yml +++ /dev/null @@ -1,13 +0,0 @@ -language: ruby -rvm: - - 2.4.0 -env: - global: - - CONVERT_LAMBDA_REGION=us-west-2 - - CONVERT_LAMBDA_FUNCTION=image-convert-dev - - CONVERT_S3_REGION=us-west-2 - - CONVERT_S3_BUCKET=envoy-development - - secure: "Ctv4FEbgG6EGZeKdfOT+XOsM8nOsFVSDu8uE8pSjN8I1hZnoMByqbEfwiasB9caNzXzDVXQQSGI70r89b4TfBlhnSjk0XdvBFlLndSy6bYhSrEQUPovyZUEzS6caqnsv7alvh/QUZZX0qwZTw5xZPpCvXKS7mgf3XpAwtl2IU46YT5q1ovXPpTRXXsBiTrduxSTGzB7VCrelgMYnkk1GwgrBmgqqBa0i65N5TaPsAtvUr3QL2I6FtyY3Fhwdhh6Gayp0hRRVb7AWVCNeGu8OwZdsnuGEh4ePSdfmQwPNGePr/ntpweRomOWa4X3l2QlxXW1hyHx4s9Kas3yXpL8iLxo75LMYXCwQhi7j9VAo3xEuS9HW/gm7thUcg9aT4xowTn2KOS12cO0XkAwcHiPT4VhsfhyhAc/kDkJI0RgRKmdIzuZ7FYE+R8ayYsT7iVHglLV3fvTwCP5/gqwqJXn2NfYhX8EEu2nT8clQa4G9mcimjqBh+lttic5Rf4E2TJCAcfez7A5GZ2bFI7CbKiz3aco7T3/y8NcMUJ8RE9SHV+OUN/9PNSgV/Jzc+kCR68eVGmVZhTM2ak+T2qqCF3DAVaUl/MOMpiiFt+iVwkwkeBwLeJ2SKoezW9vAjxZ49GO61oKRNrTR7t+laSk1/nhkEH1KmLHlskuOoA5FRCVlhxw=" - - secure: "Taq4FIoBQ/qTKpxdqWs3AV2mePL1S4qQYvcKbsqe2R0F6/p1YhUrPHO4FFqHm9T8oTY5g3sVDrW3sEK9nnGdZhBWfm+e3L71nauQD0dUrwetW0543+iroQU4hR4YTneav6arlA47cwA1dTZXh/YT5Fr5QkyJKhFLb0KVK+K0aJi5piobOVSQ6khq+oG2RsvtFUN4T8QvCiRoDHbdW6NHIwISGIVVzdo/1IeXvPdYSVMJZDQ6k9qo3IzuI03xAaSCqHEEm1fEnKlTEudfrz59lVB58cnz6CInPAVF7Rot+s//0FZu12qrSZBxBMUYoFpp/bNI6n3RDXjT4Lws+QXEEF4uAAGz1GBFAsM6EunkfVbncni4v004cuwP4u+bxhpF6O2ohC3s//idxGRQck2QYyXMQvbniCtL3oBRyhrBCuhx8CzsEh2yQHPyJADpdSZsy49Gc9OqW/pDp2jh3MuIBsrgvI2YfzNQjU7WDxsaYdIW5nXn66yjV2N3QhlSBigG21LPhU2/HVyrc/wGN+/UXMn3KDRrWHFC21Gj4JtXt1DeT3jUIepmz6cK7XDRk+VimP11qn97oCitE/VrQMcnoFIsKgPOpX0sqnkZFoelUkjki+5oRABnhhim8P+CTualSlSOXo+bM7Uw8Dz4+EDzc3VPlsxBRmPyI0QEq2OugUk=" -before_install: bundle install -script: bundle exec rspec diff --git a/Gemfile.lock b/Gemfile.lock index 54399b1..6ac9d67 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -4,6 +4,7 @@ PATH lambda_convert (1.0.0) aws-sdk-lambda (~> 1.0) aws-sdk-s3 (~> 1.0) + rexml (~> 3.2) GEM remote: https://rubygems.org/ @@ -30,22 +31,23 @@ GEM aws-sigv4 (1.11.0) aws-eventstream (~> 1, >= 1.0.2) base64 (0.2.0) - diff-lcs (1.2.5) + diff-lcs (1.6.2) jmespath (1.6.2) logger (1.6.6) - rspec (3.3.0) - rspec-core (~> 3.3.0) - rspec-expectations (~> 3.3.0) - rspec-mocks (~> 3.3.0) - rspec-core (3.3.2) - rspec-support (~> 3.3.0) - rspec-expectations (3.3.1) + rexml (3.4.4) + rspec (3.13.2) + rspec-core (~> 3.13.0) + rspec-expectations (~> 3.13.0) + rspec-mocks (~> 3.13.0) + rspec-core (3.13.6) + rspec-support (~> 3.13.0) + rspec-expectations (3.13.5) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.3.0) - rspec-mocks (3.3.2) + rspec-support (~> 3.13.0) + rspec-mocks (3.13.8) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.3.0) - rspec-support (3.3.0) + rspec-support (~> 3.13.0) + rspec-support (3.13.7) PLATFORMS ruby @@ -55,4 +57,4 @@ DEPENDENCIES rspec BUNDLED WITH - 1.17.3 + 2.6.9 diff --git a/lambda_convert.gemspec b/lambda_convert.gemspec index 39af105..37f185c 100644 --- a/lambda_convert.gemspec +++ b/lambda_convert.gemspec @@ -15,4 +15,6 @@ Gem::Specification.new do |s| s.license = 'MIT' s.add_runtime_dependency 'aws-sdk-lambda', '~> 1.0' s.add_runtime_dependency 'aws-sdk-s3', '~> 1.0' + # aws-sdk-s3 needs an XML parser; REXML is a bundled (not default) gem since Ruby 3.0 + s.add_runtime_dependency 'rexml', '~> 3.2' end diff --git a/spec/cli_spec.rb b/spec/cli_spec.rb index 2aa240b..6f47211 100644 --- a/spec/cli_spec.rb +++ b/spec/cli_spec.rb @@ -45,7 +45,10 @@ end end - context 'simple lambda resize' do + # Requires real AWS credentials for the Lambda function and S3 bucket in + # LambdaConvert::Config; set LAMBDA_CONVERT_INTEGRATION=1 to run it. + context 'simple lambda resize', + skip: (ENV['LAMBDA_CONVERT_INTEGRATION'] == '1' ? false : 'needs AWS credentials') do let(:tempfile) { Tempfile.new('output') } subject do Open3.capture2(