Skip to content

Commit 9666259

Browse files
chore(synthetics): playwright 3.0 and puppeteer 10.0/11.0 runtime (#35415)
### Issue # (if applicable) None ### Reason for this change AWS Synthetics Canary now supports for new runtime. - https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Library_nodejs_playwright.html - https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Library_nodejs_puppeteer.html ### Description of changes Add new runtimes - Puppeteer 10.0 - Puppeteer 11.0 - Playwright 3.0 ### Describe any new or updated permissions being added None ### Description of how you validated changes None ### Checklist - [x] My code adheres to the [CONTRIBUTING GUIDE](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and [DESIGN GUIDELINES](https://github.com/aws/aws-cdk/blob/main/docs/DESIGN_GUIDELINES.md) ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
1 parent 30722f2 commit 9666259

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed

packages/aws-cdk-lib/aws-synthetics/lib/runtime.ts

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -247,6 +247,42 @@ export class Runtime {
247247
*/
248248
public static readonly SYNTHETICS_NODEJS_PUPPETEER_9_1 = new Runtime('syn-nodejs-puppeteer-9.1', RuntimeFamily.NODEJS);
249249

250+
/**
251+
* `syn-nodejs-puppeteer-10.0` includes the following:
252+
* - Lambda runtime Node.js 20.x
253+
* - Puppeteer-core version 24.2.0
254+
* - Chromium version 131.0.6778.264
255+
*
256+
* New Features:
257+
* - **Bug fixes**: The bug related to closing the browser that took excessively long is fixed.
258+
* - **Dry run**: Supports dry runs for the canary which allows for adhoc executions or performing a safe canary update.
259+
*
260+
* @see https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Library_nodejs_puppeteer.html#CloudWatch_Synthetics_runtimeversion-nodejs-puppeteer-10.0
261+
*/
262+
public static readonly SYNTHETICS_NODEJS_PUPPETEER_10_0 = new Runtime('syn-nodejs-puppeteer-10.0', RuntimeFamily.NODEJS);
263+
264+
/**
265+
* `syn-nodejs-puppeteer-11.0` includes the following:
266+
* - Lambda runtime Node.js 20.x
267+
* - Puppeteer-core version 24.15.0
268+
* - Chromium version 138.0.7204.168
269+
*
270+
* New Features:
271+
* - **Multi-browser support**: You can now run Node.js Puppeteer canaries in either Firefox or Chrome
272+
* - **Simplified packaging**: Package scripts directly under root without using the Node.js/node_modules directory structure
273+
* - **Screenshot integration**: Capture screenshots using native Puppeteer functions to visualize canary script stages. Synthetics automatically associates screenshots with canary steps and uploads them to Amazon S3
274+
* - **Enhanced log querying**: Query and filter logs through the CloudWatch Insights console. Each log message includes a unique canaryRunId for easier searching
275+
* - **Configuration file support**: Define and update Synthetics settings using a synthetics.json file. This separation of configuration from script logic improves maintenance and reusability
276+
* - **Multiple tabs support**: Create canaries that open multiple browser tabs and access screenshots from each tab. Build multi-tab and multi-step user workflows in Synthetics
277+
* - **Security fixes**
278+
* - **Visual monitoring bug fixes**
279+
* - **Added support for structured JSON logging with configurable log levels**: Logs are now emitted in JSON format to enable easier parsing and querying in CloudWatch. Log level is configurable (for example, DEBUG, INFO, TRACE) through environment variables allowing users to control verbosity based on their needs
280+
* - **Support for ES syntax**
281+
*
282+
* @see https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Library_nodejs_puppeteer.html#CloudWatch_Synthetics_runtimeversion-nodejs-puppeteer-11.0
283+
*/
284+
public static readonly SYNTHETICS_NODEJS_PUPPETEER_11_0 = new Runtime('syn-nodejs-puppeteer-11.0', RuntimeFamily.NODEJS);
285+
250286
/**
251287
* `syn-nodejs-playwright-1.0` includes the following:
252288
* - Lambda runtime Node.js 20.x
@@ -278,6 +314,20 @@ export class Runtime {
278314
*/
279315
public static readonly SYNTHETICS_NODEJS_PLAYWRIGHT_2_0 = new Runtime('syn-nodejs-playwright-2.0', RuntimeFamily.NODEJS);
280316

317+
/**
318+
* `syn-nodejs-playwright-2.0` includes the following:
319+
* - Lambda runtime Node.js 20.x
320+
* - Playwright version 1.53.0
321+
* - Chromium version 138.0.7204.168
322+
*
323+
* New Features:
324+
* - Multi-browser support – You can now run your nodejs puppeteer canaries in either Firefox or Chrome
325+
* - Support for visual monitoring
326+
*
327+
* @see https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Library_nodejs_playwright.html#Synthetics_runtimeversion-syn-nodejs-playwright-3.0
328+
*/
329+
public static readonly SYNTHETICS_NODEJS_PLAYWRIGHT_3_0 = new Runtime('syn-nodejs-playwright-3.0', RuntimeFamily.NODEJS);
330+
281331
/**
282332
* `syn-python-selenium-1.0` includes the following:
283333
* - Lambda runtime Python 3.8

0 commit comments

Comments
 (0)