smithy-rs/tools/ci-cdk
Russell Cohen 446326c537
Add support for BehaviorMajorVersions (#3151)
## Motivation and Context
See [rendered
RFC](df518bfb59/design/src/rfcs/rfc0039_behavior_major_versions.md)

## Description
This add `BehaviorMajorVersions` to the SDK and wires them in up and
down the stack.

## Testing
- [x] lots of ITs / UTs

## Checklist
<!--- If a checkbox below is not applicable, then please DELETE it
rather than leaving it unchecked -->
- [x] I have updated `CHANGELOG.next.toml` if I made changes to the
smithy-rs codegen or runtime crates
- [x] I have updated `CHANGELOG.next.toml` if I made changes to the AWS
SDK, generated SDK code, or SDK runtime crates

----

_By submitting this pull request, I confirm that you can use, modify,
copy, and redistribute this contribution, under the terms of your
choice._
2023-11-14 22:06:10 +00:00
..
bin Set a region on the canary CDK stack to simplify deployment (#2954) 2023-08-29 21:54:59 +00:00
canary-lambda Add support for BehaviorMajorVersions (#3151) 2023-11-14 22:06:10 +00:00
canary-runner Fix repo org move issues (#3166) 2023-11-10 18:51:04 +00:00
lib Fix repo org move issues (#3166) 2023-11-10 18:51:04 +00:00
test Fix repo org move issues (#3166) 2023-11-10 18:51:04 +00:00
.eslintrc.json Improve the codegen diff bot (#918) 2021-12-03 20:04:05 +00:00
.gitignore Enable deploying a minimal set of resources for running the canary (#1306) 2022-04-06 13:07:45 -07:00
.npmignore Improve the codegen diff bot (#918) 2021-12-03 20:04:05 +00:00
.prettierrc Improve the codegen diff bot (#918) 2021-12-03 20:04:05 +00:00
LICENSE Improve the codegen diff bot (#918) 2021-12-03 20:04:05 +00:00
README.md Fix repo org move issues (#3166) 2023-11-10 18:51:04 +00:00
cdk.json Upgrade CDK infrastructure to CDK 2 (#1214) 2022-02-22 19:31:04 +00:00
jest.config.js Improve the codegen diff bot (#918) 2021-12-03 20:04:05 +00:00
package-lock.json Add new MRAP test to S3 canary (#3109) 2023-10-31 00:35:23 +00:00
package.json Update Canary OIDC provider, NPM commands, and previous version pagination test (#3142) 2023-11-02 18:08:30 +00:00
tsconfig.json Improve the codegen diff bot (#918) 2021-12-03 20:04:05 +00:00

README.md

CI CDK

This is the CDK infrastructure as code for smithy-lang/smithy-rs and awslabs/aws-sdk-rust continuous integration.

The cdk.json file tells the CDK Toolkit how to synthesize the infrastructure.

Canary local development

Sometimes it's useful to only deploy the canary resources to a test AWS account to iterate on the canary-runner and canary-lambda. To do this, run the following:

npm install
npm run build
npx cdk --app "node build/bin/canary-only.js" synth
npx cdk --app "node build/bin/canary-only.js" deploy --outputs-file cdk-outputs.json

From there, you can just point the canary-runner to the cdk-outputs.json to run it:

cd canary-runner
cargo run -- run --sdk-release-tag <version> --musl --cdk-outputs ../cdk-outputs.json

NOTE: You may want to add a --profile to the deploy command to select a specific credential profile to deploy to if you don't want to use the default.

Also, if this is a new test AWS account, be sure it CDK bootstrap it before attempting to deploy.

Useful commands

  • npm run lint: lint code
  • npm run format: auto-format code
  • npm run build: compile typescript to js
  • npm run watch: watch for changes and compile
  • npm run test: perform the jest unit tests
  • npx cdk deploy: deploy this stack to your default AWS account/region
  • npx cdk diff: compare deployed stack with current state
  • npx cdk synth: emits the synthesized CloudFormation template