Skip to content

(pipelines): modern pipeline loops indefinitely due to unstable source action name #15592

@asterikx

Description

@asterikx

The pipeline loops indefinitely from the UpdatePipeline stage to the Source stage due to an unstable action name of the source action.
The source action name contains an (unresolved?) token string of the form __Token_TOKEN.XXX__. Since the token number (XXX) changes during each synth step, the pipeline updates itself indefinitely when selfMutation is true (default behavior).
It is not possible to use a custom action name for the source action (AFAIK).

Screenshot 2021-07-15 at 21 54 27

Reproduction Steps

const input = CodePipelineSource.codeCommit(repo, 'master');

const synth = new CodeBuildStep('Synth', { input /* ... */ });
const pipeline = new CodePipeline(this, 'Pipeline', {
  synth,
  crossAccountKeys: true,
});

What did you expect to happen?

The source action name is stable (does not change between successive synths) and the pipeline does not loop indefinitely.

What actually happened?

The source action name is unstable (changes between successive synths) and the pipeline loops indefinitely.

Environment

  • CDK CLI Version : 1.114.0 (build 7e41b6b)
  • Framework Version: 1.114.0
  • Node.js Version: v14.17.1
  • OS : macOS 11.4
  • Language (Version): TypeScript (4.3.5)

This is 🐛 Bug Report

Metadata

Metadata

Assignees

Labels

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

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions