From 1588d3f52df384046342eb6d1a640b2bb3839193 Mon Sep 17 00:00:00 2001 From: Momo Kornher Date: Fri, 13 Oct 2023 19:54:28 +0100 Subject: [PATCH 1/7] mergify: don't dismiss github-actions[bot] reviews --- .mergify.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.mergify.yml b/.mergify.yml index ece584bbd..76d8ef5a3 100644 --- a/.mergify.yml +++ b/.mergify.yml @@ -36,6 +36,10 @@ pull_request_rules: - "#commented-reviews-by=0" - name: remove stale reviews actions: - dismiss_reviews: {} + approved: true + changes_requested: true conditions: - - base=master + - author!=github-actions[bot] + - base=main + - -merged + - -closed \ No newline at end of file From 1f8cb559cfcbb0b92d4cb2d0d9f44777a1204a58 Mon Sep 17 00:00:00 2001 From: Momo Kornher Date: Fri, 13 Oct 2023 19:54:37 +0100 Subject: [PATCH 2/7] npm ci --- .github/workflows/render-table.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/render-table.yml b/.github/workflows/render-table.yml index 357d0e5f0..0d0faf551 100644 --- a/.github/workflows/render-table.yml +++ b/.github/workflows/render-table.yml @@ -27,7 +27,7 @@ jobs: - name: install dependencies run: | cd tools/rfc-render - npm install + npm ci - name: render table run: | node tools/rfc-render/inject-table.js README.md From 5599b71b497092166a4424a9486fd65622b7850f Mon Sep 17 00:00:00 2001 From: Momo Kornher Date: Fri, 13 Oct 2023 19:54:50 +0100 Subject: [PATCH 3/7] align existing rfcs --- text/00110-cli-framework-compatibility-strategy.md | 14 +++++++------- text/0039-reduce-module-size.md | 2 +- text/0049-continuous-delivery.md | 2 +- text/0052-resource-importing-support.md | 2 +- text/0055-feature-flags.md | 4 ++-- text/0063-precreated-roles.md | 2 +- text/0079-cdk-2.0.md | 4 ++-- .../working-backwards-readme.md | 2 +- text/0192-remove-constructs-compat.md | 8 ++++---- text/0249-v2-experiments.expired.md | 2 +- text/0249-v2-experiments.md | 2 +- text/0253-cdk-metadata-v2.md | 2 +- text/0264-registry-schema-codegen.md | 6 +++--- text/0328-polyglot-assert.md | 4 ++-- text/0340-firehose-l2.md | 2 +- text/0431-sagemaker-l2-endpoint.md | 2 +- text/0436-gamelift-l2.md | 2 +- text/0456-elasticache-l2.md | 2 +- text/0474-event-bridge-scheduler-l2.md | 2 +- text/0477-policy-validation.md | 2 +- text/0499-appconfig-constructs.md | 2 +- text/0507-subnets.md | 2 +- text/0510-dynamodb-global-table.md | 2 +- text/204-golang-bindings.md | 8 ++++---- text/353-cfn-registry-constructs.md | 2 +- text/359-construct-hub-deny-list.md | 2 +- 26 files changed, 43 insertions(+), 43 deletions(-) diff --git a/text/00110-cli-framework-compatibility-strategy.md b/text/00110-cli-framework-compatibility-strategy.md index d3ba3d525..9ce7884f0 100644 --- a/text/00110-cli-framework-compatibility-strategy.md +++ b/text/00110-cli-framework-compatibility-strategy.md @@ -79,7 +79,7 @@ introducing breaking changes (cx-protocol version bump), are not very good: manifest upgrade. This is also something we need to **remember**. There are also some quirky implementation details, in -[`versioning.ts`](https://github.com/aws/aws-cdk/blob/master/packages/@aws-cdk/cx-api/lib/versioning.ts): +[`versioning.ts`](https://github.com/aws/aws-cdk/blob/main/packages/@aws-cdk/cx-api/lib/versioning.ts): ```typescript const toolkitVersion = parseSemver(CLOUD_ASSEMBLY_VERSION); @@ -107,7 +107,7 @@ if (semver.lt(frameworkVersion, toolkitVersion)) { This code (and comments) is contradictory to our current compatibility model, where we actually attempt to support two way compatibility. To facilitate this, we added the -[`upgradeAssemblyManifest`](https://github.com/aws/aws-cdk/blob/master/packages/@aws-cdk/cx-api/lib/versioning.ts#L60) +[`upgradeAssemblyManifest`](https://github.com/aws/aws-cdk/blob/main/packages/@aws-cdk/cx-api/lib/versioning.ts#L60) function. Thats not to say that what we currently have can't work. But the fact that we @@ -364,10 +364,10 @@ used to create it. To actually validate this behavior, we add a unit test for the `exec.ts` file. -### Step 3: Remove [`versioning.ts`](https://github.com/aws/aws-cdk/blob/master/packages/@aws-cdk/cx-api/lib/versioning.ts) +### Step 3: Remove [`versioning.ts`](https://github.com/aws/aws-cdk/blob/main/packages/@aws-cdk/cx-api/lib/versioning.ts) Given all the above steps, we don't need the functionality provided by -[`versioning.ts`](https://github.com/aws/aws-cdk/blob/master/packages/@aws-cdk/cx-api/lib/versioning.ts). +[`versioning.ts`](https://github.com/aws/aws-cdk/blob/main/packages/@aws-cdk/cx-api/lib/versioning.ts). Lets dive deep into why is that exactly. #### Schema Evolution @@ -386,7 +386,7 @@ This enables the CLI to essentially not be aware of any schema version expect for the last one. This is done in the -[`upgradeAssemblyManifest`](https://github.com/aws/aws-cdk/blob/master/packages/@aws-cdk/cx-api/lib/versioning.ts#L60) +[`upgradeAssemblyManifest`](https://github.com/aws/aws-cdk/blob/main/packages/@aws-cdk/cx-api/lib/versioning.ts#L60) function. We stipulate that this is no longer needed. The compatibility checks will make @@ -411,7 +411,7 @@ This brings us to the next item. #### Compatibility Validation This is done in the -[`verifyManifestVersion`](https://github.com/aws/aws-cdk/blob/master/packages/@aws-cdk/cx-api/lib/versioning.ts#L39) +[`verifyManifestVersion`](https://github.com/aws/aws-cdk/blob/main/packages/@aws-cdk/cx-api/lib/versioning.ts#L39) function, and contains two validations: 1. **Framework cannot be bigger than CLI.** @@ -517,7 +517,7 @@ This is a concrete example on how things can break when we introduce changes to the _cx-api_. 1. Rename `target` in - [`ContainerImageAssetMetadataEntry`](https://github.com/aws/aws-cdk/blob/master/packages/@aws-cdk/cx-api/lib/assets.ts#L74) + [`ContainerImageAssetMetadataEntry`](https://github.com/aws/aws-cdk/blob/main/packages/@aws-cdk/cx-api/lib/assets.ts#L74) to `buildTarget`. 2. Perform necessary changes in CLI and fix all relevant tests. diff --git a/text/0039-reduce-module-size.md b/text/0039-reduce-module-size.md index f5ea75384..8cc5ae70e 100644 --- a/text/0039-reduce-module-size.md +++ b/text/0039-reduce-module-size.md @@ -75,7 +75,7 @@ Repeat the same for `lambda-layer-kubectl`, and `lambda-layer-node-proxy-agent`. --- Ticking the box below indicates that the public API of this RFC has been -signed-off by the API bar raiser (the `api-approved` label was applied to the +signed-off by the API bar raiser (the `status/api-approved` label was applied to the RFC pull request): - [x] Signed-off by API Bar Raiser diff --git a/text/0049-continuous-delivery.md b/text/0049-continuous-delivery.md index bf9c0243e..2fc92aad6 100644 --- a/text/0049-continuous-delivery.md +++ b/text/0049-continuous-delivery.md @@ -118,7 +118,7 @@ bootstrap => source => build => synthesis => mutate => publish => deploy 3. **build + synthesis**: compiles the CDK app code into an executable program (user-defined) and invokes the compiled executable through `cdk synth` to produce a - [cloud assembly](https://github.com/aws/aws-cdk/blob/master/design/cloud-assembly.md) + [cloud assembly](https://github.com/aws/aws-cdk/blob/main/design/cloud-assembly.md) from the app. The cloud assembly includes a CloudFormation template for each stack and asset sources (docker images, s3 files, etc) that must be packaged and published to the asset store in each environment that consumes them. diff --git a/text/0052-resource-importing-support.md b/text/0052-resource-importing-support.md index 2048b2796..45378dbe5 100644 --- a/text/0052-resource-importing-support.md +++ b/text/0052-resource-importing-support.md @@ -119,7 +119,7 @@ error, propagates it back to the user. --- Ticking the box below indicates that the public API of this RFC has been -signed-off by the API bar raiser (the `api-approved` label was applied to the +signed-off by the API bar raiser (the `status/api-approved` label was applied to the RFC pull request): ``` diff --git a/text/0055-feature-flags.md b/text/0055-feature-flags.md index b1fb3c5ec..066e308ae 100644 --- a/text/0055-feature-flags.md +++ b/text/0055-feature-flags.md @@ -182,14 +182,14 @@ contribution guide and will involve the following steps: - If the feature is being tracked in a single issue without an RFC, approval should be indicated in this issue. 2. Define a new const under - [cx-api/lib/features.ts](https://github.com/aws/aws-cdk/blob/master/packages/%40aws-cdk/cx-api/lib/features.ts) + [cx-api/lib/features.ts](https://github.com/aws/aws-cdk/blob/main/packages/%40aws-cdk/cx-api/lib/features.ts) with the name of the context key that **enables** this new feature (for example, `ENABLE_STACK_NAME_DUPLICATES`). The context key should be in the form `module.Type:feature` (e.g. `@aws-cdk/core:enableStackNameDuplicates`). 3. Use `node.tryGetContext(cxapi.ENABLE_XXX)` to check if this feature is enabled in your code. If it is not defined, revert to the legacy behavior. 4. Add your feature flag to - [cx-api/lib/future.ts](https://github.com/aws/aws-cdk/blob/master/packages/%40aws-cdk/cx-api/lib/future.ts). + [cx-api/lib/future.ts](https://github.com/aws/aws-cdk/blob/main/packages/%40aws-cdk/cx-api/lib/future.ts). This map is inserted to generated `cdk.json` files for new projects created through `cdk init`. 5. In your PR title (which goes into CHANGELOG), add a `(behind feature flag)` diff --git a/text/0063-precreated-roles.md b/text/0063-precreated-roles.md index 87a89cd6c..1fb290352 100644 --- a/text/0063-precreated-roles.md +++ b/text/0063-precreated-roles.md @@ -109,7 +109,7 @@ single role has all the required permissions. --- Ticking the box below indicates that the public API of this RFC has been -signed-off by the API bar raiser (the `api-approved` label was applied to the +signed-off by the API bar raiser (the `status/api-approved` label was applied to the RFC pull request): ``` diff --git a/text/0079-cdk-2.0.md b/text/0079-cdk-2.0.md index 278646f25..c2abaeda7 100644 --- a/text/0079-cdk-2.0.md +++ b/text/0079-cdk-2.0.md @@ -253,8 +253,8 @@ There are some packages that both the CLI and the framework depend on: This means we cannot move these packages under `aws-cdk-lib`, as they need to consumable by the CLI. The simplest approach would be to keep publishing them as is, and have the framework and CLI continue to declare a dependency on them. -However, since [@aws-cdk/cx-api](https://github.com/aws/aws-cdk/blob/master/packages/@aws-cdk/core/lib/stage.ts#L186) -and [@aws-cdk/cloud-assembly-schema](https://github.com/aws/aws-cdk/blob/master/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/shared/base-load-balancer.ts#L99) +However, since [@aws-cdk/cx-api](https://github.com/aws/aws-cdk/blob/main/packages/@aws-cdk/core/lib/stage.ts#L186) +and [@aws-cdk/cloud-assembly-schema](https://github.com/aws/aws-cdk/blob/main/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/shared/base-load-balancer.ts#L99) are exposed in the public API of `aws-cdk-lib`, this would require `aws-cdk-lib` to take a `peerDependency` on them, which we cannot afford. The approach we take here is as follows: diff --git a/text/0095-cognito-construct-library/working-backwards-readme.md b/text/0095-cognito-construct-library/working-backwards-readme.md index bbe3373cb..64473e7c4 100644 --- a/text/0095-cognito-construct-library/working-backwards-readme.md +++ b/text/0095-cognito-construct-library/working-backwards-readme.md @@ -321,7 +321,7 @@ to read more about user pool workflows using lambda triggers, and details around each trigger. Check out the -[documentation](https://github.com/aws/aws-cdk/blob/master/packages/%40aws-cdk/aws-cognito/lib/user-pool.ts#L148) +[documentation](https://github.com/aws/aws-cdk/blob/main/packages/%40aws-cdk/aws-cognito/lib/user-pool.ts#L148) to find the list of triggers supported by the CDK. Code sample: diff --git a/text/0192-remove-constructs-compat.md b/text/0192-remove-constructs-compat.md index f7440c8cb..444d99edf 100644 --- a/text/0192-remove-constructs-compat.md +++ b/text/0192-remove-constructs-compat.md @@ -450,7 +450,7 @@ on the `constructs` library. See the RFC for [monolithic packaging] for more details. [monolithic packaging]: - https://github.com/aws/aws-cdk-rfcs/blob/master/text/0006-monolothic-packaging.md + https://github.com/aws/aws-cdk-rfcs/blob/main/text/0006-monolothic-packaging.md ## Design @@ -798,7 +798,7 @@ The prepare hook was used in the CDK in a few cases: The first two use cases have already been addressed by centralizing the "prepare" logic at the stage level (into -[prepare-app.ts](https://github.com/aws/aws-cdk/blob/master/packages/%40aws-cdk/core/lib/private/prepare-app.ts)). +[prepare-app.ts](https://github.com/aws/aws-cdk/blob/main/packages/%40aws-cdk/core/lib/private/prepare-app.ts)). #### What can we do on 1.x for 06-NO-PREPARE @@ -818,7 +818,7 @@ The reason this is not available at the base class is because the abstraction did not "hold water" as the AWS CDK evolved and new CDKs emerged. In the AWS CDK, we eventually ended up with a centralized synthesis logic at the `Stage`-level -([synthesis.ts](https://github.com/aws/aws-cdk/blob/master/packages/%40aws-cdk/core/lib/private/synthesis.ts)). +([synthesis.ts](https://github.com/aws/aws-cdk/blob/main/packages/%40aws-cdk/core/lib/private/synthesis.ts)). The main reason was that we needed to "break" the recursion in various domain-specific points (e.g. stages, nested stacks) which meant that the generic logic of "traverse the entire tree and call `synthesize`" did not hold. In @@ -1089,7 +1089,7 @@ for constructs 10.x. - [x] Change `addDependency` to accept `IDependable` instead of `IConstruct`. - [x] Return only local dependencies in `node.dependencies` - [ ] Migrate - [DependencyGraph](https://github.com/awslabs/cdk8s/blob/master/packages/cdk8s/src/dependency.ts) + [DependencyGraph](https://github.com/awslabs/cdk8s/blob/main/packages/cdk8s/src/dependency.ts) from cdk8s into `constructs`. - [04-STACK-ROOT](#04-stack-root) - N/A diff --git a/text/0249-v2-experiments.expired.md b/text/0249-v2-experiments.expired.md index 708894852..9fced0747 100644 --- a/text/0249-v2-experiments.expired.md +++ b/text/0249-v2-experiments.expired.md @@ -7,7 +7,7 @@ rfc pr: https://github.com/aws/aws-cdk-rfcs/pull/250 # Summary **⚠️ NOTE:** This RFC is expired and has been superceded by -. +. This document is retained for historical context. --- diff --git a/text/0249-v2-experiments.md b/text/0249-v2-experiments.md index 29ecd94a0..eb5e0c5f6 100644 --- a/text/0249-v2-experiments.md +++ b/text/0249-v2-experiments.md @@ -361,5 +361,5 @@ These are the goals of this RFC, in order from most to least important: ### Appendix B: Previous RFC This is the second version of this RFC. A previous version was reviewed and approved, and can be found here: -. +. The original version is more implementation- and trade-off focused, whereas this RFC focused on the working-backwards artifacts. diff --git a/text/0253-cdk-metadata-v2.md b/text/0253-cdk-metadata-v2.md index 678ebb542..3948aaa0d 100644 --- a/text/0253-cdk-metadata-v2.md +++ b/text/0253-cdk-metadata-v2.md @@ -138,7 +138,7 @@ constructs, authored and vended by AWS. We decided against an open system, instead preferring to have a specific allow-list of packages (or package prefixes) we are going to report on. For example, the current list looks like this and can be found -[here](https://github.com/aws/aws-cdk/blob/master/packages/@aws-cdk/core/lib/private/runtime-info.ts): +[here](https://github.com/aws/aws-cdk/blob/main/packages/@aws-cdk/core/lib/private/runtime-info.ts): ```ts const ALLOWLIST_SCOPES = ['@aws-cdk', '@aws-solutions-konstruk', '@aws-solutions-constructs', '@amzn']; diff --git a/text/0264-registry-schema-codegen.md b/text/0264-registry-schema-codegen.md index 589ad25ec..547be0ec4 100644 --- a/text/0264-registry-schema-codegen.md +++ b/text/0264-registry-schema-codegen.md @@ -202,11 +202,11 @@ it. For example, useful information we can get from cfn-lint: -* [OnlyOne](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/src/cfnlint/data/AdditionalSpecs/OnlyOne.json), +* [OnlyOne](https://github.com/aws-cloudformation/cfn-python-lint/blob/main/src/cfnlint/data/AdditionalSpecs/OnlyOne.json), mutually exclusive properties in a structure. -* [Inclusive](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/src/cfnlint/data/AdditionalSpecs/Inclusive.json), +* [Inclusive](https://github.com/aws-cloudformation/cfn-python-lint/blob/main/src/cfnlint/data/AdditionalSpecs/Inclusive.json), a set of property dependencies. -* [Exclusive](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/src/cfnlint/data/AdditionalSpecs/Exclusive.json), +* [Exclusive](https://github.com/aws-cloudformation/cfn-python-lint/blob/main/src/cfnlint/data/AdditionalSpecs/Exclusive.json), properties that preclude each other. Etc. diff --git a/text/0328-polyglot-assert.md b/text/0328-polyglot-assert.md index 5c7dea193..e3ae62cef 100644 --- a/text/0328-polyglot-assert.md +++ b/text/0328-polyglot-assert.md @@ -232,9 +232,9 @@ import { assertions } from 'aws-cdk-lib'; ``` Read more about `aws-cdk-lib` at - and about the + and about the CDK module lifecycle at -. +. ## Internal FAQ diff --git a/text/0340-firehose-l2.md b/text/0340-firehose-l2.md index d07ea69e5..ac0954c2a 100644 --- a/text/0340-firehose-l2.md +++ b/text/0340-firehose-l2.md @@ -655,7 +655,7 @@ For non-AWS service destinations, use `HttpDestination`. --- Ticking the box below indicates that the public API of this RFC has been -signed-off by the API bar raiser (the `api-approved` label was applied to the +signed-off by the API bar raiser (the `status/api-approved` label was applied to the RFC pull request): - [X] Signed-off by API Bar Raiser @rix0rrr diff --git a/text/0431-sagemaker-l2-endpoint.md b/text/0431-sagemaker-l2-endpoint.md index a429c0d99..bb0d6eff9 100644 --- a/text/0431-sagemaker-l2-endpoint.md +++ b/text/0431-sagemaker-l2-endpoint.md @@ -275,7 +275,7 @@ productionVariant.metricModelLatency().createAlarm(this, 'ModelLatencyAlarm', { --- Ticking the box below indicates that the public API of this RFC has been -signed-off by the API bar raiser (the `api-approved` label was applied to the +signed-off by the API bar raiser (the `status/api-approved` label was applied to the RFC pull request): ``` diff --git a/text/0436-gamelift-l2.md b/text/0436-gamelift-l2.md index 066ddbed7..b2bbca077 100644 --- a/text/0436-gamelift-l2.md +++ b/text/0436-gamelift-l2.md @@ -953,7 +953,7 @@ in the *Amazon GameLift FleetIQ Developer Guide*. --- Ticking the box below indicates that the public API of this RFC has been -signed-off by the API bar raiser (the `api-approved` label was applied to the +signed-off by the API bar raiser (the `status/api-approved` label was applied to the RFC pull request): ``` diff --git a/text/0456-elasticache-l2.md b/text/0456-elasticache-l2.md index 1faaef81c..e44779aba 100644 --- a/text/0456-elasticache-l2.md +++ b/text/0456-elasticache-l2.md @@ -187,7 +187,7 @@ See the documentation on `SecretValue` for more details. --- Ticking the box below indicates that the public API of this RFC has been -signed-off by the API bar raiser (the `api-approved` label was applied to the +signed-off by the API bar raiser (the `status/api-approved` label was applied to the RFC pull request): - [ ] Signed-off by API Bar Raiser @corymhall diff --git a/text/0474-event-bridge-scheduler-l2.md b/text/0474-event-bridge-scheduler-l2.md index b20a8a580..77c65df7d 100644 --- a/text/0474-event-bridge-scheduler-l2.md +++ b/text/0474-event-bridge-scheduler-l2.md @@ -409,7 +409,7 @@ in the *AWS Event Bridge Scheduler User Guide*. --- Ticking the box below indicates that the public API of this RFC has been -signed-off by the API bar raiser (the `api-approved` label was applied to the +signed-off by the API bar raiser (the `status/api-approved` label was applied to the RFC pull request): ``` diff --git a/text/0477-policy-validation.md b/text/0477-policy-validation.md index e4cc7e26c..36f6d1e57 100644 --- a/text/0477-policy-validation.md +++ b/text/0477-policy-validation.md @@ -413,7 +413,7 @@ export class CfnGuardValidator implements IPolicyValidationPlugin { ``` Ticking the box below indicates that the public API of this RFC has been -signed-off by the API bar raiser (the `api-approved` label was applied to the +signed-off by the API bar raiser (the `status/api-approved` label was applied to the RFC pull request): ```text diff --git a/text/0499-appconfig-constructs.md b/text/0499-appconfig-constructs.md index 2c9519f64..6ae210863 100644 --- a/text/0499-appconfig-constructs.md +++ b/text/0499-appconfig-constructs.md @@ -299,7 +299,7 @@ such as `onDeploymentComplete(EventDestination)`. --- Ticking the box below indicates that the public API of this RFC has been -signed-off by the API bar raiser (the `api-approved` label was applied to the +signed-off by the API bar raiser (the `status/api-approved` label was applied to the RFC pull request): ``` diff --git a/text/0507-subnets.md b/text/0507-subnets.md index 158ec6dc3..f9958edd7 100644 --- a/text/0507-subnets.md +++ b/text/0507-subnets.md @@ -322,7 +322,7 @@ const lb = new elbv2.ApplicationLoadBalancer(this, 'LB', { --- Ticking the box below indicates that the public API of this RFC has been -signed-off by the API bar raiser (the `api-approved` label was applied to the +signed-off by the API bar raiser (the `status/api-approved` label was applied to the RFC pull request): ``` diff --git a/text/0510-dynamodb-global-table.md b/text/0510-dynamodb-global-table.md index dd2a645b7..f0d78ce57 100644 --- a/text/0510-dynamodb-global-table.md +++ b/text/0510-dynamodb-global-table.md @@ -467,7 +467,7 @@ GlobalTable.fromTableName(stack, 'FooTableId', 'FooTable'); --- Ticking the box below indicates that the public API of this RFC has been -signed-off by the API bar raiser (the `api-approved` label was applied to the +signed-off by the API bar raiser (the `status/api-approved` label was applied to the RFC pull request): ``` diff --git a/text/204-golang-bindings.md b/text/204-golang-bindings.md index a528ce163..53c328ceb 100644 --- a/text/204-golang-bindings.md +++ b/text/204-golang-bindings.md @@ -78,7 +78,7 @@ const ( ) ``` -*_NOTE_*: This would be consistent with how the [aws-sdk-go](https://github.com/aws/aws-sdk-go/blob/master/service/ecs/api.go#L20410-L20416) handles +*_NOTE_*: This would be consistent with how the [aws-sdk-go](https://github.com/aws/aws-sdk-go/blob/main/service/ecs/api.go#L20410-L20416) handles enums. ### Possible Extensions @@ -189,7 +189,7 @@ type iSecurityGroup struct { ### JSII Datatype Interfaces (Structs) -In jsii, the InterfaceType has a [datatype field](https://github.com/aws/jsii/blob/master/packages/%40jsii/spec/lib/assembly.ts#L879-L888) attribute +In jsii, the InterfaceType has a [datatype field](https://github.com/aws/jsii/blob/main/packages/%40jsii/spec/lib/assembly.ts#L879-L888) attribute that indicates that the interface only contains readonly properties. While this does corresponds directly to a Go struct, we would likely need to generate both a Go interface that contains getter methods that correspond to each property as well as a Go struct that implements that interface. This is in order to support subtyping, as the interface is typically what is passed as an argument into other functions, as well as to ensure forward @@ -204,7 +204,7 @@ property that would be implemented by the corresponding struct (jsii datatype pr generated). Since Go does not allow a struct to have exported members with the same name as an interface method, we would have to prefix the interface methods; the recommendation here is to use a `Get` prefix. -[Example](https://github.com/aws/aws-cdk/blob/master/packages/%40aws-cdk/aws-ecs/lib/container-definition.ts#L596): +[Example](https://github.com/aws/aws-cdk/blob/main/packages/%40aws-cdk/aws-ecs/lib/container-definition.ts#L596): ```ts export interface HealthCheck { @@ -746,7 +746,7 @@ Go, which is not an object-oriented language. While custom structs, which can be methods", can be used to encapsulate object-like behavior in Go, subtyping on these custom structs is not possible. In order to simulate subtyping, we would need to generate an interface in addition to a concrete struct for each jsii class. -The jsii [ClassType](https://github.com/aws/jsii/blob/master/packages/%40jsii/spec/lib/assembly.ts#L803) provides information on whether a +The jsii [ClassType](https://github.com/aws/jsii/blob/main/packages/%40jsii/spec/lib/assembly.ts#L803) provides information on whether a class is abstract, whether it extends another class, and whether it implements other interfaces. We will discuss each case in turn. ### Case 1: Simple class diff --git a/text/353-cfn-registry-constructs.md b/text/353-cfn-registry-constructs.md index 03b714c23..b8c585f25 100644 --- a/text/353-cfn-registry-constructs.md +++ b/text/353-cfn-registry-constructs.md @@ -37,7 +37,7 @@ in the public registry. --- Ticking the box below indicates that the public API of this RFC has been -signed-off by the API bar raiser (the `api-approved` label was applied to the +signed-off by the API bar raiser (the `status/api-approved` label was applied to the RFC pull request): ``` diff --git a/text/359-construct-hub-deny-list.md b/text/359-construct-hub-deny-list.md index 36f2bee46..4305ee17a 100644 --- a/text/359-construct-hub-deny-list.md +++ b/text/359-construct-hub-deny-list.md @@ -30,7 +30,7 @@ if we run into a denied package. --- Ticking the box below indicates that the public API of this RFC has been -signed-off by the API bar raiser (the `api-approved` label was applied to the +signed-off by the API bar raiser (the `status/api-approved` label was applied to the RFC pull request): ``` From ddf83a3bc3bdd64e040500fcd70560368ce9947e Mon Sep 17 00:00:00 2001 From: Momo Kornher Date: Fri, 13 Oct 2023 19:55:11 +0100 Subject: [PATCH 4/7] add status/stale and align api-approved with rest --- .github/ISSUE_TEMPLATE/tracking-issue.md | 2 +- 0000-template.md | 2 +- README.md | 12 +++++++----- tools/rfc-render/render-rfc-table.js | 10 ++++++---- 4 files changed, 15 insertions(+), 11 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/tracking-issue.md b/.github/ISSUE_TEMPLATE/tracking-issue.md index be2b2ffa0..5428e5618 100644 --- a/.github/ISSUE_TEMPLATE/tracking-issue.md +++ b/.github/ISSUE_TEMPLATE/tracking-issue.md @@ -27,7 +27,7 @@ Short description of the proposed feature. - [ ] Kick off meeting - [ ] RFC pull request submitted (label: `status/review`) - [ ] Community reach out (via Slack and/or Twitter) -- [ ] API signed-off (label `api-approved` applied to pull request) +- [ ] API signed-off (label `status/api-approved` applied to pull request) - [ ] Final comments period (label: `status/final-comments-period`) - [ ] Approved and merged (label: `status/approved`) - [ ] Execution plan submitted (label: `status/planning`) diff --git a/0000-template.md b/0000-template.md index e8beeefa8..f1456b6a9 100644 --- a/0000-template.md +++ b/0000-template.md @@ -38,7 +38,7 @@ --- Ticking the box below indicates that the public API of this RFC has been -signed-off by the API bar raiser (the `api-approved` label was applied to the +signed-off by the API bar raiser (the `status/api-approved` label was applied to the RFC pull request): ``` diff --git a/README.md b/README.md index c4dec3e50..b2cdcd860 100644 --- a/README.md +++ b/README.md @@ -360,7 +360,7 @@ Before you can merge your RFC, you will need the API Bar Raiser to sign-off on the public API of your feature. This is will normally be described under the **Working Backwards** section of your RFC. -To sign-off, the API bar raiser will add the **api-approved** label to the RFC +To sign-off, the API bar raiser will add the **status/api-approved** label to the RFC pull request. Once the API was signed-off, update your RFC document and add a `[x]` the @@ -419,7 +419,7 @@ digraph states { review [label = "In Review"]; fcp [label = "Final Comment Period"]; approved [label = "Approved"]; - plannning [label = "Planning"]; + planning [label = "Planning"]; implementing [label = "Implementing"]; done [label = "Done"]; rejected [label = "Rejected"]; @@ -432,8 +432,8 @@ digraph states { fcp -> review [label = "revision requested"]; fcp -> approved [label = "pull request approved and merged"]; fcp -> rejected [label = "rfc rejected"]; - approved -> plannning [label = "pull request with implementation plan created"]; - plannning -> implementing [label = "rfc with implementation plan approved and merged"]; + approved -> planning [label = "pull request with implementation plan created"]; + planning -> implementing [label = "rfc with implementation plan approved and merged"]; implementing -> done [label = "implementation completed"]; } --> @@ -449,12 +449,14 @@ digraph states { 4. **Approved** - The RFC PR is approved and merged to `master`, and the RFC is now ready to be implemented. 5. **Planning** - A PR is created with the **Implementation Plan** section of the RFC. -6. **Implementing** - Implemetation plan is approved and merged and the RFC is actively +6. **Implementing** - Implementation plan is approved and merged and the RFC is actively being implemented. 7. **Done** - Implementation is complete and merged across appropriate repositories. 8. **Rejected** - During the review period, the RFC may be rejected and then it will be marked as such. +9. **Stale** - The RFC did not get any significant enough progress or tracking and has become stale. + We welcome a re-submission with substantial enough changes to overcome the original issues. --- diff --git a/tools/rfc-render/render-rfc-table.js b/tools/rfc-render/render-rfc-table.js index 679edc720..80a6b6b9b 100644 --- a/tools/rfc-render/render-rfc-table.js +++ b/tools/rfc-render/render-rfc-table.js @@ -10,13 +10,15 @@ const UNKNOWN_STATUS = 'status/unknown'; // "done" items are last because they are less interesting in this list. const display = { + 'status/done': '✅ done', 'status/implementing': '👷 implementing', 'status/planning': '📆 planning', 'status/approved': '👍 approved', 'status/final-comment-period': '⏰ final comments', + 'status/api-approved': '📐 API approved', 'status/review': '✍️ review', 'status/proposed': '💡 proposed', - 'status/done': '✅ done', + 'status/stale': '🤷‍♂️ stale', 'status/rejected': '👎 rejected', [UNKNOWN_STATUS]: '❓unknown', } @@ -34,7 +36,7 @@ async function render() { auth: process.env.GITHUB_TOKEN }); - const issueByStatus = { }; + const issueByStatus = {}; for (const status of labels) { issueByStatus[status] = []; @@ -73,7 +75,7 @@ async function render() { // we we already have a doc, then the link should go to it if (doc) { - link = `https://github.com/aws/aws-cdk-rfcs/blob/master/text/${doc}`; + link = `https://github.com/aws/aws-cdk-rfcs/blob/main/text/${doc}`; } else if (pr_number) { link = `https://github.com/aws/aws-cdk-rfcs/pull/${pr_number}`; } else { @@ -144,7 +146,7 @@ function findMetadata(issue) { return { champion: '' }; } - let [ , pr, champion ] = lines[titleIndex + 2].split('|'); + let [, pr, champion] = lines[titleIndex + 2].split('|'); champion = champion ? champion.trim() : ''; const pr_number = (pr.startsWith('#') ? pr.substring(1) : '').trim(); From 7625cdac64769c7440a6a8f5f4a680ee6d549d1b Mon Sep 17 00:00:00 2001 From: Momo Kornher Date: Fri, 13 Oct 2023 19:58:42 +0100 Subject: [PATCH 5/7] fixup --- .mergify.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.mergify.yml b/.mergify.yml index 76d8ef5a3..da4e629c4 100644 --- a/.mergify.yml +++ b/.mergify.yml @@ -42,4 +42,4 @@ pull_request_rules: - author!=github-actions[bot] - base=main - -merged - - -closed \ No newline at end of file + - -closed From 2519d4b2eb6d7fe9004222c7e1a4129291358e7d Mon Sep 17 00:00:00 2001 From: Momo Kornher Date: Fri, 13 Oct 2023 20:01:37 +0100 Subject: [PATCH 6/7] fixup mergify --- .mergify.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.mergify.yml b/.mergify.yml index da4e629c4..7b5618781 100644 --- a/.mergify.yml +++ b/.mergify.yml @@ -36,6 +36,7 @@ pull_request_rules: - "#commented-reviews-by=0" - name: remove stale reviews actions: + dismiss_reviews: approved: true changes_requested: true conditions: From 192d223f8a05ac6e960e96845437f00f2b3592bd Mon Sep 17 00:00:00 2001 From: Momo Kornher Date: Fri, 13 Oct 2023 20:02:01 +0100 Subject: [PATCH 7/7] fixup mergify --- .mergify.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.mergify.yml b/.mergify.yml index 7b5618781..d5d231b1f 100644 --- a/.mergify.yml +++ b/.mergify.yml @@ -38,7 +38,6 @@ pull_request_rules: actions: dismiss_reviews: approved: true - changes_requested: true conditions: - author!=github-actions[bot] - base=main