Skip to content

CDK Pipelines: Circular dependency on initial CDK Deploy #18673

@erickaidiwang

Description

@erickaidiwang

What is the problem?

I am trying to deploy a pipeline using the aws-cdk/pipelines library and I am receiving a circular dependency error. I have no other resources in this stack other than the pipeline itself.

Reproduction Steps

Outer Stack:

import 'source-map-support/register';
import * as cdk from 'aws-cdk-lib';
import { SplitMonitorStackStack } from '../lib/MainPipelineStack';

const app = new cdk.App();
new SplitMonitorStackStack(app, 'SplitMonitorMainStack');
app.synth();

Inner Stack:


import { Stack, StackProps,SecretValue} from 'aws-cdk-lib';
import { Construct } from 'constructs'; // construct is in a separate package
import * as pipelines from 'aws-cdk-lib/pipelines';

export class SplitMonitorStackStack extends Stack {
  constructor(scope: Construct, id: string, props?: StackProps) {
    super(scope, id, props);


    const splitMonitoringStackPipeline = new pipelines.CodePipeline(this, "pipeline", {
      pipelineName: "Split-Monitor-Main",
      synth: new pipelines.ShellStep('Synth', {
          input: pipelines.CodePipelineSource.gitHub('PlaceholderRepoName', "main", {
            authentication: SecretValue.secretsManager('Token'),
          }),
          commands: [
            'npm install -g aws-cdk@latest',
            'npm ci',
            'npm run build',
            'npx cdk synth',
          ],
        }),
        crossAccountKeys: true
    });

  }
}

What did you expect to happen?

The pipeline and CDK deploy do be successful.

What actually happened?

SplitMonitorMainStack failed: Error [ValidationError]: Circular dependency between resources: [pipelineUpdatePipelineSelfMutation14A96D2F, pipelinePipelineBuildSynthCdkBuildProject4237770A, pipelinePipelineBuildSynthCdkBuildProjectRoleDefaultPolicyB3981181, pipelineUpdatePipelineSelfMutationRoleDefaultPolicy095404B8, pipelinePipeline4163A4B1, pipelinePipelineUpdatePipelineSelfMutateCodePipelineActionRoleDefaultPolicy09E3C254, pipelinePipelineSourceIvellaSplitMonitorStackWebhookResource4158C29A, pipelinePipelineBuildSynthCodePipelineActionRoleDefaultPolicy7B8E3FCA] at Request.extractError (/opt/homebrew/lib/node_modules/aws-cdk/node_modules/aws-sdk/lib/protocol/query.js:50:29) at Request.callListeners (/opt/homebrew/lib/node_modules/aws-cdk/node_modules/aws-sdk/lib/sequential_executor.js:106:20) at Request.emit (/opt/homebrew/lib/node_modules/aws-cdk/node_modules/aws-sdk/lib/sequential_executor.js:78:10) at Request.emit (/opt/homebrew/lib/node_modules/aws-cdk/node_modules/aws-sdk/lib/request.js:686:14) at Request.transition (/opt/homebrew/lib/node_modules/aws-cdk/node_modules/aws-sdk/lib/request.js:22:10) at AcceptorStateMachine.runTo (/opt/homebrew/lib/node_modules/aws-cdk/node_modules/aws-sdk/lib/state_machine.js:14:12) at /opt/homebrew/lib/node_modules/aws-cdk/node_modules/aws-sdk/lib/state_machine.js:26:10 at Request.<anonymous> (/opt/homebrew/lib/node_modules/aws-cdk/node_modules/aws-sdk/lib/request.js:38:9) at Request.<anonymous> (/opt/homebrew/lib/node_modules/aws-cdk/node_modules/aws-sdk/lib/request.js:688:12) at Request.callListeners (/opt/homebrew/lib/node_modules/aws-cdk/node_modules/aws-sdk/lib/sequential_executor.js:116:18) { code: 'ValidationError', time: 2022-01-26T18:54:30.449Z, requestId: '913f9618-4a60-483a-b8b4-aec4be38998a', statusCode: 400, retryable: false, retryDelay: 755.4424894449671 } Circular dependency between resources: [pipelineUpdatePipelineSelfMutation14A96D2F, pipelinePipelineBuildSynthCdkBuildProject4237770A, pipelinePipelineBuildSynthCdkBuildProjectRoleDefaultPolicyB3981181, pipelineUpdatePipelineSelfMutationRoleDefaultPolicy095404B8, pipelinePipeline4163A4B1, pipelinePipelineUpdatePipelineSelfMutateCodePipelineActionRoleDefaultPolicy09E3C254, pipelinePipelineSourceIvellaSplitMonitorStackWebhookResource4158C29A, pipelinePipelineBuildSynthCodePipelineActionRoleDefaultPolicy7B8E3FC

CDK CLI Version

2.9.0

Framework Version

No response

Node.js Version

v16.13.0

OS

macOS Monterey

Language

Typescript

Language Version

No response

Other information

No response

Metadata

Metadata

Assignees

Labels

@aws-cdk/pipelinesCDK Pipelines librarybugThis issue is a bug.needs-triageThis issue or PR still needs to be triaged.p0

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions