export function createNodeadmE2EPipeline()

in hybrid-nodes-cdk/lib/nodeadm/e2e.ts [31:69]


export function createNodeadmE2EPipeline(
  stack: cdk.Stack,
  nameSuffix: string,
  sourceAction: codepipeline_actions.GitHubSourceAction,
  buildAction: codepipeline_actions.CodeBuildAction,
  cleanupAction: codepipeline_actions.CodeBuildAction,
  ecrCacheAction: codepipeline_actions.CodeBuildAction,
  testsActions: Array<codepipeline_actions.CodeBuildAction>,
  variables: Array<codepipeline.Variable> = [],
  additionalStages: Array<codepipeline.StageProps> = [],
) {
  const pipelineName = `nodeadm-${nameSuffix}`;

  return new codepipeline.Pipeline(stack, `${pipelineName}-pipeline`, {
    pipelineName: pipelineName,
    pipelineType: codepipeline.PipelineType.V2,
    restartExecutionOnUpdate: false,
    variables: variables,
    stages: [
      {
        stageName: 'Source',
        actions: [sourceAction],
      },
      {
        stageName: 'Build',
        actions: [buildAction],
      },
      {
        stageName: 'CleanupAndCache',
        actions: [cleanupAction, ecrCacheAction],
      },
      {
        stageName: 'E2E-Tests',
        actions: [...testsActions],
      },
      ...additionalStages,
    ],
  });
}