@payfit/nx-core 5.2.1 → 5.2.2-ephemeral-fix-release-specifier.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/executors/docker-build/executor.js +1 -1
- package/dist/src/executors/docker-build/executor.js.map +1 -1
- package/dist/src/executors/docker-build/schema.json +0 -5
- package/dist/src/executors/publisher/docker.js +1 -1
- package/dist/src/executors/publisher/docker.js.map +1 -1
- package/dist/src/executors/publisher/executor.js.map +1 -1
- package/dist/src/executors/publisher/lambda.js +15 -12
- package/dist/src/executors/publisher/lambda.js.map +1 -1
- package/dist/src/executors/publisher/schema.d.ts +26 -0
- package/dist/src/executors/publisher/schema.js +3 -0
- package/dist/src/executors/publisher/schema.js.map +1 -0
- package/dist/src/executors/publisher/schema.json +0 -5
- package/dist/src/executors/release/executor.js +0 -2
- package/dist/src/executors/release/executor.js.map +1 -1
- package/dist/src/index.d.ts +3 -4
- package/dist/src/index.js +55 -116
- package/dist/src/index.js.map +1 -1
- package/dist/src/utils/common/enums.d.ts +7 -0
- package/dist/src/utils/common/enums.js +12 -0
- package/dist/src/utils/common/enums.js.map +1 -0
- package/dist/src/utils/common/nx.d.ts +3 -1
- package/dist/src/utils/common/nx.js +25 -0
- package/dist/src/utils/common/nx.js.map +1 -1
- package/dist/src/utils/docker.d.ts +1 -2
- package/dist/src/utils/docker.js +5 -8
- package/dist/src/utils/docker.js.map +1 -1
- package/package.json +1 -1
|
@@ -32,7 +32,7 @@ const runExecutor = async (options, context) => {
|
|
|
32
32
|
await (0, ecr_1.ensureEcrAuth)(registry.name, options.isPublicRepository);
|
|
33
33
|
// Build ephemeral sha tag (immutable)
|
|
34
34
|
logger_1.consola.box(`Building and pushing ephemeral image to ${registry.url}/${options.ecrRepository}:${tag}`);
|
|
35
|
-
await (0, docker_1.buildAndPushDockerImage)(options.ecrRepository, projectDockerfile, tag, sanitizedRepoUrl, commitSha, registry.url, [], context.projectName, options.
|
|
35
|
+
await (0, docker_1.buildAndPushDockerImage)(options.ecrRepository, projectDockerfile, tag, sanitizedRepoUrl, commitSha, registry.url, [], context.projectName, options.buildArgs);
|
|
36
36
|
return { success: true };
|
|
37
37
|
};
|
|
38
38
|
exports.default = runExecutor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../src/executors/docker-build/executor.ts"],"names":[],"mappings":";;AAAA,8BAA6B;AAI7B,gDAI+B;AAC/B,sDAGkC;AAClC,sDAAmD;AACnD,+CAA4D;AAG5D,MAAM,WAAW,GAGyB,KAAK,EAC7C,OAAmC,EACnC,OAAwB,EACxB,EAAE;IACF,MAAM,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;IAC7E,MAAM,iBAAiB,GAAG,GAAG,WAAW,aAAa,CAAA;IAErD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACtC,gBAAO,CAAC,IAAI,CAAC,2BAA2B,iBAAiB,YAAY,CAAC,CAAA;QACtE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAC1B,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QAC3B,gBAAO,CAAC,KAAK,CACX,qGAAqG,CACtG,CAAA;QACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;IAC3B,CAAC;IAED,MAAM,QAAQ,GAAgB;QAC5B,GAAG,EAAE,OAAO,CAAC,kBAAkB;YAC7B,CAAC,CAAC,uBAAuB;YACzB,CAAC,CAAC,IAAA,uBAAiB,GAAE;QACvB,IAAI,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAA,uBAAiB,GAAE;KAC1E,CAAA;IAED,MAAM,SAAS,GAAG,MAAM,IAAA,+BAAsB,GAAE,CAAA;IAChD,MAAM,gBAAgB,GAAG,MAAM,IAAA,sCAA6B,GAAE,CAAA;IAC9D,MAAM,GAAG,GAAG,iBAAiB,SAAS,EAAE,CAAA;IAExC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,gBAAO,CAAC,GAAG,CACT,gDAAgD,iBAAiB,gBAAgB,OAAO,CAAC,aAAa,aAAa,GAAG,2BAA2B,CAClJ,CAAA;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAC1B,CAAC;IAED,MAAM,IAAA,mBAAa,EAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAA;IAE9D,sCAAsC;IACtC,gBAAO,CAAC,GAAG,CACT,2CAA2C,QAAQ,CAAC,GAAG,IAAI,OAAO,CAAC,aAAa,IAAI,GAAG,EAAE,CAC1F,CAAA;IAED,MAAM,IAAA,gCAAuB,EAC3B,OAAO,CAAC,aAAa,EACrB,iBAAiB,EACjB,GAAG,EACH,gBAAgB,EAChB,SAAS,EACT,QAAQ,CAAC,GAAG,EACZ,EAAE,EACF,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../src/executors/docker-build/executor.ts"],"names":[],"mappings":";;AAAA,8BAA6B;AAI7B,gDAI+B;AAC/B,sDAGkC;AAClC,sDAAmD;AACnD,+CAA4D;AAG5D,MAAM,WAAW,GAGyB,KAAK,EAC7C,OAAmC,EACnC,OAAwB,EACxB,EAAE;IACF,MAAM,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;IAC7E,MAAM,iBAAiB,GAAG,GAAG,WAAW,aAAa,CAAA;IAErD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACtC,gBAAO,CAAC,IAAI,CAAC,2BAA2B,iBAAiB,YAAY,CAAC,CAAA;QACtE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAC1B,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QAC3B,gBAAO,CAAC,KAAK,CACX,qGAAqG,CACtG,CAAA;QACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;IAC3B,CAAC;IAED,MAAM,QAAQ,GAAgB;QAC5B,GAAG,EAAE,OAAO,CAAC,kBAAkB;YAC7B,CAAC,CAAC,uBAAuB;YACzB,CAAC,CAAC,IAAA,uBAAiB,GAAE;QACvB,IAAI,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAA,uBAAiB,GAAE;KAC1E,CAAA;IAED,MAAM,SAAS,GAAG,MAAM,IAAA,+BAAsB,GAAE,CAAA;IAChD,MAAM,gBAAgB,GAAG,MAAM,IAAA,sCAA6B,GAAE,CAAA;IAC9D,MAAM,GAAG,GAAG,iBAAiB,SAAS,EAAE,CAAA;IAExC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,gBAAO,CAAC,GAAG,CACT,gDAAgD,iBAAiB,gBAAgB,OAAO,CAAC,aAAa,aAAa,GAAG,2BAA2B,CAClJ,CAAA;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAC1B,CAAC;IAED,MAAM,IAAA,mBAAa,EAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAA;IAE9D,sCAAsC;IACtC,gBAAO,CAAC,GAAG,CACT,2CAA2C,QAAQ,CAAC,GAAG,IAAI,OAAO,CAAC,aAAa,IAAI,GAAG,EAAE,CAC1F,CAAA;IAED,MAAM,IAAA,gCAAuB,EAC3B,OAAO,CAAC,aAAa,EACrB,iBAAiB,EACjB,GAAG,EACH,gBAAgB,EAChB,SAAS,EACT,QAAQ,CAAC,GAAG,EACZ,EAAE,EACF,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,SAAS,CAClB,CAAA;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;AAC1B,CAAC,CAAA;AAED,kBAAe,WAAW,CAAA"}
|
|
@@ -19,11 +19,6 @@
|
|
|
19
19
|
"description": "Do not build/push, only print what would happen",
|
|
20
20
|
"default": false
|
|
21
21
|
},
|
|
22
|
-
"disableEcrCaching": {
|
|
23
|
-
"type": "boolean",
|
|
24
|
-
"description": "Disable ECR caching",
|
|
25
|
-
"default": false
|
|
26
|
-
},
|
|
27
22
|
"buildArgs": {
|
|
28
23
|
"type": "string",
|
|
29
24
|
"description": "Build arguments to pass to Docker build",
|
|
@@ -47,7 +47,7 @@ async function publishDocker(options, context, version, projectRoot, isDryRun =
|
|
|
47
47
|
}
|
|
48
48
|
else {
|
|
49
49
|
logger_1.consola.start('Building and pushing docker image from scratch');
|
|
50
|
-
await (0, docker_1.buildAndPushDockerImage)(options.ecrRepository, projectDockerfile, version, sanitizedRepoUrl, commitSha, registry.url, extraTags, appName, options.
|
|
50
|
+
await (0, docker_1.buildAndPushDockerImage)(options.ecrRepository, projectDockerfile, version, sanitizedRepoUrl, commitSha, registry.url, extraTags, appName, options.buildArgs);
|
|
51
51
|
logger_1.consola.success('Docker image built and pushed successfully!');
|
|
52
52
|
}
|
|
53
53
|
if (!version.includes('ephemeral')) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker.js","sourceRoot":"","sources":["../../../../src/executors/publisher/docker.ts"],"names":[],"mappings":";;AAoBA,
|
|
1
|
+
{"version":3,"file":"docker.js","sourceRoot":"","sources":["../../../../src/executors/publisher/docker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../src/executors/publisher/executor.ts"],"names":[],"mappings":";;AAIA,sDAAmD;AACnD,8CAAqD;AACrD,qCAAwC;AACxC,yCAA4C;AAC5C,iCAAoC;AACpC,qCAAwC;AAGxC,MAAM,WAAW,GAGuB,KAAK,EAC3C,OAAiC,EACjC,OAAwB,EACxB,EAAE;IACF,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM,IAAI,OAAO,CAAC,MAAM,IAAI,KAAK,CAAA;IAC7E,MAAM,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;IAC7E,MAAM,WAAW,GAAG,MAAM,IAAA,kBAAa,EAAC,OAAO,CAAC,CAAA;IAEhD,6EAA6E;IAC7E,MAAM,WAAW,GAAgB,OAAO,EAAE,oBAAoB,CAAA;IAC9D,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAA;IACH,CAAC;IAED,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IACvE,gBAAO,CAAC,KAAK,CACX,cAAc,OAAO,CAAC,WAAW,SAAS,cAAc,OAAO,UAAU,EAAE,CAC5E,CAAA;IAED,MAAM,IAAA,sBAAa,EAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../src/executors/publisher/executor.ts"],"names":[],"mappings":";;AAIA,sDAAmD;AACnD,8CAAqD;AACrD,qCAAwC;AACxC,yCAA4C;AAC5C,iCAAoC;AACpC,qCAAwC;AAGxC,MAAM,WAAW,GAGuB,KAAK,EAC3C,OAAiC,EACjC,OAAwB,EACxB,EAAE;IACF,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM,IAAI,OAAO,CAAC,MAAM,IAAI,KAAK,CAAA;IAC7E,MAAM,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;IAC7E,MAAM,WAAW,GAAG,MAAM,IAAA,kBAAa,EAAC,OAAO,CAAC,CAAA;IAEhD,6EAA6E;IAC7E,MAAM,WAAW,GAAgB,OAAO,EAAE,oBAAoB,CAAA;IAC9D,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAA;IACH,CAAC;IAED,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IACvE,gBAAO,CAAC,KAAK,CACX,cAAc,OAAO,CAAC,WAAW,SAAS,cAAc,OAAO,UAAU,EAAE,CAC5E,CAAA;IAED,MAAM,IAAA,sBAAa,EAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;IAExE,MAAM,IAAA,kBAAW,EACf,OAAO,EACP,OAAO,EACP,UAAU,EACV,WAAW,EACX,WAAW,EACX,QAAQ,CACT,CAAA;IACD,MAAM,IAAA,sBAAa,EACjB,OAAO,EACP,OAAO,EACP,UAAU,EACV,WAAW,EACX,WAAW,EACX,QAAQ,CACT,CAAA;IACD,MAAM,IAAA,0BAAe,EACnB,OAAO,EACP,OAAO,EACP,UAAU,EACV,WAAW,EACX,WAAW,EACX,QAAQ,CACT,CAAA;IAED,OAAO;QACL,OAAO,EAAE,IAAI;KACd,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,WAAW,CAAA"}
|
|
@@ -4,6 +4,7 @@ exports.publishLambda = publishLambda;
|
|
|
4
4
|
const path_1 = require("path");
|
|
5
5
|
const aws_auth_1 = require("../../utils/common/aws-auth");
|
|
6
6
|
const ecr_1 = require("../../utils/common/ecr");
|
|
7
|
+
const enums_1 = require("../../utils/common/enums");
|
|
7
8
|
const github_1 = require("../../utils/common/github");
|
|
8
9
|
const logger_1 = require("../../utils/common/logger");
|
|
9
10
|
const oci_1 = require("../../utils/common/oci");
|
|
@@ -59,24 +60,26 @@ async function publishLambda(options, context, version, projectRoot, projectDist
|
|
|
59
60
|
}
|
|
60
61
|
}
|
|
61
62
|
if (isDryRun) {
|
|
62
|
-
logger_1.consola.box(`Would have published lambda
|
|
63
|
+
logger_1.consola.box(`Would have published lambda function version ${version} for project ${context.projectName} but --dry-run is enabled`);
|
|
63
64
|
return;
|
|
64
65
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
66
|
+
if (!options.artifactTypes.includes(enums_1.ArtifactType.DOCKER)) {
|
|
67
|
+
await (0, aws_auth_1.checkAwsAuth)();
|
|
68
|
+
logger_1.consola.box(`Publishing the lambda artefact ${zipFileNameS3}`);
|
|
69
|
+
logger_1.consola.info(`Zipping ${zipName} from ${projectDist}`);
|
|
70
|
+
await (0, lambda_1.createZip)(projectDist, zipName);
|
|
71
|
+
const zipPath = (0, path_1.join)(projectDist, zipName);
|
|
72
|
+
logger_1.consola.info(`Uploading ${zipPath} to S3 at ${zipFileNameS3}`);
|
|
73
|
+
await (0, s3_1.pushToS3)(zipPath, zipFileNameS3);
|
|
74
|
+
logger_1.consola.success(`Lambda artefact successfully pushed to S3 at ${zipFileNameS3}`);
|
|
75
|
+
}
|
|
76
|
+
// When we create the spacelift stack, we also run the smoke tests so we should not publish to ECR if the tests fails
|
|
73
77
|
logger_1.consola.box(`Creating new Lambda version and running smoke tests`);
|
|
74
78
|
await (0, publish_1.createLambdaVersion)(options.lambdaStacks, options.lambdaFunctions, version, options.lambdaHealthCheckPayload);
|
|
75
79
|
const packageJsonPath = (0, path_1.join)(projectDist, 'package.json');
|
|
76
|
-
logger_1.consola.info(`Pushing
|
|
80
|
+
logger_1.consola.info(`Pushing OCI Artifact to ECR ${(0, ecr_1.getAwsEcrRegistry)()}/${options.lambdaOciRepository}:${version}`);
|
|
77
81
|
await (0, aws_auth_1.loginToEcr)((0, ecr_1.getAwsEcrRegistry)());
|
|
78
82
|
await (0, oci_1.pushImageToEcr)(options.lambdaOciRepository, version, packageJsonPath, 'lambda', (0, ecr_1.getAwsEcrRegistry)());
|
|
79
|
-
logger_1.consola.success(
|
|
80
|
-
logger_1.consola.success(`Lambda version ${version} successfully created and smoke tests passed, you're lambda is ready to be promoted in Kargo !`);
|
|
83
|
+
logger_1.consola.success(`Lambda version ${version} successfully created and smoke tests passed, your lambda is ready to be promoted in Kargo !`);
|
|
81
84
|
}
|
|
82
85
|
//# sourceMappingURL=lambda.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lambda.js","sourceRoot":"","sources":["../../../../src/executors/publisher/lambda.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"lambda.js","sourceRoot":"","sources":["../../../../src/executors/publisher/lambda.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { VersionData } from 'nx/src/command-line/release/utils/shared';
|
|
2
|
+
import { ArtifactType } from '../../utils/common/enums';
|
|
3
|
+
export interface PublisherExecutorSchema {
|
|
4
|
+
}
|
|
5
|
+
export interface PublisherExecutorOptions {
|
|
6
|
+
nxReleaseVersionData?: VersionData;
|
|
7
|
+
chartRegistry?: string;
|
|
8
|
+
ecrRepository?: string;
|
|
9
|
+
chartOciRegistry?: string;
|
|
10
|
+
isPublicRegistry?: boolean;
|
|
11
|
+
helmChartFolder?: string;
|
|
12
|
+
extraReleaseTags?: string[];
|
|
13
|
+
dryRun?: boolean;
|
|
14
|
+
lambdaOciRepository?: string;
|
|
15
|
+
lambdaBucket?: string;
|
|
16
|
+
lambdaStacks?: string[];
|
|
17
|
+
lambdaFunctions?: string[];
|
|
18
|
+
lambdaHealthCheckPayload?: string;
|
|
19
|
+
frontendArtifactsBucketName?: string;
|
|
20
|
+
frontendOciRepository?: string;
|
|
21
|
+
frontendFilesWithoutCache?: string[];
|
|
22
|
+
frontendFoldersWithoutCache?: string[];
|
|
23
|
+
buildArgs?: string;
|
|
24
|
+
tflintConfigFile?: string;
|
|
25
|
+
artifactTypes: ArtifactType[];
|
|
26
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../src/executors/publisher/schema.ts"],"names":[],"mappings":""}
|
|
@@ -13,11 +13,6 @@
|
|
|
13
13
|
"type": "string",
|
|
14
14
|
"description": "The docker registry"
|
|
15
15
|
},
|
|
16
|
-
"disableEcrCaching": {
|
|
17
|
-
"type": "boolean",
|
|
18
|
-
"description": "Disable ECR caching",
|
|
19
|
-
"default": false
|
|
20
|
-
},
|
|
21
16
|
"chartOciRegistry": {
|
|
22
17
|
"type": "string",
|
|
23
18
|
"description": "The docker registry in oci format (AWS ECR)"
|
|
@@ -17,7 +17,6 @@ const runExecutor = async (options, context) => {
|
|
|
17
17
|
const isPreRelease = options?.preRelease != null
|
|
18
18
|
? options.preRelease
|
|
19
19
|
: branchName != 'main' && branchName != 'master';
|
|
20
|
-
const specifier = isPreRelease ? 'prerelease' : options.specifier;
|
|
21
20
|
if (isPreRelease)
|
|
22
21
|
logger_1.consola.warn('This is an ephemeral release');
|
|
23
22
|
if (!isPreRelease) {
|
|
@@ -28,7 +27,6 @@ const runExecutor = async (options, context) => {
|
|
|
28
27
|
const { workspaceVersion, projectsVersionData } = await (0, release_1.releaseVersion)({
|
|
29
28
|
dryRun,
|
|
30
29
|
verbose: options.verbose,
|
|
31
|
-
specifier,
|
|
32
30
|
groups: options.groups,
|
|
33
31
|
preid: isPreRelease
|
|
34
32
|
? `ephemeral-${branchName.substring(0, 100)}`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../src/executors/release/executor.ts"],"names":[],"mappings":";;AACA,wCAA6E;AAE7E,0DAGoC;AACpC,sDAGkC;AAClC,sDAAmD;AACnD,gDAAkD;AAGlD,MAAM,WAAW,GAGqB,KAAK,EACzC,OAA+B,EAC/B,OAAwB,EACxB,EAAE;IACF,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM,IAAI,OAAO,CAAC,MAAM,IAAI,KAAK,CAAA;IAE3E,IAAI,IAAA,2BAAgB,GAAE,EAAE,CAAC;QACvB,gBAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAA;QACzD,MAAM,IAAA,8BAAmB,GAAE,CAAA;QAC3B,MAAM,IAAA,eAAS,GAAE,CAAA;QACjB,gBAAO,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAA;IACxD,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,IAAA,qCAA4B,GAAE,CAAA;IAEvD,MAAM,YAAY,GAChB,OAAO,EAAE,UAAU,IAAI,IAAI;QACzB,CAAC,CAAC,OAAO,CAAC,UAAU;QACpB,CAAC,CAAC,UAAU,IAAI,MAAM,IAAI,UAAU,IAAI,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../src/executors/release/executor.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { CreateNodesContextV2, CreateNodesV2 } from '@nx/devkit';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export declare
|
|
5
|
-
export declare function createNodesInternal(configFilePath: string, options: MyPluginOptions, context: CreateNodesContextV2): Promise<{
|
|
2
|
+
import { PublisherExecutorOptions } from './executors/publisher/schema';
|
|
3
|
+
export declare const createNodesV2: CreateNodesV2<PublisherExecutorOptions>;
|
|
4
|
+
export declare function createNodesInternal(configFilePath: string, options: PublisherExecutorOptions, _context: CreateNodesContextV2): Promise<{
|
|
6
5
|
projects: {
|
|
7
6
|
[x: string]: {
|
|
8
7
|
targets: {};
|
package/dist/src/index.js
CHANGED
|
@@ -2,119 +2,78 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.pushImageToEcr = exports.loginToEcr = exports.createNodesV2 = void 0;
|
|
4
4
|
exports.createNodesInternal = createNodesInternal;
|
|
5
|
-
const fs_1 = require("fs");
|
|
6
5
|
const path_1 = require("path");
|
|
7
6
|
const devkit_1 = require("@nx/devkit");
|
|
7
|
+
const enums_1 = require("./utils/common/enums");
|
|
8
|
+
const logger_1 = require("./utils/common/logger");
|
|
9
|
+
const nx_1 = require("./utils/common/nx");
|
|
8
10
|
exports.createNodesV2 = [
|
|
9
11
|
'**/project.json',
|
|
10
12
|
async (configFiles, options, context) => {
|
|
11
13
|
return await (0, devkit_1.createNodesFromFiles)((configFile, options, context) => createNodesInternal(configFile, options, context), configFiles, options, context);
|
|
12
14
|
},
|
|
13
15
|
];
|
|
14
|
-
async function createNodesInternal(configFilePath, options,
|
|
16
|
+
async function createNodesInternal(configFilePath, options, _context) {
|
|
15
17
|
const projectConfiguration = (0, devkit_1.readJsonFile)(configFilePath);
|
|
16
18
|
const projectRoot = (0, path_1.dirname)(configFilePath);
|
|
17
|
-
const
|
|
18
|
-
projectConfiguration.metadata &&
|
|
19
|
-
projectConfiguration.metadata['ecrRepository'];
|
|
20
|
-
// Get the Helm chart folder from metadata, default to .deploy
|
|
21
|
-
const helmChartFolder = projectConfiguration?.metadata?.['helmChartFolder'] || '.deploy';
|
|
22
|
-
const isHelmProject = (0, fs_1.existsSync)((0, path_1.join)(projectRoot, helmChartFolder, 'Chart.yaml'));
|
|
23
|
-
const isLambdaProject = !!(projectConfiguration.metadata &&
|
|
24
|
-
projectConfiguration.metadata['lambdaFunctions']);
|
|
25
|
-
const isFrontendProject = !!(projectConfiguration.metadata &&
|
|
26
|
-
projectConfiguration.metadata['frontendArtifactsBucketName']);
|
|
27
|
-
const isTfModuleProject = (0, fs_1.existsSync)((0, path_1.join)(projectRoot, '.spacelift/config.yml')) &&
|
|
28
|
-
(0, fs_1.existsSync)((0, path_1.join)(projectRoot, 'main.tf'));
|
|
19
|
+
const artifactTypes = (0, nx_1.getProjectArtifactTypes)(projectRoot, projectConfiguration);
|
|
29
20
|
const targets = {};
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
? projectConfiguration.metadata &&
|
|
71
|
-
projectConfiguration.metadata['lambdaOciRepository']
|
|
72
|
-
? projectConfiguration.metadata['lambdaOciRepository']
|
|
73
|
-
: projectConfiguration.metadata['lambdaFunctions'][0]
|
|
74
|
-
: undefined;
|
|
75
|
-
const frontendArtifactsBucketName = isFrontendProject
|
|
76
|
-
? projectConfiguration.metadata &&
|
|
77
|
-
projectConfiguration.metadata['frontendArtifactsBucketName']
|
|
78
|
-
: undefined;
|
|
79
|
-
const frontendFilesWithoutCache = isFrontendProject
|
|
80
|
-
? projectConfiguration.metadata &&
|
|
81
|
-
projectConfiguration.metadata['frontendFilesWithoutCache']
|
|
82
|
-
: undefined;
|
|
83
|
-
const frontendFoldersWithoutCache = isFrontendProject
|
|
84
|
-
? projectConfiguration.metadata &&
|
|
85
|
-
projectConfiguration.metadata['frontendFoldersWithoutCache']
|
|
86
|
-
: undefined;
|
|
87
|
-
const frontendOciRepository = isFrontendProject
|
|
88
|
-
? projectConfiguration.metadata &&
|
|
89
|
-
projectConfiguration.metadata['frontendOciRepository']
|
|
90
|
-
: undefined;
|
|
91
|
-
const tflintConfigFile = isTfModuleProject
|
|
92
|
-
? projectConfiguration.metadata &&
|
|
93
|
-
projectConfiguration.metadata['tflintConfigFile']
|
|
94
|
-
? projectConfiguration.metadata['tflintConfigFile']
|
|
95
|
-
: (0, path_1.join)((0, devkit_1.offsetFromRoot)(projectRoot), '.tflint.hcl')
|
|
96
|
-
: undefined;
|
|
21
|
+
// Spread metadata directly into options
|
|
22
|
+
options = {
|
|
23
|
+
...options,
|
|
24
|
+
...(projectConfiguration.metadata || {}),
|
|
25
|
+
artifactTypes: artifactTypes,
|
|
26
|
+
};
|
|
27
|
+
console.log(options);
|
|
28
|
+
// Derive project capability flags from enum
|
|
29
|
+
const isDockerProject = artifactTypes.includes(enums_1.ArtifactType.DOCKER);
|
|
30
|
+
const isLambdaProject = artifactTypes.includes(enums_1.ArtifactType.LAMBDA);
|
|
31
|
+
const isFrontendProject = artifactTypes.includes(enums_1.ArtifactType.FRONTEND);
|
|
32
|
+
const isTfModuleProject = artifactTypes.includes(enums_1.ArtifactType.TERRAFORM_MODULE);
|
|
33
|
+
const isHelmProject = artifactTypes.includes(enums_1.ArtifactType.HELM);
|
|
34
|
+
// Handle computed values that need special logic
|
|
35
|
+
if (isHelmProject) {
|
|
36
|
+
// Resolve Helm chart folder with fallback
|
|
37
|
+
options.helmChartFolder =
|
|
38
|
+
(typeof options.helmChartFolder === 'string' &&
|
|
39
|
+
options.helmChartFolder.trim()) ||
|
|
40
|
+
'.deploy';
|
|
41
|
+
}
|
|
42
|
+
if (isDockerProject) {
|
|
43
|
+
options.isPublicRegistry = options.isPublicRegistry === true;
|
|
44
|
+
}
|
|
45
|
+
if (isLambdaProject) {
|
|
46
|
+
// Docker based Lambdas should have both ECR and OCI repository defined
|
|
47
|
+
if (options.artifactTypes.includes(enums_1.ArtifactType.DOCKER) &&
|
|
48
|
+
!options.lambdaOciRepository) {
|
|
49
|
+
logger_1.consola.error(`Project ${projectConfiguration.name} is missing lambdaOciRepository metadata.`);
|
|
50
|
+
throw new Error('Missing lambdaOciRepository metadata');
|
|
51
|
+
}
|
|
52
|
+
// Fallback for lambdaOciRepository for ZIP lambda
|
|
53
|
+
if (!options.lambdaOciRepository && options.lambdaFunctions?.[0]) {
|
|
54
|
+
options.lambdaOciRepository = options.lambdaFunctions[0];
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
// Computed: tflintConfigFile with fallback
|
|
58
|
+
if (isTfModuleProject && !options.tflintConfigFile) {
|
|
59
|
+
options.tflintConfigFile = (0, path_1.join)((0, devkit_1.offsetFromRoot)(projectRoot), '.tflint.hcl');
|
|
60
|
+
}
|
|
97
61
|
const isRootProject = projectRoot === '.';
|
|
98
62
|
let release = null;
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
isFrontendProject) {
|
|
63
|
+
// Create targets for projects with deployable artifacts (Docker/Lambda/Frontend/Helm)
|
|
64
|
+
if (artifactTypes.length > 0 &&
|
|
65
|
+
!artifactTypes.includes(enums_1.ArtifactType.TERRAFORM_MODULE)) {
|
|
103
66
|
const publisherConfig = (0, devkit_1.readJsonFile)((0, path_1.join)(__dirname, '/executors/publisher/schema.json'));
|
|
104
67
|
if (isDockerProject) {
|
|
105
68
|
const dockerBuildConfig = (0, devkit_1.readJsonFile)((0, path_1.join)(__dirname, '/executors/docker-build/schema.json'));
|
|
106
|
-
targets[isPublicRegistry ? 'docker-build-public' : 'docker-build'] = {
|
|
69
|
+
targets[options.isPublicRegistry ? 'docker-build-public' : 'docker-build'] = {
|
|
107
70
|
executor: '@payfit/nx-core:docker-build',
|
|
108
71
|
cache: false,
|
|
109
72
|
// Inputs kept explicit to ensure correct affected graph and hashing,
|
|
110
73
|
// while still avoiding remote cache replay of side-effects.
|
|
111
74
|
inputs: ['production', '^production'],
|
|
112
75
|
outputs: [],
|
|
113
|
-
options
|
|
114
|
-
ecrRepository: ecrRepository,
|
|
115
|
-
isPublicRepository: isPublicRegistry,
|
|
116
|
-
disableEcrCaching,
|
|
117
|
-
},
|
|
76
|
+
options,
|
|
118
77
|
metadata: {
|
|
119
78
|
technologies: ['docker'],
|
|
120
79
|
description: dockerBuildConfig?.description,
|
|
@@ -125,24 +84,7 @@ async function createNodesInternal(configFilePath, options, context) {
|
|
|
125
84
|
// infer the custom publisher target to handle publishing docker & helm artefacts
|
|
126
85
|
executor: '@payfit/nx-core:publisher',
|
|
127
86
|
cache: false,
|
|
128
|
-
options
|
|
129
|
-
ecrRepository,
|
|
130
|
-
disableEcrCaching,
|
|
131
|
-
chartRegistry,
|
|
132
|
-
chartOciRegistry,
|
|
133
|
-
isPublicRegistry,
|
|
134
|
-
helmChartFolder,
|
|
135
|
-
extraReleaseTags,
|
|
136
|
-
lambdaBucket,
|
|
137
|
-
lambdaStacks,
|
|
138
|
-
lambdaFunctions,
|
|
139
|
-
lambdaHealthCheckPayload,
|
|
140
|
-
lambdaOciRepository,
|
|
141
|
-
frontendArtifactsBucketName,
|
|
142
|
-
frontendFilesWithoutCache,
|
|
143
|
-
frontendFoldersWithoutCache,
|
|
144
|
-
frontendOciRepository,
|
|
145
|
-
},
|
|
87
|
+
options,
|
|
146
88
|
metadata: {
|
|
147
89
|
technologies: ['helm', 'docker', 'lambda', 'frontend'],
|
|
148
90
|
description: publisherConfig.description,
|
|
@@ -176,11 +118,8 @@ async function createNodesInternal(configFilePath, options, context) {
|
|
|
176
118
|
},
|
|
177
119
|
};
|
|
178
120
|
}
|
|
179
|
-
if (
|
|
180
|
-
|
|
181
|
-
!isHelmProject &&
|
|
182
|
-
!isLambdaProject &&
|
|
183
|
-
!isFrontendProject) {
|
|
121
|
+
if (artifactTypes.length == 1 &&
|
|
122
|
+
artifactTypes[0] == enums_1.ArtifactType.TERRAFORM_MODULE) {
|
|
184
123
|
targets['tofu-format'] = {
|
|
185
124
|
executor: 'nx:run-commands',
|
|
186
125
|
cache: false,
|
|
@@ -220,7 +159,7 @@ async function createNodesInternal(configFilePath, options, context) {
|
|
|
220
159
|
parallel: false,
|
|
221
160
|
},
|
|
222
161
|
env: {
|
|
223
|
-
TFLINT_CONFIG_FILE: tflintConfigFile,
|
|
162
|
+
TFLINT_CONFIG_FILE: options.tflintConfigFile,
|
|
224
163
|
},
|
|
225
164
|
metadata: {
|
|
226
165
|
technologies: ['tofu'],
|
|
@@ -232,7 +171,7 @@ async function createNodesInternal(configFilePath, options, context) {
|
|
|
232
171
|
cache: false,
|
|
233
172
|
metadata: {
|
|
234
173
|
technologies: ['tofu'],
|
|
235
|
-
description: 'No release publish',
|
|
174
|
+
description: 'No release publish, Spacelift handles it from the Git tag',
|
|
236
175
|
},
|
|
237
176
|
};
|
|
238
177
|
if (!projectConfiguration?.release?.version
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ArtifactType = void 0;
|
|
4
|
+
var ArtifactType;
|
|
5
|
+
(function (ArtifactType) {
|
|
6
|
+
ArtifactType["DOCKER"] = "docker";
|
|
7
|
+
ArtifactType["LAMBDA"] = "lambda";
|
|
8
|
+
ArtifactType["FRONTEND"] = "frontend";
|
|
9
|
+
ArtifactType["TERRAFORM_MODULE"] = "terraform module";
|
|
10
|
+
ArtifactType["HELM"] = "helm chart";
|
|
11
|
+
})(ArtifactType || (exports.ArtifactType = ArtifactType = {}));
|
|
12
|
+
//# sourceMappingURL=enums.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../../src/utils/common/enums.ts"],"names":[],"mappings":";;;AAAA,IAAY,YAMX;AAND,WAAY,YAAY;IACtB,iCAAiB,CAAA;IACjB,iCAAiB,CAAA;IACjB,qCAAqB,CAAA;IACrB,qDAAqC,CAAA;IACrC,mCAAmB,CAAA;AACrB,CAAC,EANW,YAAY,4BAAZ,YAAY,QAMvB"}
|
|
@@ -1,2 +1,4 @@
|
|
|
1
|
-
import { ExecutorContext } from '@nx/devkit';
|
|
1
|
+
import { ExecutorContext, ProjectConfiguration } from '@nx/devkit';
|
|
2
|
+
import { ArtifactType } from './enums';
|
|
2
3
|
export declare function getDistForApp(context: ExecutorContext): Promise<string>;
|
|
4
|
+
export declare function getProjectArtifactTypes(projectRoot: string, projectConfiguration: ProjectConfiguration): ArtifactType[] | undefined;
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getDistForApp = getDistForApp;
|
|
4
|
+
exports.getProjectArtifactTypes = getProjectArtifactTypes;
|
|
5
|
+
const fs_1 = require("fs");
|
|
4
6
|
const fs = require("node:fs");
|
|
5
7
|
const path_1 = require("path");
|
|
6
8
|
const devkit_1 = require("@nx/devkit");
|
|
7
9
|
const utils_1 = require("nx/src/tasks-runner/utils");
|
|
10
|
+
const enums_1 = require("./enums");
|
|
8
11
|
async function getDistForApp(context) {
|
|
9
12
|
const target = (0, devkit_1.parseTargetString)('build', context);
|
|
10
13
|
const project = context.projectGraph.nodes[target.project].data;
|
|
@@ -38,4 +41,26 @@ function normalizeOutputPath(outputPath) {
|
|
|
38
41
|
}
|
|
39
42
|
return outputPath;
|
|
40
43
|
}
|
|
44
|
+
function getProjectArtifactTypes(projectRoot, projectConfiguration) {
|
|
45
|
+
const isDockerProject = fs.existsSync((0, path_1.join)(projectRoot, 'Dockerfile')) &&
|
|
46
|
+
!!projectConfiguration?.metadata?.['ecrRepository'];
|
|
47
|
+
const isLambdaProject = !!projectConfiguration?.metadata?.lambdaFunctions &&
|
|
48
|
+
projectConfiguration?.metadata?.lambdaFunctions.length > 0;
|
|
49
|
+
const isFrontendProject = !!projectConfiguration?.metadata?.frontendArtifactsBucketName;
|
|
50
|
+
const isTfModuleProject = fs.existsSync((0, path_1.join)(projectRoot, '.spacelift/config.yml')) &&
|
|
51
|
+
fs.existsSync((0, path_1.join)(projectRoot, 'main.tf'));
|
|
52
|
+
const isHelmProject = (0, fs_1.existsSync)((0, path_1.join)(projectRoot, projectConfiguration?.metadata?.helmChartFolder || '.deploy', 'Chart.yaml'));
|
|
53
|
+
const artifactTypes = [];
|
|
54
|
+
if (isLambdaProject)
|
|
55
|
+
artifactTypes.push(enums_1.ArtifactType.LAMBDA);
|
|
56
|
+
if (isDockerProject)
|
|
57
|
+
artifactTypes.push(enums_1.ArtifactType.DOCKER);
|
|
58
|
+
if (isFrontendProject)
|
|
59
|
+
artifactTypes.push(enums_1.ArtifactType.FRONTEND);
|
|
60
|
+
if (isTfModuleProject)
|
|
61
|
+
artifactTypes.push(enums_1.ArtifactType.TERRAFORM_MODULE);
|
|
62
|
+
if (isHelmProject)
|
|
63
|
+
artifactTypes.push(enums_1.ArtifactType.HELM);
|
|
64
|
+
return artifactTypes.length > 0 ? artifactTypes : [];
|
|
65
|
+
}
|
|
41
66
|
//# sourceMappingURL=nx.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nx.js","sourceRoot":"","sources":["../../../../src/utils/common/nx.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"nx.js","sourceRoot":"","sources":["../../../../src/utils/common/nx.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,8 +10,7 @@ import { Result } from 'tinyexec';
|
|
|
10
10
|
* @param registry - Docker registry URL
|
|
11
11
|
* @param extraTags - Optional additional tags for the image
|
|
12
12
|
* @param appName
|
|
13
|
-
* @param disableEcrCache
|
|
14
13
|
* @param buildArgs - Optional build arguments for the Docker build
|
|
15
14
|
* @return {Promise<Result>}
|
|
16
15
|
*/
|
|
17
|
-
export declare function buildAndPushDockerImage(imageName: string, dockerfilePath: string, version: string, gitRepoUrl: string, commitSha: string, registry: string, extraTags: string[], appName: string,
|
|
16
|
+
export declare function buildAndPushDockerImage(imageName: string, dockerfilePath: string, version: string, gitRepoUrl: string, commitSha: string, registry: string, extraTags: string[], appName: string, buildArgs?: string): Promise<Result>;
|
package/dist/src/utils/docker.js
CHANGED
|
@@ -44,11 +44,10 @@ async function setupDockerBuilder(appName) {
|
|
|
44
44
|
* @param registry - Docker registry URL
|
|
45
45
|
* @param extraTags - Optional additional tags for the image
|
|
46
46
|
* @param appName
|
|
47
|
-
* @param disableEcrCache
|
|
48
47
|
* @param buildArgs - Optional build arguments for the Docker build
|
|
49
48
|
* @return {Promise<Result>}
|
|
50
49
|
*/
|
|
51
|
-
async function buildAndPushDockerImage(imageName, dockerfilePath, version, gitRepoUrl, commitSha, registry, extraTags = [], appName,
|
|
50
|
+
async function buildAndPushDockerImage(imageName, dockerfilePath, version, gitRepoUrl, commitSha, registry, extraTags = [], appName, buildArgs = undefined) {
|
|
52
51
|
appName = appName.replaceAll('@', '-').replaceAll('/', '-');
|
|
53
52
|
const buildContextName = await setupDockerBuilder(appName);
|
|
54
53
|
// Build all tags including base version and extra tags
|
|
@@ -62,13 +61,11 @@ async function buildAndPushDockerImage(imageName, dockerfilePath, version, gitRe
|
|
|
62
61
|
const branch = await (0, github_1.getSanitizedCurrentGitBranch)();
|
|
63
62
|
const branchCacheRef = `${registry}/${imageName}:cache-build-${branch}`;
|
|
64
63
|
const mainCacheRef = `${registry}/${imageName}:cache-build-main`;
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
cacheArgParts.push(`--cache-from type=registry,ref=${mainCacheRef}`);
|
|
69
|
-
}
|
|
70
|
-
cacheArgParts.push(`--cache-to type=registry,ref=${branchCacheRef},mode=max`);
|
|
64
|
+
cacheArgParts.push(`--cache-from type=registry,ref=${branchCacheRef}`);
|
|
65
|
+
if (!(await (0, github_1.isDefaultBranch)(branch))) {
|
|
66
|
+
cacheArgParts.push(`--cache-from type=registry,ref=${mainCacheRef}`);
|
|
71
67
|
}
|
|
68
|
+
cacheArgParts.push(`--cache-to type=registry,ref=${branchCacheRef},mode=max`);
|
|
72
69
|
}
|
|
73
70
|
const buildArgsParts = [];
|
|
74
71
|
if (buildArgs) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker.js","sourceRoot":"","sources":["../../../src/utils/docker.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"docker.js","sourceRoot":"","sources":["../../../src/utils/docker.ts"],"names":[],"mappings":";;AA4DA,0DAyEC;AAnID,wCAAoC;AACpC,4CAA+E;AAC/E,4CAAyC;AAEzC,KAAK,UAAU,kBAAkB,CAAC,OAAe;IAC/C,MAAM,qBAAqB,GAAG,yBAAyB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACvE,gBAAO,CAAC,GAAG,CACT,0CAA0C,qBAAqB,KAAK,CACrE,CAAA;IACD,MAAM,cAAc,GAAG,MAAM,IAAA,WAAI,EAAC,kBAAkB,EAAE;QACpD,YAAY,EAAE,IAAI;KACnB,CAAC,CAAA;IACF,MAAM,kBAAkB,GAAG,cAAc,CAAC,MAAM,CAAC,QAAQ,CACvD,qBAAqB,CACtB,CAAA;IACD,MAAM,wBAAwB,GAAG,cAAc,CAAC,MAAM,CAAC,QAAQ,CAC7D,GAAG,qBAAqB,GAAG,CAC5B,CAAA;IACD,gBAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAA;IACvD,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,8BAA8B;QAC9B,gBAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAA;QAC/C,MAAM,IAAA,WAAI,EACR;iBACW,qBAAqB;;cAExB,EACR;YACE,YAAY,EAAE,IAAI;SACnB,CACF,CAAA;IACH,CAAC;SAAM,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACrC,gBAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAA;QAChE,gCAAgC;QAChC,MAAM,IAAA,WAAI,EAAC,qBAAqB,qBAAqB,EAAE,EAAE;YACvD,YAAY,EAAE,IAAI;SACnB,CAAC,CAAA;IACJ,CAAC;IAED,gBAAO,CAAC,IAAI,CAAC,4BAA4B,qBAAqB,EAAE,CAAC,CAAA;IAEjE,OAAO,qBAAqB,CAAA;AAC9B,CAAC;AAED;;;;;;;;;;;;;GAaG;AACI,KAAK,UAAU,uBAAuB,CAC3C,SAAiB,EACjB,cAAsB,EACtB,OAAe,EACf,UAAkB,EAClB,SAAiB,EACjB,QAAgB,EAChB,YAAsB,EAAE,EACxB,OAAe,EACf,YAAoB,SAAS;IAE7B,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAC3D,MAAM,gBAAgB,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAE1D,uDAAuD;IACvD,MAAM,OAAO,GAAG,CAAC,GAAG,OAAO,EAAE,EAAE,GAAG,SAAS,CAAC;SACzC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,QAAQ,IAAI,SAAS,IAAI,GAAG,EAAE,CAAC;SAChD,IAAI,CAAC,GAAG,CAAC,CAAA;IAEZ,0FAA0F;IAC1F,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAA;IACvD,MAAM,aAAa,GAAa,EAAE,CAAA;IAClC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,MAAM,GAAG,MAAM,IAAA,qCAA4B,GAAE,CAAA;QACnD,MAAM,cAAc,GAAG,GAAG,QAAQ,IAAI,SAAS,gBAAgB,MAAM,EAAE,CAAA;QACvE,MAAM,YAAY,GAAG,GAAG,QAAQ,IAAI,SAAS,mBAAmB,CAAA;QAEhE,aAAa,CAAC,IAAI,CAAC,kCAAkC,cAAc,EAAE,CAAC,CAAA;QACtE,IAAI,CAAC,CAAC,MAAM,IAAA,wBAAe,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YACrC,aAAa,CAAC,IAAI,CAAC,kCAAkC,YAAY,EAAE,CAAC,CAAA;QACtE,CAAC;QACD,aAAa,CAAC,IAAI,CAChB,gCAAgC,cAAc,WAAW,CAC1D,CAAA;IACH,CAAC;IAED,MAAM,cAAc,GAAa,EAAE,CAAA;IACnC,IAAI,SAAS,EAAE,CAAC;QACd,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACjC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;YAC/B,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACtB,iBAAiB;gBACjB,MAAM,IAAI,KAAK,CACb,mCAAmC,GAAG,iCAAiC,CACxE,CAAA;YACH,CAAC;YACD,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,KAAK,CAAA;YAC1B,cAAc,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,KAAK,EAAE,CAAC,CAAA;QACpD,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,MAAM,GAAG;QACb,uBAAuB,OAAO,EAAE;QAChC,aAAa,gBAAgB,EAAE;QAC/B,MAAM,cAAc,EAAE;QACtB,uBAAuB;QACvB,QAAQ;QACR,oBAAoB;QACpB,GAAG,aAAa;QAChB,gDAAgD,UAAU,EAAE;QAC5D,kDAAkD,SAAS,EAAE;QAC7D,qCAAqC,UAAU,EAAE;QACjD,iCAAiC,SAAS,EAAE;QAC5C,GAAG,cAAc;QACjB,GAAG;KACJ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAEf,OAAO,IAAA,WAAI,EAAC,MAAM,EAAE;QAClB,YAAY,EAAE,IAAI;QAClB,WAAW,EAAE;YACX,KAAK,EAAE,SAAS;SACjB;KACF,CAAC,CAAA;AACJ,CAAC"}
|