Skip to content

test(canary): replace verdaccio canary test with client tests in canary mode#7816

Merged
kuhe merged 1 commit intomainfrom
kuhe/test/canary
Mar 5, 2026
Merged

test(canary): replace verdaccio canary test with client tests in canary mode#7816
kuhe merged 1 commit intomainfrom
kuhe/test/canary

Conversation

@kuhe
Copy link
Contributor

@kuhe kuhe commented Mar 4, 2026

Issue

JS-6639

Description

This replaces the verdaccio (prerelease) isolated workspace test with a canary that borrows the client e2e tests.

Testing

added new test step to CI

Checklist

  • If the PR is a feature, add integration tests (*.integ.spec.ts) or E2E tests.
    • It's not a feature.
  • My E2E tests are resilient to concurrent i/o.
    • I didn't write any E2E tests.
  • I added access level annotations e.g. @public, @internal tags and enabled doc generation on the package. Remember that access level annotations go below the description, not above.
    • I didn't add any public functions.
  • Streams - how do they work?? My WebStream readers/locks are properly lifecycled. Node.js stream backpressure is handled. Error handling.
    • No streams here.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@kuhe kuhe requested a review from a team as a code owner March 4, 2026 21:42
@@ -0,0 +1,96 @@
const fs = require("node:fs");
Copy link
Contributor Author

Choose a reason for hiding this comment

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

The folder created by this script has the compatible set of tests copied from the JSv3 repo.

It then lists all the clients being used in a new package json file:

{
  "name": "canary-aws-sdk-js-v3",
  "private": true,
  "scripts": {
    "canary": "vitest run --retry=4 --test-timeout=60000"
  },
  "devDependencies": {
    "@aws-sdk/client-acm": "latest",
    "@aws-sdk/client-api-gateway": "latest",
    "@aws-sdk/client-bedrock-runtime": "latest",
    "@aws-sdk/client-cloudformation": "latest",
    "@aws-sdk/client-cloudfront": "latest",
    "@aws-sdk/client-cloudtrail": "latest",
    "@aws-sdk/client-cloudwatch-events": "latest",
    "@aws-sdk/client-cloudwatch-logs": "latest",
    "@aws-sdk/client-codecommit": "latest",
    "@aws-sdk/client-codedeploy": "latest",
    "@aws-sdk/client-codepipeline": "latest",
    "@aws-sdk/client-config-service": "latest",
    "@aws-sdk/client-data-pipeline": "latest",
    "@aws-sdk/client-database-migration-service": "latest",
    "@aws-sdk/client-device-farm": "latest",
    "@aws-sdk/client-direct-connect": "latest",
    "@aws-sdk/client-directory-service": "latest",
    "@aws-sdk/client-dynamodb": "latest",
    "@aws-sdk/client-dynamodb-streams": "latest",
    "@aws-sdk/client-ecr": "latest",
    "@aws-sdk/client-ecs": "latest",
    "@aws-sdk/client-efs": "latest",
    "@aws-sdk/client-elastic-beanstalk": "latest",
    "@aws-sdk/client-elastic-load-balancing": "latest",
    "@aws-sdk/client-elastic-load-balancing-v2": "latest",
    "@aws-sdk/client-elasticache": "latest",
    "@aws-sdk/client-elasticsearch-service": "latest",
    "@aws-sdk/client-emr": "latest",
    "@aws-sdk/client-gamelift": "latest",
    "@aws-sdk/client-iam": "latest",
    "@aws-sdk/client-iot": "latest",
    "@aws-sdk/client-kinesis": "latest",
    "@aws-sdk/client-kms": "latest",
    "@aws-sdk/client-lambda": "latest",
    "@aws-sdk/client-rds": "latest",
    "@aws-sdk/client-redshift": "latest",
    "@aws-sdk/client-route-53": "latest",
    "@aws-sdk/client-route-53-domains": "latest",
    "@aws-sdk/client-s3vectors": "latest",
    "@aws-sdk/client-sagemaker": "latest",
    "@aws-sdk/client-ses": "latest",
    "@aws-sdk/client-sns": "latest",
    "@aws-sdk/client-sqs": "latest",
    "@aws-sdk/client-ssm": "latest",
    "@aws-sdk/client-storage-gateway": "latest",
    "@aws-sdk/client-sts": "latest",
    "@aws-sdk/client-swf": "latest",
    "@aws-sdk/client-transcribe-streaming": "latest",
    "@aws-sdk/client-waf": "latest",
    "@aws-sdk/client-workspaces": "latest",
    "@aws-sdk/core": "latest",
    "@smithy/core": "latest",
    "@smithy/types": "latest",
    "vitest": "latest"
  }
}

and runs the tests from the isolated folder using NPM downloaded client versions.

@kuhe kuhe force-pushed the kuhe/test/canary branch 2 times, most recently from 9ae636f to 699c896 Compare March 4, 2026 22:30
@kuhe kuhe force-pushed the kuhe/test/canary branch from 699c896 to b81d0d2 Compare March 5, 2026 02:17
@kuhe kuhe merged commit d9bad4e into main Mar 5, 2026
7 checks passed
@kuhe kuhe deleted the kuhe/test/canary branch March 5, 2026 03:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants