forked from aws/aws-cdk
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(aws-codebuild): Introduce a CodePipeline test Action. (aws#873)
- Loading branch information
Showing
10 changed files
with
271 additions
and
40 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
import cdk = require("@aws-cdk/cdk"); | ||
import { Action, ActionCategory, CommonActionConstructProps, CommonActionProps } from "./action"; | ||
import { Artifact } from "./artifact"; | ||
|
||
/** | ||
* Construction properties of the low-level {@link TestAction test Action}. | ||
*/ | ||
export interface TestActionProps extends CommonActionProps, CommonActionConstructProps { | ||
/** | ||
* The source to use as input for this test. | ||
* | ||
* @default CodePipeline will use the output of the last Action from a previous Stage as input | ||
*/ | ||
inputArtifact?: Artifact; | ||
|
||
/** | ||
* The optional name of the output artifact. | ||
* If you provide a value here, | ||
* then the `outputArtifact` property of your Action will be non-null. | ||
* If you don't, `outputArtifact` will be `null`. | ||
* | ||
* @default the Action will not have an output artifact | ||
*/ | ||
outputArtifactName?: string; | ||
|
||
/** | ||
* The service provider that the action calls. | ||
* | ||
* @example 'CodeBuild' | ||
*/ | ||
provider: string; | ||
|
||
/** | ||
* The source action owner (could be 'AWS', 'ThirdParty' or 'Custom'). | ||
* | ||
* @default 'AWS' | ||
*/ | ||
owner?: string; | ||
|
||
/** | ||
* The action's configuration. These are key-value pairs that specify input values for an action. | ||
* For more information, see the AWS CodePipeline User Guide. | ||
* | ||
* http://docs.aws.amazon.com/codepipeline/latest/userguide/reference-pipeline-structure.html#action-requirements | ||
*/ | ||
configuration?: any; | ||
} | ||
|
||
/** | ||
* The low-level test Action. | ||
* | ||
* Test Actions are very similar to build Actions - | ||
* the difference is that test Actions don't have to have an output artifact. | ||
* | ||
* You should never need to use this class directly, | ||
* instead preferring the concrete implementations, | ||
* like {@link codebuild.PipelineTestAction}. | ||
*/ | ||
export abstract class TestAction extends Action { | ||
public readonly outputArtifact?: Artifact; | ||
|
||
constructor(parent: cdk.Construct, name: string, props: TestActionProps) { | ||
super(parent, name, { | ||
category: ActionCategory.Test, | ||
artifactBounds: { minInputs: 1, maxInputs: 1, minOutputs: 0, maxOutputs: 0 }, | ||
...props, | ||
}); | ||
|
||
this.addInputArtifact(props.inputArtifact); | ||
if (props.outputArtifactName) { | ||
this.outputArtifact = this.addOutputArtifact(props.outputArtifactName); | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.