Skip to content

feat: add support for ruby 4.0#855

Merged
reedham-aws merged 2 commits intoaws:developfrom
reedham-aws:ruby4
Apr 23, 2026
Merged

feat: add support for ruby 4.0#855
reedham-aws merged 2 commits intoaws:developfrom
reedham-aws:ruby4

Conversation

@reedham-aws
Copy link
Copy Markdown
Contributor

Description of changes

Adds basic support and testing for Ruby 4.0. This is mostly just adding it to our supported runtime list and testing that it is successful.

Description of how you validated changes

make pr passed, seeing if the CI passes.

Checklist

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@reedham-aws reedham-aws requested a review from a team as a code owner April 8, 2026 17:13
@reedham-aws
Copy link
Copy Markdown
Contributor Author

The issues with the CI are unrelated to any builders changes, and instead seem to be an issue with npm: npm/cli#9151. Seems like there might be some workarounds mentioned in the thread but for this PR I think it's fine to ignore.

python:
- "3.13"
ruby:
- "3.2"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

create for ruby3.2 is actually supposed to be deprecated April 30, can we remove this?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Based on what I see here function create is blocked 2026-08-31 and function update is blocked on 2026-09-30. My understanding is we usually don't remove runtimes until their update is blocked.

ruby-version: "3.2"
ruby-version: ${{ matrix.ruby }}
- run: make init
- run: pytest -vv tests/integration/workflows/ruby_bundler
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's interesting that we use every these two versions of ruby (3.2, 4.0) to check that lambda-builders can build every version of ruby (from the test_ruby.py file).

One would think that we just need to build each version with the same version, but this is a more complete test (assuming that the test is real and it's actually building for each of the different ruby versions instead of just using the ruby from the environment and ignoring the runtime passed as a parameter.. in that case, we would be running the same test 4 times... so hopefully this all works how it's supposed to, and we have a very good test)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't remember too well, but I think I had previously considered this issue when working on #808. I think you might be right (unfortunately) that we're running tests for functions with runtimes that are supposedly 3.4 or 3.6, but it's just in an environment that doesn't even have that version. I think that's non-blocking for this PR, but probably requires some more testing.

@reedham-aws reedham-aws enabled auto-merge April 23, 2026 18:49
@reedham-aws reedham-aws added this pull request to the merge queue Apr 23, 2026
Merged via the queue into aws:develop with commit 5b974d3 Apr 23, 2026
101 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants