diff --git a/runtimes/bun14/checksums/bun.sha256 b/runtimes/bun14/checksums/bun.sha256 index 807b1da..69acaca 100644 --- a/runtimes/bun14/checksums/bun.sha256 +++ b/runtimes/bun14/checksums/bun.sha256 @@ -1,2 +1,2 @@ -2d03fb5fb83ac8b567aca0a281b2ce1a1a19d488f56c2968d88c3f25e92fe452 bun-linux-x64.zip -4b1a332ee861983eb93bcfe6f770fff94e3e31b2c388bdaea3c8ed35e58eed0e bun-linux-aarch64.zip +36368faef7527875d5ffa52e53cd48021741f2a83eb6208a8dd64068d422a913 bun-linux-x64.zip +54328bbc2d9c8e0c9f892c544d66c57a83b84139e34909e5ee81758f1ac8fda7 bun-linux-aarch64.zip diff --git a/runtimes/bun14/runtime.json b/runtimes/bun14/runtime.json index a8c79e2..e494dbe 100644 --- a/runtimes/bun14/runtime.json +++ b/runtimes/bun14/runtime.json @@ -2,7 +2,7 @@ "runtime_id": "bun14", "runtime_family": "bun", "display_name": "Bun 1.4", - "distribution_version": "1.4.0", + "distribution_version": "1.4.2", "version_line": "1.4", "artifact": { "checksum_file": "checksums/bun.sha256" @@ -13,4 +13,4 @@ "us-west-1" ] } -} \ No newline at end of file +} diff --git a/runtimes/deno29/checksums/deno.sha256 b/runtimes/deno29/checksums/deno.sha256 index 221d8db..12f0c33 100644 --- a/runtimes/deno29/checksums/deno.sha256 +++ b/runtimes/deno29/checksums/deno.sha256 @@ -1,2 +1,2 @@ -394f07f4da2bebe6ce6f1e7ce0fa16429b29b08c35e3fac3fe25972676dff4b2 deno-x86_64-unknown-linux-gnu.zip -9a46afc6c392c7cd2ff71a31558935545b46408d0e87f7a86908c712721c046e deno-aarch64-unknown-linux-gnu.zip +c6527f24f4b16031d3ae4fa9f658d5f11534c8d84ce7dc8502420280919c3490 deno-x86_64-unknown-linux-gnu.zip +c832298b1ad4422481334855f6003e0f54145762c5a134f20a489511d2f65bbf deno-aarch64-unknown-linux-gnu.zip diff --git a/runtimes/deno29/runtime.json b/runtimes/deno29/runtime.json index 440b905..12856b1 100644 --- a/runtimes/deno29/runtime.json +++ b/runtimes/deno29/runtime.json @@ -2,7 +2,7 @@ "runtime_id": "deno29", "runtime_family": "deno", "display_name": "Deno 2.9", - "distribution_version": "2.9.6", + "distribution_version": "2.9.7", "version_line": "2.9", "artifact": { "checksum_file": "checksums/deno.sha256" diff --git a/runtimes/go126/checksums/go.sha256 b/runtimes/go126/checksums/go.sha256 index 57b9741..055608e 100644 --- a/runtimes/go126/checksums/go.sha256 +++ b/runtimes/go126/checksums/go.sha256 @@ -1,2 +1,2 @@ -ffb5f8de10c62550dfddab66b36b57030721e0a44a3218e9e1181d7b59f121ca go1.26.7.linux-amd64.tar.gz -5a4ec883379d51ee9ce1040d5e87f8d35e20387574dd8c947feb01eabc3c1b37 go1.26.7.linux-arm64.tar.gz +d0f743b33e8d8945e6b1f432edd15785c70507121d6e2a723b21285eddf8b57b go1.26.8.linux-amd64.tar.gz +211ffced9dcb9633a55eac6364816ec0ddd951389a740e88fa8b3337971bdda0 go1.26.8.linux-arm64.tar.gz diff --git a/runtimes/go126/runtime.json b/runtimes/go126/runtime.json index cc7c7e9..2f82dc8 100644 --- a/runtimes/go126/runtime.json +++ b/runtimes/go126/runtime.json @@ -2,7 +2,7 @@ "runtime_id": "go126", "runtime_family": "go-toolchain", "display_name": "Go 1.x", - "distribution_version": "1.26.7", + "distribution_version": "1.26.8", "version_line": "1.26", "artifact": { "checksum_file": "checksums/go.sha256" diff --git a/runtimes/go127/checksums/go.sha256 b/runtimes/go127/checksums/go.sha256 index 6a72937..99ffdd1 100644 --- a/runtimes/go127/checksums/go.sha256 +++ b/runtimes/go127/checksums/go.sha256 @@ -1,2 +1,2 @@ -675c26c449cbb18fc24b74650de1eabbae6e16f64326fd85a283fb3b58280685 go1.27.0.linux-amd64.tar.gz -51798d2c42d0e1c6ed7fd9f48728b4193abac9e8aad6dbac2fe96a81f5909bda go1.27.0.linux-arm64.tar.gz +63d339f0da5ab53635a56f2490a7984dfe12dfcff22ad749f63edaf590168445 go1.27.1.linux-amd64.tar.gz +3450b45a3f9ee8568792736a5c5e70a1f2e9b36c35a8f74958c03e51d7d92bec go1.27.1.linux-arm64.tar.gz diff --git a/runtimes/go127/runtime.json b/runtimes/go127/runtime.json index c647fc8..bca75b5 100644 --- a/runtimes/go127/runtime.json +++ b/runtimes/go127/runtime.json @@ -2,7 +2,7 @@ "runtime_id": "go127", "runtime_family": "go-toolchain", "display_name": "Go 1.27", - "distribution_version": "1.27.0", + "distribution_version": "1.27.1", "version_line": "1.27", "artifact": { "checksum_file": "checksums/go.sha256" @@ -18,4 +18,4 @@ "us-west-1" ] } -} \ No newline at end of file +} diff --git a/runtimes/graalpy313/checksums/graalpy.sha256 b/runtimes/graalpy313/checksums/graalpy.sha256 index a9a0789..cd2653e 100644 --- a/runtimes/graalpy313/checksums/graalpy.sha256 +++ b/runtimes/graalpy313/checksums/graalpy.sha256 @@ -1,2 +1,2 @@ -23515b4e659d645960517b0ceedb90faa84fcb01f0f4497beca5868a1b1ae3ea graalpy3.13-25.3.4.1-linux-amd64.tar.gz -53b80e284e444540ae7cb67349af3dd8f6c1848fbf6abb5051742ac745f1f33d graalpy3.13-25.3.4.1-linux-aarch64.tar.gz \ No newline at end of file +8b72e6e513d06976e5c8e051228d69d541fde76d05d5f907eaef4bb31db83af4 graalpy3.13-25.4.4-linux-amd64.tar.gz +1323dc064583efd1d6b696d3a9f9e4b1ff8facd0f7cc2b69fe0a0bf7ef06ea1a graalpy3.13-25.4.4-linux-aarch64.tar.gz diff --git a/runtimes/graalpy313/runtime.json b/runtimes/graalpy313/runtime.json index ad27a15..8bc38e3 100644 --- a/runtimes/graalpy313/runtime.json +++ b/runtimes/graalpy313/runtime.json @@ -2,7 +2,7 @@ "runtime_id": "graalpy313", "runtime_family": "graalpy", "display_name": "GraalPy 3.13", - "distribution_version": "25.3.4.1", + "distribution_version": "25.4.4", "python_version": "3.13", "artifact": { "checksum_file": "checksums/graalpy.sha256" @@ -13,4 +13,4 @@ "us-west-1" ] } -} \ No newline at end of file +} diff --git a/runtimes/pypy311/checksums/pypy.sha256 b/runtimes/pypy311/checksums/pypy.sha256 index 8041842..0ef24da 100644 --- a/runtimes/pypy311/checksums/pypy.sha256 +++ b/runtimes/pypy311/checksums/pypy.sha256 @@ -1,2 +1,2 @@ -16f9f56e82d1f4ec95a324c1a8cacfd78afc7f0656c0a809a18725ef4391453a pypy3.11-v7.3.23-linux64.tar.bz2 -5433ac0ad526aeb35025ef8509bed65cd62ea35cb9e21ac649c69a5eff4eecb6 pypy3.11-v7.3.23-aarch64.tar.bz2 +66a3657e9ddf2d62ead44d3a44b9ea2f6e7dbf28d812554cae5c982a0585bfa5 pypy3.11-v8.0.0-linux64.tar.gz +37faf1a0b00131748910ad21844a9b1b3fedd630c89b01ec98cdb1b5466ffca5 pypy3.11-v8.0.0-aarch64.tar.gz diff --git a/runtimes/pypy311/runtime.json b/runtimes/pypy311/runtime.json index 4ff6d11..692261e 100644 --- a/runtimes/pypy311/runtime.json +++ b/runtimes/pypy311/runtime.json @@ -2,7 +2,7 @@ "runtime_id": "pypy311", "runtime_family": "portable-pypy", "display_name": "PyPy 3.11", - "distribution_version": "pypy3.11-v7.3.23", + "distribution_version": "pypy3.11-v8.0.0", "artifact": { "checksum_file": "checksums/pypy.sha256" }, @@ -11,5 +11,6 @@ "eu-central-1", "us-west-1" ] - } + }, + "archive_ext": ".tar.gz" } diff --git a/runtimes/rust199/bootstrap/bootstrap b/runtimes/rust199/bootstrap/bootstrap new file mode 100644 index 0000000..f216be0 --- /dev/null +++ b/runtimes/rust199/bootstrap/bootstrap @@ -0,0 +1,3 @@ +#!/bin/sh +set -euo pipefail +exec /opt/rust/bin/"${_HANDLER}" diff --git a/runtimes/rust199/checksums/rust.sha256 b/runtimes/rust199/checksums/rust.sha256 new file mode 100644 index 0000000..36a69e8 --- /dev/null +++ b/runtimes/rust199/checksums/rust.sha256 @@ -0,0 +1,2 @@ +c812c6f52447721fe64cf0feb516769cf758475548a0da25c5b76b65613050a9 rust-1.99.0-x86_64-unknown-linux-musl.tar.gz +2d979ae621949ef802f357369f888f17c97fd3731a8dc4dc13f713e9d3a6784f rust-1.99.0-aarch64-unknown-linux-musl.tar.gz diff --git a/runtimes/rust199/examples/sam/Makefile b/runtimes/rust199/examples/sam/Makefile new file mode 100644 index 0000000..9a3b1b0 --- /dev/null +++ b/runtimes/rust199/examples/sam/Makefile @@ -0,0 +1,22 @@ +RUNTIME := rust199 + +package: + sam package \ + --template-file template.yml \ + --output-template-file packaged.yml \ + --s3-bucket rust-examples-us-east-1 \ + --region us-east-1 + +deploy: package + aws cloudformation deploy \ + --template-file packaged.yml \ + --stack-name rust-example-sam \ + --capabilities CAPABILITY_IAM \ + --parameter-overrides RustLayerArn=$$RUST_LAYER_ARN \ + --region us-east-1 + +local-build: + $(MAKE) -C ../../../.. local-build RUNTIME=$(RUNTIME) + +local-invoke: + $(MAKE) -C ../../../.. local-invoke RUNTIME=$(RUNTIME) diff --git a/runtimes/rust199/examples/sam/events/hello.json b/runtimes/rust199/examples/sam/events/hello.json new file mode 100644 index 0000000..2e716e5 --- /dev/null +++ b/runtimes/rust199/examples/sam/events/hello.json @@ -0,0 +1,3 @@ +{ + "message": "hello from local sam" +} diff --git a/runtimes/rust199/examples/sam/hello/Makefile b/runtimes/rust199/examples/sam/hello/Makefile new file mode 100644 index 0000000..b3d188e --- /dev/null +++ b/runtimes/rust199/examples/sam/hello/Makefile @@ -0,0 +1,3 @@ +build-HelloFunction: + mkdir -p "$(ARTIFACTS_DIR)" + cp -r . "$(ARTIFACTS_DIR)" diff --git a/runtimes/rust199/examples/sam/hello/main.rs b/runtimes/rust199/examples/sam/hello/main.rs new file mode 100644 index 0000000..fea20b0 --- /dev/null +++ b/runtimes/rust199/examples/sam/hello/main.rs @@ -0,0 +1,14 @@ +use lambda_runtime::{service_fn, Error, LambdaEvent}; +use serde_json::{json, Value}; + +async fn handler(event: LambdaEvent) -> Result { + Ok(json!({ + "statusCode": 200, + "body": json!({"message": "hello world"}).to_string() + })) +} + +#[tokio::main] +async fn main() -> Result<(), Error> { + lambda_runtime::run(service_fn(handler)).await +} diff --git a/runtimes/rust199/examples/sam/template.local.example.yaml b/runtimes/rust199/examples/sam/template.local.example.yaml new file mode 100644 index 0000000..4a57a20 --- /dev/null +++ b/runtimes/rust199/examples/sam/template.local.example.yaml @@ -0,0 +1,25 @@ +AWSTemplateFormatVersion: '2010-09-09' +Transform: AWS::Serverless-2016-10-31 +Description: "Rust Runtime local SAM example" + +Resources: + RustLayer: + Type: AWS::Serverless::LayerVersion + Properties: + LayerName: local-rust-runtime + ContentUri: __LOCAL_LAYER_CONTENT_URI__ + CompatibleRuntimes: + - provided.al2023 + + HelloFunction: + Type: AWS::Serverless::Function + Metadata: + BuildMethod: makefile + Properties: + CodeUri: __LOCAL_CODE_URI__ + Handler: handler + Runtime: provided.al2023 + Layers: + - !Ref RustLayer + Timeout: 10 + MemorySize: 256 diff --git a/runtimes/rust199/examples/sam/template.yml b/runtimes/rust199/examples/sam/template.yml new file mode 100644 index 0000000..75869e1 --- /dev/null +++ b/runtimes/rust199/examples/sam/template.yml @@ -0,0 +1,18 @@ +AWSTemplateFormatVersion: '2010-09-09' +Transform: AWS::Serverless-2016-10-31 +Description: "Rust Runtime SAM Example" + +Parameters: + RustLayerArn: + Type: String + Description: ARN of the published Rust Lambda layer for your region/account + +Resources: + RustExample: + Type: 'AWS::Serverless::Function' + Properties: + CodeUri: hello/ + Handler: handler + Runtime: provided.al2023 + Layers: + - !Ref RustLayerArn diff --git a/runtimes/rust199/examples/sls/serverless.yml b/runtimes/rust199/examples/sls/serverless.yml new file mode 100644 index 0000000..940b03a --- /dev/null +++ b/runtimes/rust199/examples/sls/serverless.yml @@ -0,0 +1,15 @@ +service: hello-rust199 + + +provider: + name: aws + region: eu-central-1 + +functions: + hello-rust199: + handler: handler + runtime: provided.al2023 + # Set RUST_LAYER_ARN before deploy, for example: + # RUST_LAYER_ARN=$(aws lambda list-layer-versions --layer-name rust199 --query "LayerVersions[0].LayerVersionArn" --output text --region eu-central-1) + layers: + - ${env:RUST_LAYER_ARN} diff --git a/runtimes/rust199/helpers/lambda_runtime_rust/lib.rs b/runtimes/rust199/helpers/lambda_runtime_rust/lib.rs new file mode 100644 index 0000000..0bbf433 --- /dev/null +++ b/runtimes/rust199/helpers/lambda_runtime_rust/lib.rs @@ -0,0 +1 @@ +// Lambda runtime Rust helpers placeholder. diff --git a/runtimes/rust199/runtime.json b/runtimes/rust199/runtime.json new file mode 100644 index 0000000..5e31fd4 --- /dev/null +++ b/runtimes/rust199/runtime.json @@ -0,0 +1,21 @@ +{ + "runtime_id": "rust199", + "runtime_family": "rust-musl", + "display_name": "Rust 1.99", + "distribution_version": "1.99.0", + "version_line": "1.99", + "artifact": { + "checksum_file": "checksums/rust.sha256" + }, + "local_testing": { + "handler": "handler", + "code_uri": "examples/sam/hello", + "skip_local_invoke": true + }, + "release": { + "regions": [ + "eu-central-1", + "us-west-1" + ] + } +}