Skip to content

Conversation

@iliapolo
Copy link
Contributor

@iliapolo iliapolo commented Mar 29, 2020

This PR adds regression testing capabilities to our CLI integration tests.

  • yarn integ-cli-backwards fetches the latest published version from github and runs its integration tests against the newest code of the CLI and the framework.

  • yarn integ-cli-framework fetches the latest published version from github and runs its integration tests against the newest CLI code and latest published framework.

More details here: https://github.com/aws/aws-cdk-rfcs/blob/epolon/compatibility-strategy/text/00110-cli-framework-compatibility-strategy.md#breaking-changes-in-cli

Implementation Notes

We don't currently have support for installing framework packages from NPM when running CLI integ tests.

Locally, we use run-against-repo, which uses a local npm wrapper that always symlinks to the repo code.

In CI, we use run-against-dist, which starts up a verdaccio instance that hosts our locally packed packages.

To support installing the latest published versions, I introduced the USE_PUBLISHED_FRAMEWORK_VERSION env variable. Locally, this causes the npm wrapper to simply pass through the command to npm.

In CI, its a bit more complicated. We can't simply pass through to npm because the CLI and all its dependencies still needs to be installed from the local dist packages. I added some hacky code that basically publishes only the necessary packages (CLI and its deps) to verdaccio, leaving everything else to be served by the npmjs uplink.

Commit Message

added two new cli integ tests:

  • Previous tests against new CLI and new Framework
  • Previous tests against new CLI and old Framework

End Commit Message


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

@iliapolo iliapolo added the pr/do-not-merge This PR should not be merged at this time. label Mar 29, 2020
@mergify mergify bot added the contribution/core This is a PR that came from AWS. label Mar 29, 2020
@mergify
Copy link
Contributor

mergify bot commented Mar 29, 2020

Title does not follow the guidelines of Conventional Commits. Please adjust title before merge.

1 similar comment
@mergify
Copy link
Contributor

mergify bot commented Mar 29, 2020

Title does not follow the guidelines of Conventional Commits. Please adjust title before merge.

@aws-cdk-automation
Copy link
Collaborator

AWS CodeBuild CI Report

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

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

@aws-cdk-automation
Copy link
Collaborator

AWS CodeBuild CI Report

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

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

@aws-cdk-automation
Copy link
Collaborator

AWS CodeBuild CI Report

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

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

@aws-cdk-automation
Copy link
Collaborator

AWS CodeBuild CI Report

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

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

@aws-cdk-automation
Copy link
Collaborator

AWS CodeBuild CI Report

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

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

@aws-cdk-automation
Copy link
Collaborator

AWS CodeBuild CI Report

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

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

@aws-cdk-automation
Copy link
Collaborator

AWS CodeBuild CI Report

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

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

@iliapolo iliapolo requested a review from a team April 2, 2020 12:17
Copy link
Contributor

@eladb eladb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The names of the two new tests needs to be changed. I couldn't wrap my head around what each one of these tests is actually doing, even after reading all the code it. I don't mind if these names are 200 characters long but it should be clear what their purpose is.

PR title/description:

  • Please add some details in the commit message about why each type of new test is needed.
  • Why is the title feat? I don't think we need to advertise this in the CHANGELOG. Do you?

@iliapolo
Copy link
Contributor Author

iliapolo commented Apr 2, 2020

@eladb

Please add some details in the commit message about why each type of new test is needed

Thats why I added a link to the RFC, is that not sufficient?

https://github.com/aws/aws-cdk-rfcs/blob/epolon/compatibility-strategy/text/00110-cli-framework-compatibility-strategy.md#breaking-changes-in-cli

Why is the title feat? I don't think we need to advertise this in the CHANGELOG. Do you?

Debatable, might be useful for contributors to know about this. But I can go either way here.

@aws-cdk-automation
Copy link
Collaborator

AWS CodeBuild CI Report

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

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

@aws-cdk-automation
Copy link
Collaborator

AWS CodeBuild CI Report

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

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

@aws-cdk-automation
Copy link
Collaborator

AWS CodeBuild CI Report

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

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

@aws-cdk-automation
Copy link
Collaborator

AWS CodeBuild CI Report

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

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

@aws-cdk-automation
Copy link
Collaborator

AWS CodeBuild CI Report

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

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

@aws-cdk-automation
Copy link
Collaborator

AWS CodeBuild CI Report

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

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

@aws-cdk-automation
Copy link
Collaborator

AWS CodeBuild CI Report

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

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

@aws-cdk-automation
Copy link
Collaborator

AWS CodeBuild CI Report

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

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

@iliapolo iliapolo added pr-linter/exempt-readme The PR linter will not require README changes and removed pr/do-not-merge This PR should not be merged at this time. labels Apr 2, 2020
@aws-cdk-automation
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: AutoBuildProject6AEA49D1-qxepHUsryhcu
  • Commit ID: b0facdc
  • 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 Apr 2, 2020

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

@mergify mergify bot merged commit f18f3f1 into master Apr 2, 2020
@mergify mergify bot deleted the epolon/cli-regression-tests branch April 2, 2020 22:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

contribution/core This is a PR that came from AWS. pr-linter/exempt-readme The PR linter will not require README changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants