Skip to content
Open
Show file tree
Hide file tree
Changes from 17 commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
acea6af
fix(cli-internal): replace lock rollback drift validation with stack …
iliapolo May 6, 2026
349c5fd
fix(cli-internal): revert retain policy to use RESOURCES_TO_RETAIN list
iliapolo May 6, 2026
c8626aa
chore: store locator needs to skip validations during refactor rollba…
iliapolo May 6, 2026
ccd2667
chore: dont run gen2 tests, remove cleanup dependency on migration e2es
iliapolo May 6, 2026
132101b
Merge branch 'dev' into epolon/e2e-rollback
iliapolo May 6, 2026
6e16383
fix(cli-internal): skip optional attributes in auth userAttributes ma…
iliapolo May 7, 2026
df9ea47
chore: reuse refresh logic, add lock rollback conditional resource check
iliapolo May 7, 2026
a2612b1
chore: touch function
iliapolo May 7, 2026
e950e6e
chore: remove init dep
iliapolo May 7, 2026
5881171
chore: mid work
iliapolo May 7, 2026
b90edd7
Merge branch 'dev' into epolon/e2e-rollback
iliapolo May 7, 2026
be69d6e
chore: revert a bunch
iliapolo May 7, 2026
fec938c
Merge branch 'dev' into epolon/e2e-rollback
iliapolo May 7, 2026
aa3cfea
chore: revert a bunch
iliapolo May 7, 2026
d78b9f8
Merge branch 'dev' into epolon/e2e-rollback
iliapolo May 7, 2026
44fbe6d
chore: add finance tracker e2e
iliapolo May 7, 2026
b54a497
chore: include windows tests
iliapolo May 7, 2026
b324620
chore: fixups
iliapolo May 8, 2026
f51b951
chore: fixups
iliapolo May 8, 2026
6aeec96
chore: pass directs creds to teardown is possible
iliapolo May 8, 2026
2660238
chore: log
iliapolo May 8, 2026
732f96a
chore: ignore cache in fromIni
iliapolo May 8, 2026
d2e1df5
chore(amplify-e2e-gen2-migration): consolidate e2e lifecycle into App…
iliapolo May 8, 2026
b66fd87
docs: update migration/config.json documentation
iliapolo May 8, 2026
7204710
chore: bring back windows exclusion
iliapolo May 8, 2026
82a3f74
chore: rename
iliapolo May 8, 2026
e49ca63
Merge branch 'dev' into epolon/e2e-rollback
iliapolo May 8, 2026
41cc57a
chore: override console logger
iliapolo May 8, 2026
6d72ad2
chore: checkout before retain
iliapolo May 8, 2026
2963f17
refactor(amplify-e2e-gen2-migration): extract printBanner helper
iliapolo May 8, 2026
409aaf5
refactor(amplify-e2e-gen2-migration): extract forward method and fix …
iliapolo May 8, 2026
b980944
refactor(amplify-e2e-gen2-migration): replace AWS CLI sts call with SDK
iliapolo May 9, 2026
16823ec
chore: touchups
iliapolo May 9, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"lock": {
"lockForward": {
"skipValidations": true
}
}
1 change: 0 additions & 1 deletion amplify-migration-apps/media-vault/migration/config.json

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@

## Add a pin emoji prefix to each board name so it's visible on the frontend
#foreach( $item in $ctx.result.items )
#if( !$item.name.startsWith("📌 ") )
$util.qr($item.put("name", "📌 $item.name"))
#if( !$item.name.startsWith("(new!)") )
$util.qr($item.put("name", "(new!) $item.name"))
#end
#end

Expand Down
4 changes: 2 additions & 2 deletions amplify-migration-apps/mood-board/tests/api.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ describe('guest', () => {

expect(typeof board.id).toBe('string');
expect(board.id.length).toBeGreaterThan(0);
expect(board.name).toMatch(new RegExp(`^[🌅☀️🌙] ${name} \\(new!\\)$`));
Comment thread
iliapolo marked this conversation as resolved.
expect(board.name).toEqual(`${name} (new!)`);
expect(board.createdAt).toBeDefined();
expect(board.updatedAt).toBeDefined();
});
Expand Down Expand Up @@ -106,7 +106,7 @@ describe('guest', () => {
expect(items.length).toBeGreaterThanOrEqual(1);
const found = items.find((b: any) => b.id === created.id);
expect(found).toBeDefined();
expect(found.name).toBe(`📌 ${name}`);
expect(found.name).toBe(`(new!) ${name}`);
Comment thread
iliapolo marked this conversation as resolved.
});
});

Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
{
"refactor": { "skipValidations": true }
"refactorForward": { "skipValidations": true },
"refactorRollback": { "skipValidations": true }
}
108 changes: 108 additions & 0 deletions codebuild_specs/e2e_workflow_generated.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1021,6 +1021,15 @@ batch:
DISABLE_COVERAGE: 1
depend-on:
- upb
- identifier: l_migrate_finance_tracker
buildspec: codebuild_specs/run_e2e_tests_linux.yml
env:
variables:
compute-type: BUILD_GENERAL1_LARGE
TEST_SUITE: src/__tests__/gen2-migration/migrate-finance-tracker.test.ts
DISABLE_COVERAGE: 1
depend-on:
- upb
- identifier: l_migrate_discussions
buildspec: codebuild_specs/run_e2e_tests_linux.yml
env:
Expand Down Expand Up @@ -2286,6 +2295,105 @@ batch:
depend-on:
- build_windows
- upb
- identifier: w_migrate_store_locator
buildspec: codebuild_specs/run_e2e_tests_windows.yml
env:
type: WINDOWS_SERVER_2022_CONTAINER
image: $WINDOWS_IMAGE_2019
variables:
TEST_SUITE: src/__tests__/gen2-migration/migrate-store-locator.test.ts
DISABLE_COVERAGE: 1
depend-on:
- build_windows
- upb
- identifier: w_migrate_project_boards
buildspec: codebuild_specs/run_e2e_tests_windows.yml
env:
type: WINDOWS_SERVER_2022_CONTAINER
image: $WINDOWS_IMAGE_2019
variables:
TEST_SUITE: src/__tests__/gen2-migration/migrate-project-boards.test.ts
DISABLE_COVERAGE: 1
depend-on:
- build_windows
- upb
- identifier: w_migrate_product_catalog
buildspec: codebuild_specs/run_e2e_tests_windows.yml
env:
type: WINDOWS_SERVER_2022_CONTAINER
image: $WINDOWS_IMAGE_2019
variables:
TEST_SUITE: src/__tests__/gen2-migration/migrate-product-catalog.test.ts
DISABLE_COVERAGE: 1
depend-on:
- build_windows
- upb
- identifier: w_migrate_mood_board
buildspec: codebuild_specs/run_e2e_tests_windows.yml
env:
type: WINDOWS_SERVER_2022_CONTAINER
image: $WINDOWS_IMAGE_2019
variables:
TEST_SUITE: src/__tests__/gen2-migration/migrate-mood-board.test.ts
DISABLE_COVERAGE: 1
depend-on:
- build_windows
- upb
- identifier: w_migrate_media_vault
buildspec: codebuild_specs/run_e2e_tests_windows.yml
env:
type: WINDOWS_SERVER_2022_CONTAINER
image: $WINDOWS_IMAGE_2019
variables:
TEST_SUITE: src/__tests__/gen2-migration/migrate-media-vault.test.ts
DISABLE_COVERAGE: 1
depend-on:
- build_windows
- upb
- identifier: w_migrate_fitness_tracker
buildspec: codebuild_specs/run_e2e_tests_windows.yml
env:
type: WINDOWS_SERVER_2022_CONTAINER
image: $WINDOWS_IMAGE_2019
variables:
TEST_SUITE: src/__tests__/gen2-migration/migrate-fitness-tracker.test.ts
DISABLE_COVERAGE: 1
depend-on:
- build_windows
- upb
- identifier: w_migrate_finance_tracker
buildspec: codebuild_specs/run_e2e_tests_windows.yml
env:
type: WINDOWS_SERVER_2022_CONTAINER
image: $WINDOWS_IMAGE_2019
variables:
TEST_SUITE: src/__tests__/gen2-migration/migrate-finance-tracker.test.ts
DISABLE_COVERAGE: 1
depend-on:
- build_windows
- upb
- identifier: w_migrate_discussions
buildspec: codebuild_specs/run_e2e_tests_windows.yml
env:
type: WINDOWS_SERVER_2022_CONTAINER
image: $WINDOWS_IMAGE_2019
variables:
TEST_SUITE: src/__tests__/gen2-migration/migrate-discussions.test.ts
DISABLE_COVERAGE: 1
depend-on:
- build_windows
- upb
- identifier: w_migrate_backend_only
buildspec: codebuild_specs/run_e2e_tests_windows.yml
env:
type: WINDOWS_SERVER_2022_CONTAINER
image: $WINDOWS_IMAGE_2019
variables:
TEST_SUITE: src/__tests__/gen2-migration/migrate-backend-only.test.ts
DISABLE_COVERAGE: 1
depend-on:
- build_windows
- upb
- identifier: w_js_frontend_config
buildspec: codebuild_specs/run_e2e_tests_windows.yml
env:
Expand Down
10 changes: 10 additions & 0 deletions codebuild_specs/wait_for_ids.json
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@
"l_js_frontend_config",
"l_migrate_backend_only",
"l_migrate_discussions",
"l_migrate_finance_tracker",
"l_migrate_fitness_tracker",
"l_migrate_media_vault",
"l_migrate_mood_board",
Expand Down Expand Up @@ -208,6 +209,15 @@
"w_init_f_init_d",
"w_js_frontend_config",
"w_layer_3_hosting",
"w_migrate_backend_only",
"w_migrate_discussions",
"w_migrate_finance_tracker",
"w_migrate_fitness_tracker",
"w_migrate_media_vault",
"w_migrate_mood_board",
"w_migrate_product_catalog",
"w_migrate_project_boards",
"w_migrate_store_locator",
"w_minify_cloudformation_init_force_push",
"w_model_migration_schema_auth_5c",
"w_notifications_analytics_compatibility_in_app_2_init_e",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2091,8 +2091,9 @@ describe('AuthGenerator', () => {
jest.spyOn(gen1App.aws, 'fetchUserPool').mockResolvedValue({
SchemaAttributes: [
{ Name: 'email', Required: true, Mutable: true },
{ Name: 'address', Required: true, Mutable: false },
{ Name: 'birthdate', Required: false, Mutable: true },
{ Name: 'address', Required: false, Mutable: true },
{ Name: 'given_name', Required: false, Mutable: false },
],
});
jest.spyOn(gen1App.aws, 'fetchMfaConfig').mockResolvedValue({});
Expand All @@ -2103,14 +2104,11 @@ describe('AuthGenerator', () => {
IdentityPoolName: 'test-pool',
AllowUnauthenticatedIdentities: false,
});
jest.spyOn(gen1App.aws, 'fetchUserPoolClient').mockImplementation((_poolId: string, clientId: string) => {
if (clientId === 'webclient123') return Promise.resolve({});
return Promise.resolve({
RefreshTokenValidity: 30,
EnableTokenRevocation: true,
ReadAttributes: ['birthdate', 'email'],
WriteAttributes: ['address', 'email'],
});
jest.spyOn(gen1App.aws, 'fetchUserPoolClient').mockResolvedValue({
RefreshTokenValidity: 30,
EnableTokenRevocation: true,
ReadAttributes: ['birthdate', 'email', 'given_name', 'address'],
WriteAttributes: ['address', 'email'],
});

const generator = new AuthGenerator(gen1App, backendGenerator, outputDir, authResource, logger);
Expand All @@ -2131,13 +2129,9 @@ describe('AuthGenerator', () => {
required: true,
mutable: true,
},
birthdate: {
required: false,
mutable: true,
},
address: {
required: false,
mutable: true,
required: true,
mutable: false,
},
},
multifactor: {
Expand All @@ -2162,6 +2156,8 @@ describe('AuthGenerator', () => {
readAttributes: new ClientAttributes().withStandardAttributes({
birthdate: true,
email: true,
givenName: true,
address: true,
}),
writeAttributes: new ClientAttributes().withStandardAttributes({
address: true,
Expand Down
Loading
Loading