diff --git a/lib/constants.js b/lib/constants.js index 336e843e..015e0262 100644 --- a/lib/constants.js +++ b/lib/constants.js @@ -38,7 +38,7 @@ function getWorkflowAnnotationsJson(lastSuccessRunSha, workflowFilePath, filePat + `'lastSuccessRunCommit': '${lastSuccessRunSha}',` + `'branch': '${process.env.GITHUB_REF}',` + `'deployTimestamp': '${Date.now()}',` - + `'filePathConfigs': '${JSON.stringify(filePathConfigs)}',` + + `'filePathConfigs': ${JSON.stringify(filePathConfigs)},` + `'provider': 'GitHub'` + `}`; } diff --git a/lib/utilities/utility.js b/lib/utilities/utility.js index 4d2edb9e..c2643d9a 100644 --- a/lib/utilities/utility.js +++ b/lib/utilities/utility.js @@ -148,8 +148,8 @@ function getFilePathsConfigs() { const DOCKERFILE_PATH_LABEL_KEY = 'dockerfile-path'; const DOCKERFILE_PATH_KEY = 'dockerfilePath'; const CONTAINER_REG_KEY = 'containerRegistryServer'; - let inputManifestFiles = inputParams.manifests; - filePathsConfig[MANIFEST_PATHS_KEY] = inputManifestFiles || ''; + let inputManifestFiles = inputParams.manifests || []; + filePathsConfig[MANIFEST_PATHS_KEY] = inputManifestFiles; let helmChartPath = process.env.HELM_CHART_PATH || ''; filePathsConfig[HELM_CHART_KEY] = helmChartPath; //Fetch labels from each image @@ -180,19 +180,24 @@ function getFilePathsConfigs() { if (res.stderr != '' && !res.success) { throw new Error(`docker inspect call failed with: ${res.stderr.match(/(.*)\s*$/)[0]}`); } - resultObj = JSON.parse(res.stdout)[0]; + if (res.stdout != null && res.stdout != '') { + resultObj = JSON.parse(res.stdout); + } }); } catch (ex) { core.warning(`Failed to get dockerfile paths for image ${image.toString()} | ` + ex); } - if (resultObj != null && resultObj.Config != null && resultObj.Config.Labels != null) { - if (resultObj.Config.Labels[DOCKERFILE_PATH_LABEL_KEY] != null) { + if (resultObj != null) { + resultObj = resultObj[0]; + if (resultObj.Config != null && resultObj.Config.Labels != null && resultObj.Config.Labels[DOCKERFILE_PATH_LABEL_KEY] != null) { buildConfigMap[DOCKERFILE_PATH_KEY] = resultObj.Config.Labels[DOCKERFILE_PATH_LABEL_KEY]; } //Add CR server name to build config buildConfigMap[CONTAINER_REG_KEY] = containerRegistryName; - imageToBuildConfigMap[resultObj.Id] = buildConfigMap; + if (resultObj.Id != null) { + imageToBuildConfigMap[resultObj.Id] = buildConfigMap; + } } } filePathsConfig[BUILD_CONFIG_KEY] = imageToBuildConfigMap; diff --git a/src/constants.ts b/src/constants.ts index b0364704..a93ddc99 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -38,7 +38,7 @@ export function getWorkflowAnnotationsJson(lastSuccessRunSha: string, workflowFi + `'lastSuccessRunCommit': '${lastSuccessRunSha}',` + `'branch': '${process.env.GITHUB_REF}',` + `'deployTimestamp': '${Date.now()}',` - + `'filePathConfigs': '${JSON.stringify(filePathConfigs)}',` + + `'filePathConfigs': ${JSON.stringify(filePathConfigs)},` + `'provider': 'GitHub'` + `}`; } diff --git a/src/utilities/utility.ts b/src/utilities/utility.ts index 8d99974a..f3c5ded6 100644 --- a/src/utilities/utility.ts +++ b/src/utilities/utility.ts @@ -139,8 +139,8 @@ export async function getFilePathsConfigs(): Promise { const DOCKERFILE_PATH_KEY = 'dockerfilePath'; const CONTAINER_REG_KEY = 'containerRegistryServer'; - let inputManifestFiles = inputParams.manifests; - filePathsConfig[MANIFEST_PATHS_KEY] = inputManifestFiles || ''; + let inputManifestFiles = inputParams.manifests || []; + filePathsConfig[MANIFEST_PATHS_KEY] = inputManifestFiles; let helmChartPath = process.env.HELM_CHART_PATH || ''; filePathsConfig[HELM_CHART_KEY] = helmChartPath; @@ -179,23 +179,31 @@ export async function getFilePathsConfigs(): Promise { if (res.stderr != '' && !res.success) { throw new Error(`docker inspect call failed with: ${res.stderr.match(/(.*)\s*$/)![0]}`); } - resultObj = JSON.parse(res.stdout)[0]; + + if(res.stdout!= null && res.stdout != ''){ + resultObj = JSON.parse(res.stdout); + } }); } catch (ex) { core.warning(`Failed to get dockerfile paths for image ${image.toString()} | ` + ex); } - if(resultObj != null && resultObj.Config != null && resultObj.Config.Labels != null ){ - if(resultObj.Config.Labels[DOCKERFILE_PATH_LABEL_KEY] !=null){ + if(resultObj != null){ + resultObj = resultObj[0]; + + if(resultObj.Config != null && resultObj.Config.Labels != null && resultObj.Config.Labels[DOCKERFILE_PATH_LABEL_KEY] !=null){ buildConfigMap[DOCKERFILE_PATH_KEY] = resultObj.Config.Labels[DOCKERFILE_PATH_LABEL_KEY]; } //Add CR server name to build config buildConfigMap[CONTAINER_REG_KEY] = containerRegistryName; - imageToBuildConfigMap[resultObj.Id] = buildConfigMap; + if(resultObj.Id != null){ + imageToBuildConfigMap[resultObj.Id] = buildConfigMap; + } } } + filePathsConfig[BUILD_CONFIG_KEY] = imageToBuildConfigMap; return Promise.resolve(filePathsConfig);