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

Implement mechanism to throttle first create amplify call #637

Open
sobolk opened this issue Nov 13, 2023 · 0 comments
Open

Implement mechanism to throttle first create amplify call #637

sobolk opened this issue Nov 13, 2023 · 0 comments
Labels
tech-debt Refactors, unsavory workarounds or other technical decisions that should be revisited later testing Engineering label for issues related to tests or test tooling

Comments

@sobolk
Copy link
Member

sobolk commented Nov 13, 2023

From #635 .

NPM runs into race condition on first attempt to use create amplify when NPX cache is not populated.

We should preserve ability for canary test to run scenarios that match customer behavior 1:1.
The PR, introduced a workaround to execute --help to hydrate npx cache.

The following alternatives should be considered in the long term:

  1. Create a programatic component that throttles first call (not all of them) to npm create amplify.
    1. How does this run with multiple test files when each file runs as separate node process?
  2. Farm out each test on separate worker ("generate test matrix" functionality)".

The alternative of just running test sequentially has been rejected as this makes runtime grow linearly with tests volume and doesn't scale.

@sobolk sobolk added tech-debt Refactors, unsavory workarounds or other technical decisions that should be revisited later testing Engineering label for issues related to tests or test tooling labels Nov 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
tech-debt Refactors, unsavory workarounds or other technical decisions that should be revisited later testing Engineering label for issues related to tests or test tooling
Projects
None yet
Development

No branches or pull requests

1 participant