Skip to content

(pipelines.CodePipeline): unable to use additional_inputs #17224

@KnowSQL

Description

@KnowSQL

What is the problem?

No matter what name I supply for the additional inputs directory, it fails at:

[Container] 2021/10/28 23:30:47 Running command [[ ! -d "blah-1234" ]] || { echo 'additionalInputs: "blah-1234" must not exist yet. If you want to merge multiple artifacts, use a "cp" command.'; exit 1; } && ln -s -- "$CODEBUILD_SRC_DIR_blahblah_blahblah_Source" "blah-1234"

followed by:

/codebuild/output/tmp/script.sh: 4: [[: not found

followed by:

additionalInputs: "blah-1234" must not exist yet. If you want to merge multiple artifacts, use a "cp" command.

followed by:

[Container] 2021/10/28 23:30:47 Command did not exit successfully [[ ! -d "blah-1234" ]] || { echo 'additionalInputs: "blah-1234" must not exist yet. If you want to merge multiple artifacts, use a "cp" command.'; exit 1; } && ln -s -- "$CODEBUILD_SRC_DIR_vblahblah_blahblah_Source" "blah-1234" exit status 1

causing the build to fail.

Reproduction Steps

My code simply looks like:

        source0 = CodePipelineSource.connection("blahblah/blahblah", "master",
            connection_arn="arn:aws:codestar-connections:us-east-1:<123456789012>:connection/<some-uuid>"
        )

        pipeline = CodePipeline(self, "Abcdef",
            synth=ShellStep("Synth",
                input=CodePipelineSource.connection("blablah/blahblah0", "master",
                    connection_arn="arn:aws:codestar-connections:us-east-1:<123456789012>:connection/<some-uuid>"
                ),
                additional_inputs={
                    "blah-1234": source0,
                },
                commands=[
                    "npm install -g aws-cdk",
                    "pip install -r requirements.txt",
                    "cdk synth"
                ]
            )
        )

I've put blah etc in place of real github sources are they are all private repositories. The code is pulled in fine, but the build/synth step fails for source0 above.

I've tried various combinations like ../blah-1234 (to create it in a sibling directory) etc. but all fail with similar error messages.

I'm suspicious of:

/codebuild/output/tmp/script.sh: 4: [[: not found

and think it's something in the aws script that's failing somewhere?

What did you expect to happen?

I expected the build to pass

What actually happened?

The build failed

CDK CLI Version

1.129.0

Framework Version

No response

Node.js Version

N/A

OS

Arch Linux

Language

Python

Language Version

No response

Other information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    @aws-cdk/pipelinesCDK Pipelines librarybugThis issue is a bug.effort/smallSmall work item – less than a day of effortp1

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions