Skip to content

fix(e2e): improve e2e reliability for Gen1 branch#3435

Open
sarayev wants to merge 12 commits intorelease-api-plugin-stablefrom
fix/gen1-e2e-reliability
Open

fix(e2e): improve e2e reliability for Gen1 branch#3435
sarayev wants to merge 12 commits intorelease-api-plugin-stablefrom
fix/gen1-e2e-reliability

Conversation

@sarayev
Copy link
Copy Markdown
Contributor

@sarayev sarayev commented Mar 16, 2026

Summary

Ports applicable e2e reliability fixes from main branch to the Gen1 (release-api-plugin-stable) branch.

Changes

  1. rds.ts: Increase SG propagation wait from 1min to 5min

    • After adding security group rules in setupRDSInstanceAndData(), wait 5 minutes instead of 1 minute for rules to propagate
    • Same for after removing security group rules
    • Prevents transient connection failures due to security group eventual consistency
  2. shared-scripts.sh: Add retry_with_backoff function definition

    • The call retry_with_backoff 3 npm install -g @aws-amplify/cli-internal is added but the function body was previously missing
    • Adds the function with exponential backoff (3 attempts, 10s/20s/40s delays)
    • Wraps npm install to gracefully handle transient registry/network failures

Testing

  • Gen1 baseline e2e (unfixed): 77/82 passed, 5 failed (all infra/quota issues unrelated to these fixes)
  • Fix branch e2e: pending

Related

…npm install

- Increase sleep after SG rule addition from 1min to 5min in rds.ts
  (both after adding and after removing security group rules)
- Add retry_with_backoff function definition to shared-scripts.sh
  (the call already existed but the function body was missing)
- Wraps npm install -g @aws-amplify/cli-internal with retry_with_backoff 3
@sarayev sarayev requested review from a team as code owners March 16, 2026 12:02
sarayev added 11 commits March 16, 2026 13:22
…s, add amplifyPushWithRetry

- Add schema-iterative-update-1/2/3 to RUN_SOLO to prevent AppSync quota exhaustion
- Fix searchable-node-to-node test: accept expectedCount param (was hardcoded to 1),
  handle null responses from 401 errors, increase retry window with capped backoff
- Add amplifyPushWithRetry utility that retries on ApiLimitExceededException
  with exponential backoff (60s, 120s, 180s)
…h-transformer

Force-publish all packages that depend on graphql-elasticsearch-transformer
to Verdaccio, not just the transformer itself. Previously, only the
transformer was force-published (5.2.89), but its consumers (amplify-category-api,
graphql-auth-transformer, graphql-transformers-e2e-tests) still had exact
version pins to 5.2.88, which doesn't exist on Verdaccio and falls through
to npm where the old t2.small.elasticsearch default exists (5.2.81).

By force-publishing all dependents, lerna will:
1. Bump graphql-elasticsearch-transformer to a new version
2. Bump all its consumers to new versions
3. Update the exact dep specs in the published tarballs
4. Ensure the entire dependency chain resolves from Verdaccio
…st-install

The npm-published @aws-amplify/cli-internal pins exact versions, so our local
Verdaccio packages are bypassed for transitive deps like
graphql-elasticsearch-transformer. Instead of force-publishing, we now patch
the installed resources.js after npm install to replace deprecated
t2.small/t2.medium.elasticsearch with t3 equivalents.

Also reverts the --force-publish changes which were ineffective.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant