{"record":{"id":"62ca953b64bd4588","repo":"floci-io/floci","slug":"actionexecutionfailed","errorCode":"ActionExecutionFailed","errorMessage":"CodeBuild build ${buildId} finished with ${buildStatus}","messagePattern":"CodeBuild build (.+?) finished with (.+?)","errorType":"exception","errorClass":"AwsException","httpStatus":400,"severity":"error","filePath":"src/main/java/io/github/hectorvent/floci/services/codepipeline/CodePipelineService.java","lineNumber":839,"sourceCode":"        state.setExternalExecutionId(\"s3://\" + bucket + \"/\" + objectKey);\n    }\n\n    private void executeCodeBuild(CodePipelineExecution execution, JsonNode action,\n                                  ActionExecution state) throws InterruptedException {\n        String projectName = action.path(\"configuration\").path(\"ProjectName\").asText(null);\n        Build build = codeBuildService.startBuild(execution.getRegion(), execution.getAccountId(), projectName,\n                null, null, null, null, null, null, null);\n        state.setExternalExecutionId(build.getId());\n        while (!Boolean.TRUE.equals(build.getBuildComplete())) {\n            if (execution.isStopRequested()) {\n                codeBuildService.stopBuild(execution.getRegion(), build.getId());\n                break;\n            }\n            TimeUnit.MILLISECONDS.sleep(POLL_INTERVAL_MS);\n            build = codeBuildService.getBuild(execution.getRegion(), build.getId());\n        }\n        if (!\"SUCCEEDED\".equals(build.getBuildStatus())) {\n            throw new AwsException(\"ActionExecutionFailed\",\n                    \"CodeBuild build \" + build.getId() + \" finished with \" + build.getBuildStatus(), 400);\n        }\n    }\n\n    private void executeCodeDeploy(CodePipelineExecution execution, JsonNode action,\n                                   ActionExecution state) throws InterruptedException {\n        JsonNode config = action.path(\"configuration\");\n        Map<String, Object> revision = null;\n        JsonNode input = action.path(\"inputArtifacts\").path(0);\n        if (!input.isMissingNode()) {\n            revision = Map.of(\"revisionType\", \"S3\",\n                    \"s3Location\", Map.of(\"bucket\", artifactBucket(action), \"key\", input.path(\"name\").asText()));\n        }\n        String deploymentId = codeDeployService.createDeployment(\n                execution.getRegion(), config.path(\"ApplicationName\").asText(),\n                config.path(\"DeploymentGroupName\").asText(), null, revision, \"CodePipeline execution\");\n        state.setExternalExecutionId(deploymentId);\n        Deployment deployment = codeDeployService.getDeployment(execution.getRegion(), deploymentId);","sourceCodeStart":821,"sourceCodeEnd":857,"githubUrl":"https://github.com/floci-io/floci/blob/62ff490619e7bd3554597c28c704081b4c15add5/src/main/java/io/github/hectorvent/floci/services/codepipeline/CodePipelineService.java#L821-L857","documentation":"Error \"CodeBuild build ${buildId} finished with ${buildStatus}\" thrown in floci-io/floci.","triggerScenarios":"Thrown at src/main/java/io/github/hectorvent/floci/services/codepipeline/CodePipelineService.java:839 when the library encounters an invalid state.","commonSituations":"Occurs when a CodeBuild action in a pipeline finishes with a non-succeeded build status. Inspect the CodeBuild build logs and fix the build.","solutions":["Inspect the CodeBuild build logs to diagnose the failure and fix the build."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"62ff490619e7bd3554597c28c704081b4c15add5","analyzedAt":"2026-08-14T14:25:23.764Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}