Add Ruby 3.3 support.#419
Conversation
|
Actually, I'm going to squash and re-push this because there are some other dependency issues -- versions are too loose leading to differing behavior depending on which ruby version is being used. |
47c5bd2 to
181efa3
Compare
- Add Ruby 3.3 support, drop Ruby < 2.7 (align with gemspec >= 2.7.0, < 3.4) - Update ruby_versions in bin/install and bin/codedeploy-agent to [3.3, 3.2, 3.1, 3.0, 2.7] - Update GitHub Actions workflow to test matrix across all supported Ruby versions - Fix minitar: update require path from 'archive/tar/minitar' to 'minitar', remove obsolete 'include Archive::Tar' - Fix rubyzip: replace removed Zip::File::CREATE with create: true, handle extract API differences between rubyzip 2.x and 3.x - Fix PKCS7 test assertions to handle OpenSSL error message variations across versions (nested asn1 error vs no start line) - Pin all dependencies to exact tested versions for deterministic builds - Add Makefile for local Docker-based testing across all Ruby versions Validated 449 tests passing with 0 failures across Ruby 2.7, 3.0, 3.1, 3.2, and 3.3.
181efa3 to
6da056b
Compare
|
Validated against ruby 2.7, 3.0, 3.1, 3.2, 3.3 w/ Added Makefile command to validate against current tests. Squashed, ready for review. I'd also recommend retiring Ruby 2.7 from the compatibility matrix to align with what's shipping in current and previous LTS releases. 2.7 hasn't been shipped by default in most places and no longer receives security updates. |
|
Requesting review from CodeDeploy team. AWS Premium support supposedly can't assist further. P.S., I'm deploying on Ubuntu 26.04 with my hacks around dependency requirements since I already validated that there aren't any breakages up through 3.3. @splokhikh just @'ing you as the most recent merger. Thanks all! |
Fixes #418
Context: Ubuntu 26.04 ships with Ruby 3.3 as the default Ruby-Full installable and no longer Ruby 3.2.
Follow-up task: The .deb packaging appears to be performed outside of this repository. Requires AWS investigation to cross the finish line.
I confirmed that even without these changes and manually patching the .deb file I get successful code-deployment on Ubuntu 26.04. This just formalizes support and should allow re-builds to work as expected.
I took an opinionated approach here to dependency management (flexible constraints add unpredictability on a library that isn't really being pulled down by anything else but rather packaged to .deb or .rpm's fully baked).
This also fixes some deprecations in zip and variation on PKCS7 that kiro-cli identified when testing.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.