@payfit/nx-core 5.9.4 → 5.10.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/README.md +9 -6
- package/dist/src/executors/publisher/lambda.js +10 -12
- package/dist/src/executors/publisher/lambda.js.map +1 -1
- package/dist/src/executors/publisher/schema.d.ts +2 -2
- package/dist/src/executors/publisher/schema.json +8 -5
- package/dist/src/generators/sync/sync-list-lambda-functions.js +1 -1
- package/dist/src/generators/sync/sync-list-lambda-functions.js.map +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/migrations/20251205-metadata-lambda-function-to-object.d.ts +2 -0
- package/dist/src/migrations/20251205-metadata-lambda-function-to-object.js +28 -0
- package/dist/src/migrations/20251205-metadata-lambda-function-to-object.js.map +1 -0
- package/dist/src/utils/common/types.d.ts +4 -0
- package/dist/src/utils/common/types.js +3 -0
- package/dist/src/utils/common/types.js.map +1 -0
- package/dist/src/utils/lambda/aws-lambda.d.ts +4 -3
- package/dist/src/utils/lambda/aws-lambda.js +11 -11
- package/dist/src/utils/lambda/aws-lambda.js.map +1 -1
- package/dist/src/utils/lambda/publish.d.ts +3 -2
- package/dist/src/utils/lambda/publish.js +3 -3
- package/dist/src/utils/lambda/publish.js.map +1 -1
- package/migrations.json +5 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -83,25 +83,28 @@ When using Lambda functions, you can configure the following parameters in your
|
|
|
83
83
|
```json
|
|
84
84
|
{
|
|
85
85
|
"metadata": {
|
|
86
|
-
"lambdaFunctions": [
|
|
86
|
+
"lambdaFunctions": [
|
|
87
|
+
{
|
|
88
|
+
"name": "your-lambda",
|
|
89
|
+
"healthCheckPayload": "your-lambda-payload-json-string-formatted"
|
|
90
|
+
}
|
|
91
|
+
],
|
|
87
92
|
"lambdaStacks": ["your-lambda-stack"],
|
|
88
93
|
"lambdaBucket": "your-lambda-bucket",
|
|
89
|
-
"lambdaOciRepository": "your-lambda-oci-repository"
|
|
90
|
-
"lambdaHealthCheckPayload": "your-lambda-payload-json-string-formatted"
|
|
94
|
+
"lambdaOciRepository": "your-lambda-oci-repository"
|
|
91
95
|
}
|
|
92
96
|
}
|
|
93
97
|
```
|
|
94
98
|
|
|
95
99
|
These fields are used to:
|
|
96
100
|
|
|
97
|
-
- `lambdaFunctions`: Lambda functions to deploy
|
|
101
|
+
- `lambdaFunctions`: Lambda functions to deploy with their name and healthcheck
|
|
98
102
|
- `lambdaStacks`: Spacelift stacks deploying lambdas
|
|
99
103
|
- `lambdaBucket`: the S3 bucket where Lambda function zip archives are stored
|
|
100
104
|
- `lambdaOciRepository`: the OCI repository used to publish lambda release candidates for Kargo
|
|
101
|
-
- `lambdaHealthCheckPayload`: Payload used for smoke tests invocation
|
|
102
105
|
|
|
103
106
|
If `lambdaBucket` is not specified, the plugin will fall back to the default bucket: `payfit-shared-lambda-artifacts`.
|
|
104
|
-
If `lambdaOciRepository` is not specified, the plugin will fall back to the value of `lambdaFunctions[0]`
|
|
107
|
+
If `lambdaOciRepository` is not specified, the plugin will fall back to the value of `lambdaFunctions[0].name`
|
|
105
108
|
|
|
106
109
|
#### Lambda Detection
|
|
107
110
|
|
|
@@ -41,24 +41,22 @@ async function publishLambda(options, context, version, projectRoot, projectDist
|
|
|
41
41
|
logger_1.consola.info(`No lambda functions provided in project ${context.projectName} no "lambdaFunctions" parameter in project.json metadata, skipping`);
|
|
42
42
|
return;
|
|
43
43
|
}
|
|
44
|
-
if (!options.lambdaStacks) {
|
|
45
|
-
logger_1.consola.error('No lambda spacelift stacks provided, add "lambdaStacks" to your project.json metadata');
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
if (!options.lambdaHealthCheckPayload) {
|
|
49
|
-
logger_1.consola.error('A healthCheck payload should be defined to run smoke test before releasing the lambda', 'Add "lambdaHealthCheckPayload" to your project.json metadata');
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
44
|
else {
|
|
53
|
-
const
|
|
45
|
+
const lambdaPayloads = options.lambdaFunctions.map(lambdaFunction => lambdaFunction.healthCheckPayload);
|
|
54
46
|
try {
|
|
55
|
-
|
|
47
|
+
lambdaPayloads.forEach(payload => {
|
|
48
|
+
JSON.parse(payload);
|
|
49
|
+
});
|
|
56
50
|
}
|
|
57
51
|
catch (error) {
|
|
58
|
-
logger_1.consola.error(`
|
|
52
|
+
logger_1.consola.error(`lambdaHealthCheckPayloads should be a JSON string, got ${lambdaPayloads}`);
|
|
59
53
|
return;
|
|
60
54
|
}
|
|
61
55
|
}
|
|
56
|
+
if (!options.lambdaStacks) {
|
|
57
|
+
logger_1.consola.error('No lambda spacelift stacks provided, add "lambdaStacks" to your project.json metadata');
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
62
60
|
if (isDryRun) {
|
|
63
61
|
logger_1.consola.box(`Would have published lambda function version ${version} for project ${context.projectName} but --dry-run is enabled`);
|
|
64
62
|
return;
|
|
@@ -77,7 +75,7 @@ async function publishLambda(options, context, version, projectRoot, projectDist
|
|
|
77
75
|
}
|
|
78
76
|
// When we create the spacelift stack, we also run the smoke tests so we should not publish to ECR if the tests fails
|
|
79
77
|
logger_1.consola.box(`Creating new Lambda version and running smoke tests`);
|
|
80
|
-
await (0, publish_1.createLambdaVersion)(options.lambdaStacks, options.lambdaFunctions, version
|
|
78
|
+
await (0, publish_1.createLambdaVersion)(options.lambdaStacks, options.lambdaFunctions, version);
|
|
81
79
|
const packageJsonPath = (0, path_1.join)(projectDist, 'package.json');
|
|
82
80
|
logger_1.consola.info(`Pushing OCI Artifact to ECR ${(0, ecr_1.getAwsEcrRegistry)()}/${options.lambdaOciRepository}:${version}`);
|
|
83
81
|
await (0, aws_auth_1.loginToEcr)((0, ecr_1.getAwsEcrRegistry)());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lambda.js","sourceRoot":"","sources":["../../../../src/executors/publisher/lambda.ts"],"names":[],"mappings":";;AAkCA,
|
|
1
|
+
{"version":3,"file":"lambda.js","sourceRoot":"","sources":["../../../../src/executors/publisher/lambda.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { VersionData } from 'nx/src/command-line/release/utils/shared';
|
|
2
2
|
import { ArtifactType } from '../../utils/common/enums';
|
|
3
|
+
import { LambdaFunction } from '../../utils/common/types';
|
|
3
4
|
export interface PublisherExecutorSchema {
|
|
4
5
|
}
|
|
5
6
|
export interface PublisherExecutorOptions {
|
|
@@ -14,8 +15,7 @@ export interface PublisherExecutorOptions {
|
|
|
14
15
|
lambdaOciRepository?: string;
|
|
15
16
|
lambdaBucket?: string;
|
|
16
17
|
lambdaStacks?: string[];
|
|
17
|
-
lambdaFunctions?:
|
|
18
|
-
lambdaHealthCheckPayload?: string;
|
|
18
|
+
lambdaFunctions?: LambdaFunction[];
|
|
19
19
|
frontendArtifactsBucketName?: string;
|
|
20
20
|
frontendOciRepository?: string;
|
|
21
21
|
frontendFilesWithoutCache?: string[];
|
|
@@ -55,11 +55,14 @@
|
|
|
55
55
|
},
|
|
56
56
|
"lambdaFunctions": {
|
|
57
57
|
"type": "array",
|
|
58
|
-
"description": "The list of lambda functions inside the workload"
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
58
|
+
"description": "The list of lambda functions inside the workload with their name and healthCheckPayload",
|
|
59
|
+
"items": {
|
|
60
|
+
"type": "object",
|
|
61
|
+
"properties": {
|
|
62
|
+
"name": { "type": "string" },
|
|
63
|
+
"healthCheckPayload": { "type": "string" }
|
|
64
|
+
}
|
|
65
|
+
}
|
|
63
66
|
},
|
|
64
67
|
"frontendArtifactsBucketName": {
|
|
65
68
|
"type": "string",
|
|
@@ -11,7 +11,7 @@ async function syncListLambdaFunctions(tree) {
|
|
|
11
11
|
const nodeMetadata = node.data?.metadata;
|
|
12
12
|
const lambdaFunctions = nodeMetadata?.lambdaFunctions;
|
|
13
13
|
if (lambdaFunctions) {
|
|
14
|
-
availableLambdasFromNx[projectName] = lambdaFunctions;
|
|
14
|
+
availableLambdasFromNx[projectName] = lambdaFunctions.map(lambdaFunction => lambdaFunction.name);
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
// generate lambda_functions.ts file if it does not exist
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-list-lambda-functions.js","sourceRoot":"","sources":["../../../../src/generators/sync/sync-list-lambda-functions.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"sync-list-lambda-functions.js","sourceRoot":"","sources":["../../../../src/generators/sync/sync-list-lambda-functions.ts"],"names":[],"mappings":";;AAiBA,0DA4CC;AA7DD,uCAKmB;AAMnB,6BAA6B;AAMtB,KAAK,UAAU,uBAAuB,CAC3C,IAAU;IAEV,MAAM,sBAAsB,GAA6B,EAAE,CAAA;IAC3D,MAAM,YAAY,GAAiB,MAAM,IAAA,gCAAuB,GAAE,CAAA;IAElE,4DAA4D;IAC5D,KAAK,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACrE,MAAM,YAAY,GAA4B,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAA;QACjE,MAAM,eAAe,GAAqB,YAAY,EAAE,eAAe,CAAA;QACvE,IAAI,eAAe,EAAE,CAAC;YACpB,sBAAsB,CAAC,WAAW,CAAC,GAAG,eAAe,CAAC,GAAG,CACvD,cAAc,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,CACtC,CAAA;QACH,CAAC;IACH,CAAC;IAED,yDAAyD;IACzD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,2BAA2B,CAAC,EAAE,CAAC;QAC9C,IAAA,sBAAa,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE;YAC1D,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC;SAChD,CAAC,CAAA;QACF,OAAO;YACL,gBAAgB,EAAE,oDAAoD;SACvE,CAAA;IACH,CAAC;SAAM,CAAC;QACN,MAAM,uBAAuB,GAAG,IAAI;aACjC,IAAI,CAAC,2BAA2B,EAAE,OAAO,CAAC;aAC1C,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;aAClB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;aAClB,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,CAAA;QAChC,oEAAoE;QACpE,IACE,CAAC,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC,EACzE,CAAC;YACD,uDAAuD;YACvD,IAAA,sBAAa,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE;gBAC1D,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC;aAChD,CAAC,CAAA;YACF,OAAO;gBACL,gBAAgB,EAAE,oDAAoD;aACvE,CAAA;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,kBAAe,uBAAuB,CAAA"}
|
package/dist/src/index.js
CHANGED
|
@@ -50,7 +50,7 @@ async function createNodesInternal(configFilePath, options, _context) {
|
|
|
50
50
|
}
|
|
51
51
|
// Fallback for lambdaOciRepository for ZIP lambda
|
|
52
52
|
if (!options.lambdaOciRepository && options.lambdaFunctions?.[0]) {
|
|
53
|
-
options.lambdaOciRepository = options.lambdaFunctions[0];
|
|
53
|
+
options.lambdaOciRepository = options.lambdaFunctions[0].name;
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
// Computed: tflintConfigFile with fallback
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AA8BA,kDAoOC;AAlQD,+BAAoC;AAEpC,uCAOmB;AAInB,gDAAmD;AACnD,kDAA+C;AAC/C,0CAA2D;AAE9C,QAAA,aAAa,GAA4C;IACpE,iBAAiB;IACjB,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QACtC,OAAO,MAAM,IAAA,6BAAoB,EAC/B,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAC/B,mBAAmB,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,EACnD,WAAW,EACX,OAAO,EACP,OAAO,CACR,CAAA;IACH,CAAC;CACF,CAAA;AAEM,KAAK,UAAU,mBAAmB,CACvC,cAAsB,EACtB,OAAiC,EACjC,QAA8B;IAE9B,MAAM,oBAAoB,GACxB,IAAA,qBAAY,EAAC,cAAc,CAAC,CAAA;IAC9B,MAAM,WAAW,GAAG,IAAA,cAAO,EAAC,cAAc,CAAC,CAAA;IAE3C,MAAM,aAAa,GAAG,IAAA,4BAAuB,EAC3C,WAAW,EACX,oBAAoB,CACrB,CAAA;IAED,MAAM,OAAO,GAAG,EAAE,CAAA;IAClB,wCAAwC;IACxC,OAAO,GAAG;QACR,GAAG,OAAO;QACV,GAAG,CAAC,oBAAoB,CAAC,QAAQ,IAAI,EAAE,CAAC;QACxC,aAAa,EAAE,aAAa;KAC7B,CAAA;IAED,4CAA4C;IAC5C,MAAM,eAAe,GAAG,aAAa,CAAC,QAAQ,CAAC,oBAAY,CAAC,MAAM,CAAC,CAAA;IACnE,MAAM,eAAe,GAAG,aAAa,CAAC,QAAQ,CAAC,oBAAY,CAAC,MAAM,CAAC,CAAA;IACnE,MAAM,iBAAiB,GAAG,aAAa,CAAC,QAAQ,CAAC,oBAAY,CAAC,QAAQ,CAAC,CAAA;IACvE,MAAM,iBAAiB,GAAG,aAAa,CAAC,QAAQ,CAC9C,oBAAY,CAAC,gBAAgB,CAC9B,CAAA;IACD,MAAM,aAAa,GAAG,aAAa,CAAC,QAAQ,CAAC,oBAAY,CAAC,IAAI,CAAC,CAAA;IAC/D,iDAAiD;IAEjD,IAAI,aAAa,EAAE,CAAC;QAClB,0CAA0C;QAC1C,OAAO,CAAC,eAAe;YACrB,CAAC,OAAO,OAAO,CAAC,eAAe,KAAK,QAAQ;gBAC1C,OAAO,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;gBACjC,SAAS,CAAA;IACb,CAAC;IAED,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,KAAK,IAAI,CAAA;IAC9D,CAAC;IAED,IAAI,eAAe,EAAE,CAAC;QACpB,uEAAuE;QACvE,IACE,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,oBAAY,CAAC,MAAM,CAAC;YACnD,CAAC,OAAO,CAAC,mBAAmB,EAC5B,CAAC;YACD,gBAAO,CAAC,KAAK,CACX,WAAW,oBAAoB,CAAC,IAAI,2CAA2C,CAChF,CAAA;YACD,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;QACzD,CAAC;QAED,kDAAkD;QAClD,IAAI,CAAC,OAAO,CAAC,mBAAmB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,OAAO,CAAC,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = update;
|
|
4
|
+
const devkit_1 = require("@nx/devkit");
|
|
5
|
+
const logger_1 = require("../utils/common/logger");
|
|
6
|
+
function update(tree) {
|
|
7
|
+
const projects = (0, devkit_1.getProjects)(tree);
|
|
8
|
+
let updated = false;
|
|
9
|
+
for (const [project, configuration] of projects) {
|
|
10
|
+
if (configuration.metadata?.lambdaHealthCheckPayload &&
|
|
11
|
+
configuration.metadata.lambdaFunctions) {
|
|
12
|
+
configuration.metadata.lambdaFunctions =
|
|
13
|
+
configuration.metadata.lambdaFunctions.map((lambdaFunction) => ({
|
|
14
|
+
name: lambdaFunction,
|
|
15
|
+
healthCheckPayload: configuration.metadata.lambdaHealthCheckPayload,
|
|
16
|
+
}));
|
|
17
|
+
delete configuration.metadata.lambdaHealthCheckPayload;
|
|
18
|
+
(0, devkit_1.updateProjectConfiguration)(tree, project, configuration);
|
|
19
|
+
updated = true;
|
|
20
|
+
logger_1.consola.log('Merged lambdaHealthCheckPayload and lambdaFunctions into one object into ${project}/project.json.');
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
if (!updated) {
|
|
24
|
+
logger_1.consola.log(`No lambda functions or lambdaHealthCheckPayload found in any project.json. Skipping lambda-metadata-function-to-object migration.`);
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=20251205-metadata-lambda-function-to-object.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20251205-metadata-lambda-function-to-object.js","sourceRoot":"","sources":["../../../src/migrations/20251205-metadata-lambda-function-to-object.ts"],"names":[],"mappings":";;AAKA,yBAmCC;AAxCD,uCAA0E;AAE1E,mDAAgD;AAGhD,SAAwB,MAAM,CAAC,IAAU;IACvC,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAA;IAElC,IAAI,OAAO,GAAG,KAAK,CAAA;IAEnB,KAAK,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,IAAI,QAAQ,EAAE,CAAC;QAChD,IACE,aAAa,CAAC,QAAQ,EAAE,wBAAwB;YAChD,aAAa,CAAC,QAAQ,CAAC,eAAe,EACtC,CAAC;YACD,aAAa,CAAC,QAAQ,CAAC,eAAe;gBACpC,aAAa,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,CACxC,CAAC,cAAsB,EAAE,EAAE,CACzB,CAAC;oBACC,IAAI,EAAE,cAAc;oBACpB,kBAAkB,EAChB,aAAa,CAAC,QAAQ,CAAC,wBAAwB;iBAClD,CAAmB,CACvB,CAAA;YACH,OAAO,aAAa,CAAC,QAAQ,CAAC,wBAAwB,CAAA;YAEtD,IAAA,mCAA0B,EAAC,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC,CAAA;YACxD,OAAO,GAAG,IAAI,CAAA;YACd,gBAAO,CAAC,GAAG,CACT,mGAAmG,CACpG,CAAA;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,gBAAO,CAAC,GAAG,CACT,mIAAmI,CACpI,CAAA;QACD,OAAM;IACR,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/utils/common/types.ts"],"names":[],"mappings":""}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { LambdaFunction } from '../common/types';
|
|
1
2
|
/**
|
|
2
3
|
* Extracts environment and AWS account ID from Spacelift stack ID.
|
|
3
4
|
*
|
|
@@ -18,9 +19,9 @@ export declare function getLatestVersion(lambdaARN: string, envVars: Record<stri
|
|
|
18
19
|
*
|
|
19
20
|
* @param stackId - Spacelift stack ID to determine environment
|
|
20
21
|
* @param lambdaFunctions - Array of Lambda function names to test
|
|
21
|
-
* @param
|
|
22
|
+
* @param lambdaHealthCheckPayloads - Array of lambda health check payloads in JSON string format
|
|
22
23
|
*/
|
|
23
|
-
export declare function runSmokeTests(stackId: string, lambdaFunctions:
|
|
24
|
+
export declare function runSmokeTests(stackId: string, lambdaFunctions: LambdaFunction[]): Promise<void>;
|
|
24
25
|
/**
|
|
25
26
|
* Creates or updates a Lambda function alias to point to latest version.
|
|
26
27
|
*
|
|
@@ -44,4 +45,4 @@ export declare function sanitizeAliasName(alias: string): string;
|
|
|
44
45
|
* @param lambdaFunctions - Array of Lambda function names
|
|
45
46
|
* @param alias - Alias name to create/update
|
|
46
47
|
*/
|
|
47
|
-
export declare function createOrMoveAlias(stackId: string, lambdaFunctions:
|
|
48
|
+
export declare function createOrMoveAlias(stackId: string, lambdaFunctions: LambdaFunction[], alias: string): Promise<void>;
|
|
@@ -49,30 +49,30 @@ async function getLatestVersion(lambdaARN, envVars) {
|
|
|
49
49
|
*
|
|
50
50
|
* @param stackId - Spacelift stack ID to determine environment
|
|
51
51
|
* @param lambdaFunctions - Array of Lambda function names to test
|
|
52
|
-
* @param
|
|
52
|
+
* @param lambdaHealthCheckPayloads - Array of lambda health check payloads in JSON string format
|
|
53
53
|
*/
|
|
54
|
-
async function runSmokeTests(stackId, lambdaFunctions
|
|
54
|
+
async function runSmokeTests(stackId, lambdaFunctions) {
|
|
55
55
|
const [environment, accountId] = retrieveAccoundId(stackId);
|
|
56
56
|
const credentials = await assumeEnvironmentSpecificRole(environment);
|
|
57
57
|
const envVars = getAssumedRoleEnvVars(credentials);
|
|
58
|
-
const smokeTestFunction = async (
|
|
59
|
-
const lambdaARN = `arn:aws:lambda:eu-west-3:${accountId}:function:${
|
|
58
|
+
const smokeTestFunction = async (lambdaFunction) => {
|
|
59
|
+
const lambdaARN = `arn:aws:lambda:eu-west-3:${accountId}:function:${lambdaFunction.name}`;
|
|
60
60
|
const latestVersion = await getLatestVersion(lambdaARN, envVars);
|
|
61
61
|
const lambdaFullARN = `${lambdaARN}:${latestVersion}`;
|
|
62
62
|
try {
|
|
63
|
-
logger_1.consola.log(`Running smoke tests for ${
|
|
64
|
-
const invokeResult = await (0, exec_1.exec)(`aws lambda invoke --function-name ${lambdaFullARN} --payload ${btoa(
|
|
63
|
+
logger_1.consola.log(`Running smoke tests for ${lambdaFunction.name} in env ${environment}`);
|
|
64
|
+
const invokeResult = await (0, exec_1.exec)(`aws lambda invoke --function-name ${lambdaFullARN} --payload ${btoa(lambdaFunction.healthCheckPayload)} /tmp/lambda-response.json`, { throwOnError: true, nodeOptions: { env: envVars } });
|
|
65
65
|
if (JSON.parse(invokeResult.stdout)['FunctionError']) {
|
|
66
66
|
const errorFile = (0, devkit_1.readJsonFile)('/tmp/lambda-response.json');
|
|
67
67
|
const errorMessage = errorFile.errorMessage;
|
|
68
68
|
const trace = errorFile.trace;
|
|
69
|
-
logger_1.consola.error(`AWS Lambda invoke failed for lambda ${
|
|
70
|
-
throw new Error(`AWS Lambda invoke failed for lambda ${
|
|
69
|
+
logger_1.consola.error(`AWS Lambda invoke failed for lambda ${lambdaFunction.name} in ${environment} : ${errorMessage}`, `Stack trace: ${trace}`);
|
|
70
|
+
throw new Error(`AWS Lambda invoke failed for lambda ${lambdaFunction.name} in ${environment}: ${errorMessage}`);
|
|
71
71
|
}
|
|
72
|
-
logger_1.consola.success(`Smoke test passed for function ${
|
|
72
|
+
logger_1.consola.success(`Smoke test passed for function ${lambdaFunction.name} in ${environment}`);
|
|
73
73
|
}
|
|
74
74
|
catch (error) {
|
|
75
|
-
logger_1.consola.error(`Smoke test failed for function ${
|
|
75
|
+
logger_1.consola.error(`Smoke test failed for function ${lambdaFunction.name} in ${environment}:`, error);
|
|
76
76
|
throw error;
|
|
77
77
|
}
|
|
78
78
|
};
|
|
@@ -225,7 +225,7 @@ async function createOrMoveAlias(stackId, lambdaFunctions, alias) {
|
|
|
225
225
|
}
|
|
226
226
|
};
|
|
227
227
|
// Run create alias in different envs in parallel
|
|
228
|
-
await Promise.all(lambdaFunctions.map(addAliasFunction));
|
|
228
|
+
await Promise.all(lambdaFunctions.map(lambdaFunction => addAliasFunction(lambdaFunction.name)));
|
|
229
229
|
logger_1.consola.success(`All alias created for functions in ${environment}`);
|
|
230
230
|
}
|
|
231
231
|
//# sourceMappingURL=aws-lambda.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aws-lambda.js","sourceRoot":"","sources":["../../../../src/utils/lambda/aws-lambda.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"aws-lambda.js","sourceRoot":"","sources":["../../../../src/utils/lambda/aws-lambda.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { LambdaFunction } from '../common/types';
|
|
1
2
|
/**
|
|
2
3
|
* Creates new lambda release candidate for each stacks in parallel:
|
|
3
4
|
*- Update variable commit_sha in spacelift configuration f
|
|
@@ -9,6 +10,6 @@
|
|
|
9
10
|
* @param stacksName - Array of Spacelift stack IDs
|
|
10
11
|
* @param lambdaFunctions - Array of Lambda function names
|
|
11
12
|
* @param version - Version string for deployment
|
|
12
|
-
* @param
|
|
13
|
+
* @param lambdaHealthCheckPayloads - Array of lambda health check payloads in JSON string format
|
|
13
14
|
*/
|
|
14
|
-
export declare function createLambdaVersion(stacksName: string[], lambdaFunctions:
|
|
15
|
+
export declare function createLambdaVersion(stacksName: string[], lambdaFunctions: LambdaFunction[], version: string): Promise<void>;
|
|
@@ -18,9 +18,9 @@ const spacelift_1 = require("./spacelift");
|
|
|
18
18
|
* @param stacksName - Array of Spacelift stack IDs
|
|
19
19
|
* @param lambdaFunctions - Array of Lambda function names
|
|
20
20
|
* @param version - Version string for deployment
|
|
21
|
-
* @param
|
|
21
|
+
* @param lambdaHealthCheckPayloads - Array of lambda health check payloads in JSON string format
|
|
22
22
|
*/
|
|
23
|
-
async function createLambdaVersion(stacksName, lambdaFunctions, version
|
|
23
|
+
async function createLambdaVersion(stacksName, lambdaFunctions, version) {
|
|
24
24
|
const graphqlService = new graphql_service_1.GraphQlService();
|
|
25
25
|
const spaceliftService = new spacelift_service_1.SpaceliftService(graphqlService);
|
|
26
26
|
const processEnvironment = async (stackId) => {
|
|
@@ -30,7 +30,7 @@ async function createLambdaVersion(stacksName, lambdaFunctions, version, lambdaH
|
|
|
30
30
|
logger_1.consola.log(`Updating Spacelift stack ${stackId} TF_VAR_lambda_version with version ${version}`);
|
|
31
31
|
await (0, spacelift_1.updateSpaceliftEnvironmentVariable)(spaceliftService, stackId, 'TF_VAR_lambda_version', version);
|
|
32
32
|
await (0, spacelift_1.triggerSpaceliftStack)(spaceliftService, stackId);
|
|
33
|
-
await (0, aws_lambda_1.runSmokeTests)(stackId, lambdaFunctions
|
|
33
|
+
await (0, aws_lambda_1.runSmokeTests)(stackId, lambdaFunctions);
|
|
34
34
|
};
|
|
35
35
|
const publishFunction = async (stackId) => {
|
|
36
36
|
await (0, aws_lambda_1.createOrMoveAlias)(stackId, lambdaFunctions, version);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../../src/utils/lambda/publish.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../../src/utils/lambda/publish.ts"],"names":[],"mappings":";;AAwBA,kDAwCC;AAhED,6CAAyD;AACzD,6CAA0C;AAE1C,sEAAiE;AACjE,0EAAqE;AACrE,6CAA+D;AAC/D,2CAGoB;AAEpB;;;;;;;;;;;;GAYG;AACI,KAAK,UAAU,mBAAmB,CACvC,UAAoB,EACpB,eAAiC,EACjC,OAAe;IAEf,MAAM,cAAc,GAAG,IAAI,gCAAc,EAAE,CAAA;IAC3C,MAAM,gBAAgB,GAAG,IAAI,oCAAgB,CAAC,cAAc,CAAC,CAAA;IAC7D,MAAM,kBAAkB,GAAG,KAAK,EAAE,OAAe,EAAiB,EAAE;QAClE,MAAM,gBAAgB,GAAG,MAAM,IAAA,+BAAsB,GAAE,CAAA;QACvD,gBAAO,CAAC,GAAG,CACT,4BAA4B,OAAO,mCAAmC,gBAAgB,EAAE,CACzF,CAAA;QACD,MAAM,IAAA,8CAAkC,EACtC,gBAAgB,EAChB,OAAO,EACP,mBAAmB,EACnB,gBAAgB,CACjB,CAAA;QACD,gBAAO,CAAC,GAAG,CACT,4BAA4B,OAAO,uCAAuC,OAAO,EAAE,CACpF,CAAA;QACD,MAAM,IAAA,8CAAkC,EACtC,gBAAgB,EAChB,OAAO,EACP,uBAAuB,EACvB,OAAO,CACR,CAAA;QAED,MAAM,IAAA,iCAAqB,EAAC,gBAAgB,EAAE,OAAO,CAAC,CAAA;QACtD,MAAM,IAAA,0BAAa,EAAC,OAAO,EAAE,eAAe,CAAC,CAAA;IAC/C,CAAC,CAAA;IAED,MAAM,eAAe,GAAG,KAAK,EAAE,OAAe,EAAiB,EAAE;QAC/D,MAAM,IAAA,8BAAiB,EAAC,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,CAAA;IAC5D,CAAC,CAAA;IACD,sBAAsB;IACtB,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAA;IACrD,gBAAO,CAAC,OAAO,CAAC,+CAA+C,CAAC,CAAA;IAChE,gBAAO,CAAC,GAAG,CAAC,kDAAkD,OAAO,EAAE,CAAC,CAAA;IACxE,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAA;AACpD,CAAC"}
|
package/migrations.json
CHANGED
|
@@ -19,6 +19,11 @@
|
|
|
19
19
|
"version": "5.7.0",
|
|
20
20
|
"description": "Apply a fix to parallelized jobs so they do not run everything if no affected project",
|
|
21
21
|
"implementation": "./dist/src/migrations/20251112-fix-parallelization-circleci"
|
|
22
|
+
},
|
|
23
|
+
"20251205-metadata-lambda-function-to-object": {
|
|
24
|
+
"version": "5.9.4",
|
|
25
|
+
"description": "Change lambdaFunctions metadata property to an array of objects with name and healthCheckPayload properties",
|
|
26
|
+
"implementation": "./dist/src/migrations/20251205-metadata-lambda-function-to-object"
|
|
22
27
|
}
|
|
23
28
|
}
|
|
24
29
|
}
|