You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.v2.alpha.md
+2
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,8 @@
2
2
3
3
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
Copy file name to clipboardExpand all lines: CHANGELOG.v2.md
+28
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,34 @@
2
2
3
3
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
* **codebuild:** add support for `aws/codebuild/amazonlinux2-aarch64-standard:3.0` ([#25351](https://github.com/aws/aws-cdk/issues/25351)) ([0d187c1](https://github.com/aws/aws-cdk/commit/0d187c1ef337d5a46c47c018dc85e43de897f095)), closes [#25334](https://github.com/aws/aws-cdk/issues/25334)
* **batch:** JobQueue uses wrong id for underlying CfnJobQueue ([#25269](https://github.com/aws/aws-cdk/issues/25269)) ([4cbb790](https://github.com/aws/aws-cdk/commit/4cbb7905d0419eb763e25b1d6de574b35ab60bc9)), closes [#25248](https://github.com/aws/aws-cdk/issues/25248)
25
+
* **core:** output folder checksum is computed unnecessarily ([#25392](https://github.com/aws/aws-cdk/issues/25392)) ([f2294ba](https://github.com/aws/aws-cdk/commit/f2294ba5d17b31895267a672dcc7ec457cc779c7))
26
+
* **ecs:** Allow scheduling DAEMON services even if no EC2 capacity attached to cluster ([#25306](https://github.com/aws/aws-cdk/issues/25306)) ([#25328](https://github.com/aws/aws-cdk/issues/25328)) ([96bb8ce](https://github.com/aws/aws-cdk/commit/96bb8ce6b3a45daf47d4d4dbf91fd6b69988bb7b))
27
+
* **elasticloadbalancingv2:** the bucket policy for ELB access logging is too permissive ([#25345](https://github.com/aws/aws-cdk/issues/25345)) ([748e685](https://github.com/aws/aws-cdk/commit/748e6859ccab999e66768d40d34fef93884453ea)), closes [/docs.aws.amazon.com/securityhub/latest/userguide/s3-controls.html#s3-6](https://github.com/aws//docs.aws.amazon.com/securityhub/latest/userguide/s3-controls.html/issues/s3-6)
28
+
* **iam:** Role.fromRoleName fails on AWS created roles ([#25389](https://github.com/aws/aws-cdk/issues/25389)) ([4c9ce9b](https://github.com/aws/aws-cdk/commit/4c9ce9b6aa88306feeac6ffb71c1342d8acf4349))
29
+
* **integ-tests:** allow multiple AwsApiCalls with the same action and different parameters ([#25241](https://github.com/aws/aws-cdk/issues/25241)) ([75967e1](https://github.com/aws/aws-cdk/commit/75967e17b8ce3a9d1e0068a3aa210abb247191e6)), closes [#25014](https://github.com/aws/aws-cdk/issues/25014)
30
+
* **s3-deployment:** doesn't work in ADC regions ([#25363](https://github.com/aws/aws-cdk/issues/25363)) ([432af34](https://github.com/aws/aws-cdk/commit/432af347772fb3bf0f51aae07f4deb0aeec55d81))
31
+
* dns-validated-cert cr doesn't use node16 ([#25348](https://github.com/aws/aws-cdk/issues/25348)) ([ad71026](https://github.com/aws/aws-cdk/commit/ad7102683be92ab8d5ab985d34b2203921ab061b)), closes [#25335](https://github.com/aws/aws-cdk/issues/25335)
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+152-5
Original file line number
Diff line number
Diff line change
@@ -51,7 +51,7 @@ let us know if it's not up-to-date (even better, submit a PR with your correcti
51
51
52
52
The following steps describe how to set up the AWS CDK repository on your local machine.
53
53
The alternative is to use [Gitpod](https://www.gitpod.io/), a Cloud IDE for your development.
54
-
See [Gitpod section](#gitpod-alternative) on how to set up the CDK repo on Gitpod.
54
+
See [Gitpod section](#gitpod) on how to set up the CDK repo on Gitpod.
55
55
56
56
### Setup
57
57
@@ -92,7 +92,7 @@ CDK can be found at the location `packages/aws-cdk-lib/aws-iam`.
92
92
The repo also contains the `tools/` directory that holds custom build tooling (modeled as private npm packages)
93
93
specific to the CDK.
94
94
95
-
### Build
95
+
### Building aws-cdk-lib
96
96
97
97
The full build of all of the packages within the repository can take a few minutes, about 20 when all tests are run.
98
98
Most contributions only require working on a single package, usually `aws-cdk-lib`. To build this package for the first
@@ -162,7 +162,7 @@ Please follow the [setup instructions](https://code.visualstudio.com/docs/remote
162
162
163
163
With VS Code setup, you will be prompted to open the `aws-cdk` repo in a Dev Container, or you can choos "Dev Containers: Reopen in Container" from the VS Code command palette.
164
164
165
-
### Gitpod (Alternative)
165
+
### Gitpod
166
166
167
167
You may also set up your local development environment using [Gitpod](http://gitpod.io) -
168
168
a service that allows you to spin up an in-browser Visual Studio Code-compatible editor,
@@ -177,7 +177,22 @@ You can now work on your CDK repository, as described in the [Getting Started](#
177
177
Gitpod is free for 50 hours per month - make sure to stop your workspace when you're done
178
178
(you can always resume it later, and it won't need to run the build again).
179
179
180
-
For Gitpod users only! The best way to supply CDK with your AWS credentials is to add them as
180
+
For Gitpod users only! The best way to authenticate AWS in Gitpod is to use AWS IAM Identity Center(successor to AWS Single Sign-On). [Install AWS CLI v2](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html#getting-started-install-instructions) and configure it as follows:
181
+
182
+
```shell
183
+
# make sure AWS CLI v2 is in your $PATH
184
+
$ aws --version
185
+
# configure the AWS profile with SSO
186
+
$ aws configure sso
187
+
# login and authenticate
188
+
$ aws sso login
189
+
# verify your current identity
190
+
$ aws sts get-caller-identity
191
+
```
192
+
193
+
Check out [this document](https://docs.aws.amazon.com/cli/latest/userguide/sso-configure-profile-token.html) for the details.
194
+
195
+
Alternatively, supply CDK with your AWS credentials as
Dev Environments are cloud-based development environments.
209
+
[Amazon CodeCatalyst](https://aws.amazon.com/codecatalyst/) allows you to checkout your linked Github
210
+
repositories in your Dev Environments with your favorite local IDEs such as VSCode or JetBrains.
211
+
212
+
Build up `aws-cdk-lib` as well as `framework-integ` when you enter your Dev Env:
213
+
214
+
```shell
215
+
$ yarn install
216
+
$ NODE_OPTIONS=--max-old-space-size=8192 npx lerna run build --scope=aws-cdk-lib --scope=@aws-cdk-testing/framework-integ
217
+
```
218
+
219
+
You may [configure your Dev Env](https://docs.aws.amazon.com/codecatalyst/latest/userguide/devenvironment-devfile.html) with the `devfile.yaml` to further customize your Dev Env for CDK development.
220
+
221
+
Read the links below for more details:
222
+
-[Dev Environments in CodeCatalyst](https://docs.aws.amazon.com/codecatalyst/latest/userguide/devenvironment.html)
223
+
-[Using GitHub repositories in CodeCatalyst](https://docs.aws.amazon.com/codecatalyst/latest/userguide/extensions-github.html)
224
+
-[Setting up to use the AWS CLI with CodeCatalyst](https://docs.aws.amazon.com/codecatalyst/latest/userguide/set-up-cli.html)
225
+
191
226
## Pull Requests
192
227
193
228
Below is a flow chart that describes how your PR may be treated by repository maintainers:
@@ -279,6 +314,14 @@ Integration tests perform a few functions in the CDK code base -
279
314
3. (Optionally) Acts as a way to validate that constructs set up the CloudFormation resources as expected. A successful
280
315
CloudFormation deployment does not mean that the resources are set up correctly.
281
316
317
+
**Build framework-integ**
318
+
319
+
You need to build the `framework-integ` before running the `yarn integ`
320
+
321
+
```console
322
+
$ npx lerna run build --scope=@aws-cdk-testing/framework-integ
323
+
```
324
+
282
325
**When are integration tests required?**
283
326
284
327
The following list contains common scenarios where we _know_ that integration tests are required.
**What do do if you cannot run integration tests**
354
+
**What if you cannot run integration tests**
312
355
313
356
If you are working on a PR that requires an update to an integration test and you are unable
314
357
to run the `cdk-integ` tool to perform a real deployment, please call this out on the pull request
@@ -332,6 +375,110 @@ $ cd packages/aws-cdk
332
375
$ yarn watch &# runs in the background
333
376
```
334
377
378
+
#### Verify your fix by deployment
379
+
380
+
If your PR updates a specific library, you might want to write a simple CDK application and make sure it synthesizes and
381
+
deploys correctly. For example, if you modify files under `packages/aws-cdk-lib/aws-eks`, you can write a simple CDK app in typescript to verify its behavior:
382
+
383
+
384
+
```console
385
+
$ cd packages/@aws-cdk-testing/framework-integ/test/aws-eks/test
Run `yarn watch` or `npx tsc --watch` in a separate terminal to compile `sample.ts` to `sample.js`:
410
+
411
+
```console
412
+
$ cd packages/@aws-cdk-testing/framework-integ
413
+
$ yarn watch
414
+
or
415
+
$ npx tsc --watch
416
+
```
417
+
418
+
Make sure you have configured [AWS CLI with AWS Authentication](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html#getting_started_auth) as we will deploy it in our AWS account.
419
+
420
+
Deploy the sample app:
421
+
422
+
```console
423
+
$ cd packages/@aws-cdk-testing/framework-integ
424
+
$ npx cdk -a test/aws-eks/test/sample.js diff
425
+
$ npx cdk -a test/aws-eks/test/sample.js deploy
426
+
```
427
+
428
+
This allows you to iterate your development and ensure a minimal sample app would successfully deploy as you expect.
429
+
You have the freedom to interact with it just as a common CDK app such as viewing differences with `npx cdk diff`
430
+
or pass context variables with `npx cdk deploy -c`. You can rapidly iterate your testing with repeated deployments
431
+
by importing existing resource such as existing VPC. This can save a lot of time and help you focus on the core changes.
0 commit comments