Skip to content

Commit

Permalink
fix(integ-runner): always resynth on deploy (#20508)
Browse files Browse the repository at this point in the history
We were trying to save time by re-using a previously synthed cloud
assembly if it existed, but we should not be doing this. When we perform
the deployment we could be using new settings (or context) that needs to
be applied to the synth.


----

### All Submissions:

* [ ] Have you followed the guidelines in our [Contributing guide?](https://github.com/aws/aws-cdk/blob/master/CONTRIBUTING.md)

### Adding new Unconventional Dependencies:

* [ ] This PR adds new unconventional dependencies following the process described [here](https://github.com/aws/aws-cdk/blob/master/CONTRIBUTING.md/#adding-new-unconventional-dependencies)

### New Features

* [ ] Have you added the new feature to an [integration test](https://github.com/aws/aws-cdk/blob/master/INTEGRATION_TESTS.md)?
	* [ ] Did you use `yarn integ` to deploy the infrastructure and generate the snapshot (i.e. `yarn integ` without `--dry-run`)?

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
  • Loading branch information
corymhall authored May 26, 2022
1 parent 7f237a2 commit 7138057
Show file tree
Hide file tree
Showing 3 changed files with 4 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -259,7 +259,7 @@ export class IntegTestRunner extends IntegRunner {
...actualTestCase?.cdkCommandOptions?.deploy?.args,
...actualTestCase.assertionStack ? { outputsFile: path.join(this.cdkOutDir, 'assertion-results.json') } : undefined,
context: this.getContext(actualTestCase?.cdkCommandOptions?.deploy?.args?.context),
app: this.hasTmpActualSnapshot() ? this.cdkOutDir : this.cdkApp,
app: this.cdkApp,
});

if (actualTestCase.hooks?.postDeploy) {
Expand Down
8 changes: 2 additions & 6 deletions packages/@aws-cdk/integ-runner/lib/runner/runner-base.ts
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ export abstract class IntegRunner {
this.testName = testName;
} else {
const relativePath = path.relative(options.directory, parsed.dir);
this.testName = `${relativePath ? relativePath+'/' : ''}${parsed.name}`;
this.testName = `${relativePath ? relativePath + '/' : ''}${parsed.name}`;
}
this.snapshotDir = path.join(this.directory, `${testName}.integ.snapshot`);
this.relativeSnapshotDir = `${testName}.integ.snapshot`;
Expand Down Expand Up @@ -210,10 +210,6 @@ export abstract class IntegRunner {
return fs.existsSync(this.snapshotDir);
}

public hasTmpActualSnapshot(): boolean {
return fs.existsSync(path.join(this.directory, this.cdkOutDir));
}

/**
* Load the integ manifest which contains information
* on how to execute the tests
Expand Down Expand Up @@ -371,7 +367,7 @@ export abstract class IntegRunner {
}

protected getContext(additionalContext?: Record<string, any>): Record<string, any> {
const futureFlags: {[key: string]: any} = {};
const futureFlags: { [key: string]: any } = {};
Object.entries(FUTURE_FLAGS)
.filter(([k, _]) => !FUTURE_FLAGS_EXPIRED.includes(k))
.forEach(([k, v]) => futureFlags[k] = v);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ describe('IntegTest runIntegTests', () => {
stacks: ['test-stack'],
});
expect(deployMock).toHaveBeenCalledWith({
app: 'cdk-integ.out.test-with-snapshot',
app: 'node integ.test-with-snapshot.js',
requireApproval: 'never',
pathMetadata: false,
assetMetadata: false,
Expand Down

0 comments on commit 7138057

Please sign in to comment.