smithy-rs/tools/ci-cdk
John DiSanti 2e82790a34
Update tool dependencies (#2879)
_By submitting this pull request, I confirm that you can use, modify,
copy, and redistribute this contribution, under the terms of your
choice._
2023-07-27 15:56:18 +00:00
..
bin Fix `SPDX-License-Identifier` in header comments (#1377) 2022-05-09 09:50:46 -05:00
canary-lambda Fix bug in default HTTP Connector provided by aws-config (#2471) 2023-03-16 23:53:13 +00:00
canary-runner Update tool dependencies (#2879) 2023-07-27 15:56:18 +00:00
lib Update GitHub thumbprints for OIDC in CI (#2813) 2023-06-28 14:21:07 +00:00
test Update GitHub thumbprints for OIDC in CI (#2813) 2023-06-28 14:21:07 +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 Canary (#2016) 2022-11-28 22:42:40 +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 Update GitHub thumbprints for OIDC in CI (#2813) 2023-06-28 14:21:07 +00:00
package.json Upgrade CDK infrastructure to CDK 2 (#1214) 2022-02-22 19:31:04 +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 awslabs/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