Skip to content

Commit 20720c5

Browse files
authored
Merge pull request #1862 from naomichi-y/feature/add-ruby3.3-support
Add ruby 3.3 support
2 parents 483a870 + 07955f1 commit 20720c5

File tree

4 files changed

+82
-1
lines changed

4 files changed

+82
-1
lines changed

src/config/supportedRuntimes.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ export const supportedRuntimesArchitecture = {
2424
"python3.12": [ARM64, X86_64],
2525
"ruby2.7": [ARM64, X86_64],
2626
"ruby3.2": [ARM64, X86_64],
27+
"ruby3.3": [ARM64, X86_64],
2728
java8: [X86_64],
2829
"java8.al2": [ARM64, X86_64],
2930
java11: [ARM64, X86_64],
@@ -69,7 +70,7 @@ export const supportedPython = new Set([
6970
])
7071

7172
// RUBY
72-
export const supportedRuby = new Set(["ruby2.7", "ruby3.2"])
73+
export const supportedRuby = new Set(["ruby2.7", "ruby3.2", "ruby3.3"])
7374

7475
export const supportedRuntimes = new Set([
7576
// ...supportedDotnetcore,
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
import assert from "node:assert"
2+
import { env } from "node:process"
3+
import { join } from "desm"
4+
import { setup, teardown } from "../../../../_testHelpers/index.js"
5+
import { BASE_URL } from "../../../../config.js"
6+
7+
describe("Ruby 3.3 with Docker tests", function desc() {
8+
beforeEach(() =>
9+
setup({
10+
servicePath: join(import.meta.url),
11+
}),
12+
)
13+
14+
afterEach(() => teardown())
15+
16+
//
17+
;[
18+
{
19+
description: "should work with ruby3.3 in docker container",
20+
expected: {
21+
message: "Hello Ruby 3.3!",
22+
},
23+
path: "/dev/hello",
24+
},
25+
].forEach(({ description, expected, path }) => {
26+
it(description, async function it() {
27+
// "Could not find 'Docker', skipping tests."
28+
if (!env.DOCKER_DETECTED) {
29+
this.skip()
30+
}
31+
32+
const url = new URL(path, BASE_URL)
33+
const response = await fetch(url)
34+
const json = await response.json()
35+
36+
assert.equal(json.message, expected.message)
37+
})
38+
})
39+
})
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
require 'json'
2+
3+
def hello(event:, context:)
4+
{
5+
body: JSON.generate({
6+
message: 'Hello Ruby 3.3!',
7+
version: RUBY_VERSION,
8+
}),
9+
statusCode: 200,
10+
}
11+
end
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
service: docker-ruby-3-3-tests
2+
3+
configValidationMode: error
4+
deprecationNotificationMode: error
5+
6+
plugins:
7+
- ../../../../../src/index.js
8+
9+
provider:
10+
architecture: x86_64
11+
deploymentMethod: direct
12+
memorySize: 1024
13+
name: aws
14+
region: us-east-1
15+
runtime: ruby3.3
16+
stage: dev
17+
versionFunctions: false
18+
19+
custom:
20+
serverless-offline:
21+
noTimeout: true
22+
useDocker: true
23+
24+
functions:
25+
hello:
26+
events:
27+
- http:
28+
method: get
29+
path: hello
30+
handler: handler.hello

0 commit comments

Comments
 (0)