Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(release): 1.52.0 #9148

Merged
merged 87 commits into from
Jul 18, 2020
Merged

chore(release): 1.52.0 #9148

merged 87 commits into from
Jul 18, 2020

Conversation

aws-cdk-automation
Copy link
Collaborator

@aws-cdk-automation aws-cdk-automation commented Jul 18, 2020

See CHANGELOG

rix0rrr and others added 30 commits July 9, 2020 10:44
The way jest configs are currently inheriting from a parent
jest config makes it hard to do an out-of-source build, which we
want for future build improvements.

They used to go `require('../../../tools/cdk-build-tools/...')`,
relying on an exact layout in the source tree.

Given that `cdk-build-tools` is just a dependency of every
package, doing `require('cdk-build-tools/...')` works just as well
and only relies on the standard NPM contract (`node_modules` having
correct symlinks) and not source tree layout.


----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Introduce a `canonicalizeTemplate` function in `@aws-cdk/assert` which
translates templates to a common form w.r.t. asset hashes.

Use this in some tests and in `cdk-integ-assert` to make the tests
succeed if all that is different is the specific asset hash. It is switched on
by putting `/// !cdk-integ pragma:ignore-assets` at the top of the integ test file.

Currently only supports legacy assets, should be updated for new-style
assets when we switch to those.

This change is necessary to unblock other build improvements/changes
such as #8946.


----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
**[ISSUE]**
Integration Test failed to deploy because `Mutation` with `savePayment`. Internal `MappingTemplate` was unable to match `mutation` to schema.

**[APPROACH]**
Add an `input` for `payment` and adjust `mutation`.

**[NOTES]**
I will add an issue to clean up all of the integration tests. 

Fixes #8960 

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
#8850)

The TypeScript and C# init templates use commands that compile the code before running it to prevent the user from forgetting. This adds the same functionality to the Java init template.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
chore: add guidance label to general question issue template

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Change the types of the engine from `DatabaseClusterEngine` and its subclass, `DatabaseInstanceEngine`, to 2 separate interfaces, `IClusterEngine` and `IInstanceEngine`. Add properties to each of them, including engineVersion, and thus stop taking `engineVersion` separately as a property for instances, clusters and `OptionGroup`s. Allow creating engines with the version given as an arbitrary string.

Add a `bind()`-like protocol to both `IClusterEngine` and `IInstanceEngine`, which allows expressing validation and default values logic directly in the engines, instead of hard-coding them in cluster and instance.

Because of those changes, creating a default cluster with Aurora MySQL or Postgres engines now works out of the box, instead of failing at deploy time. We also correctly set the port for Postgres clusters to 5432, instead of leaving it as the default 3306 (which is the MySQL port).

Fixes #2213
Fixes #2512
Fixes #4150
Fixes #5126
Fixes #7072

BREAKING CHANGE: the class `DatabaseClusterEngine` has been replaced with the interface `IClusterEngine` in the type of `DatabaseClusterProps.engine`
* **rds**: the class `DatabaseInstanceEngine` has been replaced with the interface `IInstanceEngine` in the type of `DatabaseInstanceSourceProps.engine`
* **rds**: `DatabaseClusterProps.engineVersion` has been removed; instead, create an `IClusterEngine` with a specific version using the static factory methods in `DatabaseClusterEngine`
* **rds**: `DatabaseInstanceSourceProps.engineVersion` has been removed; instead, create an `IInstanceEngine` with a specific version using the static factory methods in `DatabaseInstanceEngine`
* **rds**: the property `majorEngineVersion` can no longer be passed when creating an `OptionGroup`; instead, create an `IInstanceEngine` with a specific version using the static factory methods in `DatabaseInstanceEngine`

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Show Docker output during asset bundling.

Closes #8956


----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Makes sure the latest version of the `jsii` kernel is inserted in
runtime dependencies.

Fixes #8233


----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
CodeBuild support configuring `reports` in a build project, which allows viewing the reports generated by functional or integration tests. Instead of digging through the logs to find which test failed you can look at the report produced:
<img width="1029" alt="Screen Shot 2020-07-09 at 6 10 09 PM" src="https://user-images.githubusercontent.com/8578043/87105351-8e8b1900-c20f-11ea-92d0-ea6fd0f7cd73.png">
> See it in action in this [test pipeline](https://console.aws.amazon.com/codesuite/codepipeline/pipelines/cdk-codebuild-test-report-test/view?region=us-east-1) which tracks this very branch!

CodeBuild reports supports `jest` via the `junit-jest` plugin (codebuild [docs](https://docs.aws.amazon.com/codebuild/latest/userguide/test-report-jest.html) for jest support). To enable this in our build and integ tests this PR adds:

* `jest-junit` dependency to `cdk-build-tools` and `cdk-integ-tools` (Apache-2.0 License)
* `reporters` configurations to `jest.config.js ` file to `cdk-build-tools` and `cdk-integ-tools`
*  `reports` configuration to our `buildspec.yaml`
*  adds the generated `junit.xml` files to `.npmignore` and `.gitignore` 

Merging this PR will configure the reports in our build stage, and allows configuring reports in our integ tests, a separate PR to our ops repo is required to add the reports to our integ tests (coming!)


----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
…cate (#8552)

Automatically adding Amazon Route 53 CNAME records for DNS validation is
now natively supported by CloudFormation.

Add a `validation` prop to `Certificate` to handle both email and DNS
validation. `DnsValidatedCertificate` is now only useful for cross-region
certificate creation.

The default remains email validation (non-breaking).

Closes #5831
Closes #5835
Closes #6081
Closes #6516
Closes #7150
Closes #7941
Closes #7995
Closes #7996
Closes #8282 
Closes #8659
Closes #8783

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
When refactoring `cdk-integ-assert` to do a `cdkSynthFast`, we
accidentally started leaving `cdk.out` directories behind because
the cleanup function had a misleading name.

Start cleaning those up again.


----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
There are useful matchers like `stringLike` and `encodedJson` which
are useful in many many places. Push them to a central location.

Also in this commit: turns out that the tests in the
`@aws-cdk/pipelines` package weren't actually being run, because
we didn't have:

```
"cdk-build": {
  "jest": true
}
```

set in `package.json`... o_O. Correct that oversight as well,
now actually run the tests.


----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Bumps [aws-sdk](https://github.com/aws/aws-sdk-js) from 2.712.0 to 2.713.0.
- [Release notes](https://github.com/aws/aws-sdk-js/releases)
- [Changelog](https://github.com/aws/aws-sdk-js/blob/master/CHANGELOG.md)
- [Commits](aws/aws-sdk-js@v2.712.0...v2.713.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
On every build, we are basically compiling our code 3 times: once with
jsii, once with eslint and once with tslint. 

Between these, TSLint is deprecated, so why are we even doing this
anymore? Reduce build times by removing TSLint and migrating all the
rules we were getting from it to ESLint.

Also, with the current setup you need 2 plugins installed into your
IDE to get all linting errors reported as-you-type. Reduce to one
plugin.

This change makes `lerna run lint` run successfully, which was also not the case.

This change shaves 5 minutes (25%) off of the PR build (21 minutes down to 16 minutes).

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
They occassionally still fail, needs more retries.


----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
`"jest-junit"` is a new dependency for all packages, used as a Jest reporter
in the default Jest config located in `cdk-build-tools`.

`jest-junit` was added as a dependency to `cdk-build-tools`, but when
resolving reporters Jest starts resolving from the *package under test*.

That means that `jest-junit` should be a `devDependency` for every
individual package; or more easily: add the dependency to the root of
the repository so that it is automatically in scope for every package
inside it.

It used to accidentally work before this change, because the dependency
hoisting performed by Yarn moved the dependency up to the root of the
tree where it would be found by the jest run.


----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Bumps [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) from 26.0.3 to 26.0.4.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jest)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 10.17.26 to 10.17.27.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Migrates unit tests in `@aws-cdk/aws-glue` to Jest, from Nodeunit.
Would help me to start some development of additional L2 constructs for glue.

:warning:  Two tests fail, although I don't know why. To me it seems they also should have failed previously.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
chore: switch owners in auto label action workflow

Replace Adam with Nick as the owner of 3 modules.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Bumps [archiver](https://github.com/archiverjs/node-archiver) from 4.0.1 to 4.0.2.
- [Release notes](https://github.com/archiverjs/node-archiver/releases)
- [Changelog](https://github.com/archiverjs/node-archiver/blob/master/CHANGELOG.md)
- [Commits](archiverjs/node-archiver@4.0.1...4.0.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
…#9002)

This is in line with the best practice for stacks in production, so as
to prevent accidental termination.

This can be turned off using a flag on the CLI.

Besides unit tests here, this has been verified by manual testing.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
The ELBv2 module needs to know the ELBv2 team's accounts in order to
enable access logging. This used to be a non-modifiable table buried in
the library.

Move that information into the `region-info` module, so users are
free to add facts if they deploy to a new, unknown region.


----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Bumps [standard-version](https://github.com/conventional-changelog/standard-version) from 8.0.0 to 8.0.1.
- [Release notes](https://github.com/conventional-changelog/standard-version/releases)
- [Changelog](https://github.com/conventional-changelog/standard-version/blob/master/CHANGELOG.md)
- [Commits](conventional-changelog/standard-version@v8.0.0...v8.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
#8999)

Fixes #8472

BREAKING CHANGE: The default location of glue data will be the root of an s3 bucket, instead of `/data`

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
…8916)

This PR changes `AssetStaging` so that the bundler will re-use pre-existing output. Before, the bundler would re-run Docker without considering pre-existing assets, which was slow. Now, when handling a `SOURCE` hash type, the bundler detects and returns pre-existing asset output without re-running Docker. For all other hash types, the bundler outputs to a temp directory before calculating asset hashes.

Closes #8882 

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
…9036)

The commit 0ec7912
introduced stacks that are protected from termination by default.

Stacks in our integration tests are all ephemeral by design.
Clean up of stacks now includes removal of termination protection.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
skinny85 and others added 18 commits July 16, 2020 18:31
The classes ParameterGroup and ClusterParameterGroup were basically identical;
they only differed in the L1 that was created in their scope.
Unify the classes by adding a bind()-like protocol between ParameterGroup and cluster/instance,
which allows us to only have a single class instead of 2.

Fixes #8932

BREAKING CHANGE: the class ClusterParameterGroup has been removed -
  use ParameterGroup instead

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
This fixes an erroneous validation failure of the `availabilityZone` property of the `Volume` construct that occurs during the first run of a fresh application.

Fixes: #9081
----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Gitpod doesn't have a running Docker demon currently,
so the check fails for it.
However, it uses jsii/superchain,
so it's guaranteed to have all of the other required tools.
So, just skip the check for it completely.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Change engine versions, for boh cluster and instance engines,
from strings to strongly-typed classes with static constants representing common versions.

Fixes #6532

BREAKING CHANGE: the property 'version' has been changed from string to an engine-specific
  version class; use VersionClass.of() if you need to create a specific version of an engine from a string
* **rds**: the property ParameterGroupProps.family has been renamed to engine, and its type changed from string to IEngine
* **rds**: the property engineVersion in IClusterEngine changed from a string to EngineVersion
* **rds**: the property engineVersion in IInstanceEngine changed from a string to EngineVersion
* **rds**: the property parameterGroupFamily in IClusterEngine changed from required to optional
* **rds**: the property parameterGroupFamily in IInstanceEngine changed from required to optional
Fixes #8978

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Bumps [@types/glob](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/glob) from 7.1.2 to 7.1.3.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/glob)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Bumps [aws-sdk](https://github.com/aws/aws-sdk-js) from 2.714.0 to 2.714.2.
- [Release notes](https://github.com/aws/aws-sdk-js/releases)
- [Changelog](https://github.com/aws/aws-sdk-js/blob/master/CHANGELOG.md)
- [Commits](aws/aws-sdk-js@v2.714.0...v2.714.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
This fixes a typo introduced in #9024

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
If `allowAllOutbound` is set to true, any call to `addEgressRule` will be ignored, this PR adds a warning. 

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Bumps [ts-jest](https://github.com/kulshekhar/ts-jest) from 26.1.2 to 26.1.3.
- [Release notes](https://github.com/kulshekhar/ts-jest/releases)
- [Changelog](https://github.com/kulshekhar/ts-jest/blob/master/CHANGELOG.md)
- [Commits](kulshekhar/ts-jest@v26.1.2...v26.1.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Supersedes #8779

The CLI determined that a stack in `UPDATE_ROLLBACK_COMPLETE`
status is not updateable. related [comment](#8779 (comment))

This change modifies this logic by splitting up `waitForStack` into `waitForStackDelete`
and `waitForStackDeploy` which evaluate stack status after it reaches a stable state
depending on the operation that was performed.



Closes #8126 #5151

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
…e input (Json path) (#9088)

It is now possible to map a boolean value from state input using a Json path.

function booleanFromJsonPath added to DynamoAttributeValue which accepts
a Json path

Closes #9007

Co-authored-by: Michael Wiles <michaelwiles@lumkani.com>
Co-authored-by: Shiv Lakshminarayan <shivlaks@amazon.com>
Bumps [aws-sdk](https://github.com/aws/aws-sdk-js) from 2.714.2 to 2.715.0.
- [Release notes](https://github.com/aws/aws-sdk-js/releases)
- [Changelog](https://github.com/aws/aws-sdk-js/blob/master/CHANGELOG.md)
- [Commits](aws/aws-sdk-js@v2.714.2...v2.715.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
… is not configured (#9057)

fixes #9054 

The AppSync GraphQL API uses API_KEY Auth by default. For this it creates an API key. This is fine as long as API_KEY auth is configured for the API. But this behaviour is erroneous when API_KEY Auth is neither the default nor an addition authentication method. 

This PR addresses this issue and ensures that an API key is only created when API_KEY auth is really configured.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
The current Conditions handling in cloudformation-include has a few flaws,
that are all corrected in this change:

- Do not fail when a Condition and a Resource share the same logical ID
- Handle changing the logical IDs of Conditions used in Fn::If expressions
- Handle changing the logical IDs of Conditions referenced inside the Conditions section
- Do not fail when referring to a Parameter from inside a Condition

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
)

this feature enables developers using the cdk
to create stepfunction invoke action in their stacks.

verified the changes using unit tests.

Reviewed by: sainsbm


----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
@aws-cdk-automation aws-cdk-automation added the pr/no-squash This PR should be merged instead of squash-merging it label Jul 18, 2020
@aws-cdk-automation
Copy link
Collaborator Author

AWS CodeBuild CI Report

  • CodeBuild project: AutoBuildProject6AEA49D1-qxepHUsryhcu
  • Commit ID: f6b090e
  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@mergify
Copy link
Contributor

mergify bot commented Jul 18, 2020

Thank you for contributing! Your pull request will be updated from master and then merged automatically without squashing (do not update manually, and be sure to allow changes to be pushed to your fork).

@mergify mergify bot merged commit 5263664 into release Jul 18, 2020
@mergify mergify bot deleted the bump/1.52.0 branch July 18, 2020 01:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pr/no-squash This PR should be merged instead of squash-merging it
Projects
None yet
Development

Successfully merging this pull request may close these issues.