aws / aws/aws-cdk

(pipelines): Need a way to get Stack Outputs as file artifact if they are > 1000 chars

Open
#17,067 9 comments 3 reactions 0 assignees View on GitHub
@aws-cdk/pipelines bug effort/small p1
Dominant language
TypeScript
Stars
12.9k
Forks
4.6k
Avg merge
2d 3h
Merged PRs (30d)
83

Description

### What is the problem?

It looks like `CodeBuildStep.envFromCfnOutputs` property is limited to 1-1000 characters. When injecting variables, it can quickly reaches this limit and the CodePipeline build fails with:

```
8:35:20 AM | CREATE_FAILED | AWS::CodePipeline::Pipeline | ##############
ActionConfiguration Map value must satisfy constraint: [Member must have length less than or equal to 1000, Member must have length greater than or equal to 1] (Service: AWSCodePipeline; Status Code: 400; Error Code: ValidationException; Request ID: ############; Proxy: null)
```

### Reproduction Steps

Include many environment variables from CloudFormation output in `CodeBuildStep.envFromCfnOutputs`.

### What did you expect to happen?

CodeBuildStep successful.

### What actually happened?

CodeBuildStep failure with too vague error message.

### CDK CLI Version

1.127.0

### Framework Version

_No response_

### Node.js Version

14.x

### OS

macOS 11.6

### Language

Typescript

### Language Version

_No response_

### Other information

_No response_

Contributor guide

Open the contributing guide

Research direction

Start with CodeBuildStep.envFromCfnOutputs and reproduce the failure by including enough CloudFormation outputs to exceed the 1000-character pipeline limit. Inspect the generated CodePipeline configuration and define completion as successfully handling larger output sets through a file artifact while keeping CodeBuildStep successful.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, typescript
Domain
ci-cd, cloud
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.