in src/pipeline.ts [98:125]
constructor(scope: Construct, id: string, props: GitHubWorkflowProps) {
super(scope, id, props);
this.cdkCliVersion = props.cdkCliVersion;
this.preSynthed = props.preSynthed ?? false;
this.buildContainer = props.buildContainer;
this.preBuildSteps = props.preBuildSteps ?? [];
this.postBuildSteps = props.postBuildSteps ?? [];
this.awsCredentials = props.awsCredentials ?? {
accessKeyId: 'AWS_ACCESS_KEY_ID',
secretAccessKey: 'AWS_SECRET_ACCESS_KEY',
};
this.workflowPath = props.workflowPath ?? '.github/workflows/deploy.yml';
if (!this.workflowPath.endsWith('.yml') && !this.workflowPath.endsWith('.yaml')) {
throw new Error('workflow file is expected to be a yaml file');
}
if (!this.workflowPath.includes('.github/workflows/')) {
throw new Error('workflow files must be stored in the \'.github/workflows\' directory of your repository');
}
this.workflowName = props.workflowName ?? 'deploy';
this.workflowTriggers = props.workflowTriggers ?? {
push: { branches: ['main'] },
workflowDispatch: {},
};
}