@payfit/nx-core 0.0.0-e2e → 0.0.0-semver

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.
Files changed (149) hide show
  1. package/README.md +10 -163
  2. package/dist/src/executors/publisher/docker.d.ts +3 -1
  3. package/dist/src/executors/publisher/docker.js +12 -57
  4. package/dist/src/executors/publisher/docker.js.map +1 -1
  5. package/dist/src/executors/publisher/executor.js +12 -9
  6. package/dist/src/executors/publisher/executor.js.map +1 -1
  7. package/dist/src/executors/publisher/helm.d.ts +5 -1
  8. package/dist/src/executors/publisher/helm.js +11 -40
  9. package/dist/src/executors/publisher/helm.js.map +1 -1
  10. package/dist/src/executors/publisher/schema.d.ts +5 -0
  11. package/dist/src/executors/publisher/schema.json +0 -44
  12. package/dist/src/index.d.ts +1 -24
  13. package/dist/src/index.js +11 -67
  14. package/dist/src/index.js.map +1 -1
  15. package/dist/src/scripts/version-actions.d.ts +20 -3
  16. package/dist/src/scripts/version-actions.js +41 -23
  17. package/dist/src/scripts/version-actions.js.map +1 -1
  18. package/dist/src/utils/{common/aws-auth.d.ts → aws-auth.d.ts} +8 -16
  19. package/dist/src/utils/aws-auth.js +84 -0
  20. package/dist/src/utils/aws-auth.js.map +1 -0
  21. package/dist/src/utils/docker.d.ts +16 -12
  22. package/dist/src/utils/docker.js +23 -63
  23. package/dist/src/utils/docker.js.map +1 -1
  24. package/dist/src/utils/exec.d.ts +7 -0
  25. package/dist/src/utils/exec.js +25 -0
  26. package/dist/src/utils/exec.js.map +1 -0
  27. package/dist/src/utils/get-version.d.ts +6 -0
  28. package/dist/src/utils/get-version.js +14 -0
  29. package/dist/src/utils/get-version.js.map +1 -0
  30. package/dist/src/utils/github.d.ts +4 -0
  31. package/dist/src/utils/github.js +17 -0
  32. package/dist/src/utils/github.js.map +1 -0
  33. package/dist/src/utils/helm.d.ts +16 -32
  34. package/dist/src/utils/helm.js +15 -83
  35. package/dist/src/utils/helm.js.map +1 -1
  36. package/dist/src/utils/import-esm.js.map +1 -0
  37. package/dist/src/utils/{common/tsh.d.ts → tsh.d.ts} +0 -1
  38. package/dist/src/utils/{common/tsh.js → tsh.js} +15 -20
  39. package/dist/src/utils/tsh.js.map +1 -0
  40. package/executors.json +2 -12
  41. package/package.json +18 -42
  42. package/dist/src/codegen.d.ts +0 -3
  43. package/dist/src/codegen.js +0 -25
  44. package/dist/src/codegen.js.map +0 -1
  45. package/dist/src/executors/preview-deploy/README.md +0 -5
  46. package/dist/src/executors/preview-deploy/argocdOverride.d.ts +0 -4
  47. package/dist/src/executors/preview-deploy/argocdOverride.js +0 -22
  48. package/dist/src/executors/preview-deploy/argocdOverride.js.map +0 -1
  49. package/dist/src/executors/preview-deploy/executor.d.ts +0 -4
  50. package/dist/src/executors/preview-deploy/executor.js +0 -143
  51. package/dist/src/executors/preview-deploy/executor.js.map +0 -1
  52. package/dist/src/executors/preview-deploy/kargoPolicy.d.ts +0 -14
  53. package/dist/src/executors/preview-deploy/kargoPolicy.js +0 -69
  54. package/dist/src/executors/preview-deploy/kargoPolicy.js.map +0 -1
  55. package/dist/src/executors/preview-deploy/schema.json +0 -28
  56. package/dist/src/executors/publisher/README.md +0 -3
  57. package/dist/src/executors/publisher/lambda.d.ts +0 -18
  58. package/dist/src/executors/publisher/lambda.js +0 -86
  59. package/dist/src/executors/publisher/lambda.js.map +0 -1
  60. package/dist/src/executors/release/README.md +0 -15
  61. package/dist/src/executors/release/executor.d.ts +0 -4
  62. package/dist/src/executors/release/executor.js +0 -104
  63. package/dist/src/executors/release/executor.js.map +0 -1
  64. package/dist/src/executors/release/schema.json +0 -37
  65. package/dist/src/generators/init/README.md +0 -5
  66. package/dist/src/generators/init/files/.circleci/config.yml.template +0 -232
  67. package/dist/src/generators/init/files/.circleci/teleport/shared-charts.conf.template +0 -24
  68. package/dist/src/generators/init/files/.npmrc.template +0 -1
  69. package/dist/src/generators/init/init.d.ts +0 -13
  70. package/dist/src/generators/init/init.js +0 -278
  71. package/dist/src/generators/init/init.js.map +0 -1
  72. package/dist/src/generators/init/schema.json +0 -7
  73. package/dist/src/scripts/codegen-with-auth.js +0 -55
  74. package/dist/src/scripts/version-actions.mock.d.ts +0 -6
  75. package/dist/src/scripts/version-actions.mock.js +0 -61
  76. package/dist/src/scripts/version-actions.mock.js.map +0 -1
  77. package/dist/src/utils/common/aws-auth.js +0 -145
  78. package/dist/src/utils/common/aws-auth.js.map +0 -1
  79. package/dist/src/utils/common/circleci.d.ts +0 -2
  80. package/dist/src/utils/common/circleci.js +0 -20
  81. package/dist/src/utils/common/circleci.js.map +0 -1
  82. package/dist/src/utils/common/exec.d.ts +0 -4
  83. package/dist/src/utils/common/exec.js +0 -52
  84. package/dist/src/utils/common/exec.js.map +0 -1
  85. package/dist/src/utils/common/github.d.ts +0 -20
  86. package/dist/src/utils/common/github.js +0 -60
  87. package/dist/src/utils/common/github.js.map +0 -1
  88. package/dist/src/utils/common/import-esm.js.map +0 -1
  89. package/dist/src/utils/common/logger.d.ts +0 -1
  90. package/dist/src/utils/common/logger.js +0 -8
  91. package/dist/src/utils/common/logger.js.map +0 -1
  92. package/dist/src/utils/common/nx.d.ts +0 -22
  93. package/dist/src/utils/common/nx.js +0 -174
  94. package/dist/src/utils/common/nx.js.map +0 -1
  95. package/dist/src/utils/common/s3.d.ts +0 -1
  96. package/dist/src/utils/common/s3.js +0 -18
  97. package/dist/src/utils/common/s3.js.map +0 -1
  98. package/dist/src/utils/common/tsh.js.map +0 -1
  99. package/dist/src/utils/datadog.d.ts +0 -1
  100. package/dist/src/utils/datadog.js +0 -33
  101. package/dist/src/utils/datadog.js.map +0 -1
  102. package/dist/src/utils/helm.mock.d.ts +0 -85
  103. package/dist/src/utils/helm.mock.js +0 -100
  104. package/dist/src/utils/helm.mock.js.map +0 -1
  105. package/dist/src/utils/lambda/aws-lambda.d.ts +0 -47
  106. package/dist/src/utils/lambda/aws-lambda.js +0 -231
  107. package/dist/src/utils/lambda/aws-lambda.js.map +0 -1
  108. package/dist/src/utils/lambda/lambda.d.ts +0 -7
  109. package/dist/src/utils/lambda/lambda.js +0 -20
  110. package/dist/src/utils/lambda/lambda.js.map +0 -1
  111. package/dist/src/utils/lambda/oci.d.ts +0 -8
  112. package/dist/src/utils/lambda/oci.js +0 -22
  113. package/dist/src/utils/lambda/oci.js.map +0 -1
  114. package/dist/src/utils/lambda/publish.d.ts +0 -14
  115. package/dist/src/utils/lambda/publish.js +0 -44
  116. package/dist/src/utils/lambda/publish.js.map +0 -1
  117. package/dist/src/utils/lambda/spacelift.d.ts +0 -3
  118. package/dist/src/utils/lambda/spacelift.js +0 -55
  119. package/dist/src/utils/lambda/spacelift.js.map +0 -1
  120. package/dist/src/utils/spacelift/lib/__generated__/fragment-masking.d.ts +0 -19
  121. package/dist/src/utils/spacelift/lib/__generated__/fragment-masking.js +0 -22
  122. package/dist/src/utils/spacelift/lib/__generated__/fragment-masking.js.map +0 -1
  123. package/dist/src/utils/spacelift/lib/__generated__/gql.d.ts +0 -15
  124. package/dist/src/utils/spacelift/lib/__generated__/gql.js +0 -8
  125. package/dist/src/utils/spacelift/lib/__generated__/gql.js.map +0 -1
  126. package/dist/src/utils/spacelift/lib/__generated__/graphql.d.ts +0 -9426
  127. package/dist/src/utils/spacelift/lib/__generated__/graphql.js +0 -819
  128. package/dist/src/utils/spacelift/lib/__generated__/graphql.js.map +0 -1
  129. package/dist/src/utils/spacelift/lib/__generated__/index.d.ts +0 -2
  130. package/dist/src/utils/spacelift/lib/__generated__/index.js +0 -6
  131. package/dist/src/utils/spacelift/lib/__generated__/index.js.map +0 -1
  132. package/dist/src/utils/spacelift/lib/graphql.service.d.ts +0 -18
  133. package/dist/src/utils/spacelift/lib/graphql.service.js +0 -186
  134. package/dist/src/utils/spacelift/lib/graphql.service.js.map +0 -1
  135. package/dist/src/utils/spacelift/lib/query/spacelift.queries.d.ts +0 -34
  136. package/dist/src/utils/spacelift/lib/query/spacelift.queries.js +0 -48
  137. package/dist/src/utils/spacelift/lib/query/spacelift.queries.js.map +0 -1
  138. package/dist/src/utils/spacelift/lib/spacelift.error.d.ts +0 -43
  139. package/dist/src/utils/spacelift/lib/spacelift.error.js +0 -63
  140. package/dist/src/utils/spacelift/lib/spacelift.error.js.map +0 -1
  141. package/dist/src/utils/spacelift/lib/spacelift.service.d.ts +0 -16
  142. package/dist/src/utils/spacelift/lib/spacelift.service.js +0 -58
  143. package/dist/src/utils/spacelift/lib/spacelift.service.js.map +0 -1
  144. package/dist/src/utils/spacelift/lib/utils.d.ts +0 -4
  145. package/dist/src/utils/spacelift/lib/utils.js +0 -32
  146. package/dist/src/utils/spacelift/lib/utils.js.map +0 -1
  147. package/generators.json +0 -9
  148. /package/dist/src/utils/{common/import-esm.d.ts → import-esm.d.ts} +0 -0
  149. /package/dist/src/utils/{common/import-esm.js → import-esm.js} +0 -0
@@ -1,69 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.updateKargoPolicy = updateKargoPolicy;
4
- const github_1 = require("../../utils/common/github");
5
- /**
6
- * Ensures the service structure exists in the kargo policy
7
- * Returns true if any structure was created, false otherwise
8
- */
9
- function ensureServiceStructure(kargoPolicy, appName, env) {
10
- const service = kargoPolicy.services[appName];
11
- if (!service.stages) {
12
- service.stages = {};
13
- }
14
- if (!service.stages[env]) {
15
- service.stages[env] = {};
16
- }
17
- }
18
- /**
19
- * Removes ephemeral branch configuration and cleans up empty objects
20
- * Returns true if any changes were made, false otherwise
21
- */
22
- function resetKargoPolicyForDefaultBranch(kargoPolicy, appName, env) {
23
- const service = kargoPolicy.services[appName];
24
- let hasChanged = false;
25
- // Remove ephemeral branch if it exists
26
- if (service.stages[env].ephemeralBranch) {
27
- delete service.stages[env].ephemeralBranch;
28
- hasChanged = true; // only commit file if we made an actual change
29
- }
30
- // Clean up empty env stage
31
- if (Object.keys(service.stages[env]).length === 0) {
32
- delete service.stages[env];
33
- }
34
- // Clean up empty stages object
35
- if (Object.keys(service.stages).length === 0) {
36
- delete service.stages;
37
- }
38
- return hasChanged;
39
- }
40
- /**
41
- * Sets the ephemeral branch for feature branch deployment
42
- * Returns true if the value changed, false if it was already set to the same value
43
- */
44
- function setEphemeralBranch(kargoPolicy, appName, env, branchName) {
45
- const currentValue = kargoPolicy.services[appName].stages[env].ephemeralBranch;
46
- kargoPolicy.services[appName].stages[env].ephemeralBranch = branchName;
47
- return currentValue !== branchName;
48
- }
49
- /**
50
- * Updates the Kargo policy configuration based on the target branch
51
- */
52
- function updateKargoPolicy(kargoPolicy, targetBranchName, targetEnv, targetAppName) {
53
- // Early return if service doesn't exist
54
- if (!kargoPolicy.services || !kargoPolicy.services[targetAppName]) {
55
- throw new Error('Unable to update kargo policy, service does not exist in the configuration');
56
- }
57
- let hasChanged = false;
58
- // Ensure structure exists and track if changes were made
59
- ensureServiceStructure(kargoPolicy, targetAppName, targetEnv);
60
- if ((0, github_1.isDefaultBranch)(targetBranchName)) {
61
- // reset to default branch
62
- hasChanged = resetKargoPolicyForDefaultBranch(kargoPolicy, targetAppName, targetEnv);
63
- }
64
- else {
65
- hasChanged = setEphemeralBranch(kargoPolicy, targetAppName, targetEnv, targetBranchName);
66
- }
67
- return hasChanged ? kargoPolicy : undefined;
68
- }
69
- //# sourceMappingURL=kargoPolicy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"kargoPolicy.js","sourceRoot":"","sources":["../../../../src/executors/preview-deploy/kargoPolicy.ts"],"names":[],"mappings":";;AA0FA,8CAmCC;AA7HD,sDAA2D;AAoB3D;;;GAGG;AACH,SAAS,sBAAsB,CAC7B,WAAwB,EACxB,OAAe,EACf,GAAW;IAEX,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAE7C,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,OAAO,CAAC,MAAM,GAAG,EAAE,CAAA;IACrB,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAA;IAC1B,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,gCAAgC,CACvC,WAAwB,EACxB,OAAe,EACf,GAAW;IAEX,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC7C,IAAI,UAAU,GAAG,KAAK,CAAA;IAEtB,uCAAuC;IACvC,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,eAAe,EAAE,CAAC;QACxC,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,eAAe,CAAA;QAC1C,UAAU,GAAG,IAAI,CAAA,CAAC,+CAA+C;IACnE,CAAC;IAED,2BAA2B;IAC3B,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClD,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC5B,CAAC;IAED,+BAA+B;IAC/B,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7C,OAAO,OAAO,CAAC,MAAM,CAAA;IACvB,CAAC;IAED,OAAO,UAAU,CAAA;AACnB,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CACzB,WAAwB,EACxB,OAAe,EACf,GAAW,EACX,UAAkB;IAElB,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,eAAe,CAAA;IAC9E,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,eAAe,GAAG,UAAU,CAAA;IAEtE,OAAO,YAAY,KAAK,UAAU,CAAA;AACpC,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAC/B,WAAwB,EACxB,gBAAwB,EACxB,SAAiB,EACjB,aAAqB;IAErB,wCAAwC;IACxC,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QAClE,MAAM,IAAI,KAAK,CACb,4EAA4E,CAC7E,CAAA;IACH,CAAC;IAED,IAAI,UAAU,GAAG,KAAK,CAAA;IAEtB,yDAAyD;IACzD,sBAAsB,CAAC,WAAW,EAAE,aAAa,EAAE,SAAS,CAAC,CAAA;IAE7D,IAAI,IAAA,wBAAe,EAAC,gBAAgB,CAAC,EAAE,CAAC;QACtC,0BAA0B;QAC1B,UAAU,GAAG,gCAAgC,CAC3C,WAAW,EACX,aAAa,EACb,SAAS,CACV,CAAA;IACH,CAAC;SAAM,CAAC;QACN,UAAU,GAAG,kBAAkB,CAC7B,WAAW,EACX,aAAa,EACb,SAAS,EACT,gBAAgB,CACjB,CAAA;IACH,CAAC;IAED,OAAO,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAA;AAC7C,CAAC"}
@@ -1,28 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/schema",
3
- "version": 2,
4
- "title": "Preview deploy branch",
5
- "description": "Use it to switch the deployment branch of an app",
6
- "type": "object",
7
- "properties": {
8
- "targetRepo": {
9
- "type": "string",
10
- "description": "Target <domain>-deploy repository"
11
- },
12
- "targetBranchName": {
13
- "type": "string",
14
- "description": "Branch name to deploy"
15
- },
16
- "targetEnv": {
17
- "type": "string",
18
- "description": "Target environment to deploy to",
19
- "enum": ["dev", "staging", "prod"],
20
- "default": "dev"
21
- },
22
- "targetAppName": {
23
- "type": "string",
24
- "description": "app name to target within the <domain>-deploy repo"
25
- }
26
- },
27
- "required": ["targetAppName", "targetRepo", "targetBranchName"]
28
- }
@@ -1,3 +0,0 @@
1
- # nx-core publisher executor
2
-
3
- It is handling all the publishing steps for docker images, helm charts & lambdas.
@@ -1,18 +0,0 @@
1
- import { ExecutorContext } from '@nx/devkit';
2
- import { PublisherExecutorOptions } from './schema';
3
- /**
4
- * Function called by nx-release-publish, it :
5
- * - publish zip to S3
6
- * - creates new version via Spacelift
7
- * - runs smoke tests
8
- * - create alias for lambda function
9
- * - push OCI in ECR registry
10
- *
11
- * @param options - Contains lambdaBucket, lambdaFunctions, and lambdaStacks configuration
12
- * @param context - NX executor context with project information
13
- * @param version - Version string for deployment
14
- * @param projectRoot - Project root directory path
15
- * @param projectDist - Built code directory path
16
- * @param isDryRun - Skip actual deployment if true
17
- */
18
- export declare function publishLambda(options: PublisherExecutorOptions, context: ExecutorContext, version: string, projectRoot: string, projectDist: string, isDryRun: boolean): Promise<void>;
@@ -1,86 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.publishLambda = publishLambda;
4
- const path_1 = require("path");
5
- const aws_auth_1 = require("../../utils/common/aws-auth");
6
- const github_1 = require("../../utils/common/github");
7
- const logger_1 = require("../../utils/common/logger");
8
- const s3_1 = require("../../utils/common/s3");
9
- const lambda_1 = require("../../utils/lambda/lambda");
10
- const oci_1 = require("../../utils/lambda/oci");
11
- const publish_1 = require("../../utils/lambda/publish");
12
- /**
13
- * Function called by nx-release-publish, it :
14
- * - publish zip to S3
15
- * - creates new version via Spacelift
16
- * - runs smoke tests
17
- * - create alias for lambda function
18
- * - push OCI in ECR registry
19
- *
20
- * @param options - Contains lambdaBucket, lambdaFunctions, and lambdaStacks configuration
21
- * @param context - NX executor context with project information
22
- * @param version - Version string for deployment
23
- * @param projectRoot - Project root directory path
24
- * @param projectDist - Built code directory path
25
- * @param isDryRun - Skip actual deployment if true
26
- */
27
- async function publishLambda(options, context, version, projectRoot, projectDist, isDryRun) {
28
- const gitBranchName = await (0, github_1.getSanitizedCurrentGitBranch)();
29
- const repoUrl = await (0, github_1.getSanitizedCurrentGitRepoUrl)();
30
- const repoName = repoUrl.split('/').pop() ?? 'unknown-repo';
31
- // Sanitize project name to ensure it is a valid S3 key
32
- // Remove any characters that are not alphanumeric, hyphen, or underscore
33
- // remove the @payfit/ prefix if it exists
34
- const sanitizedProjectName = context.projectName
35
- .replace(/^@payfit\//, '')
36
- .replace(/[^a-zA-Z0-9-_]/g, '-');
37
- const zipName = `${version}.zip`;
38
- const zipFileNameS3 = `${options.lambdaBucket}/${repoName}/${sanitizedProjectName}/${zipName}`;
39
- if (!gitBranchName)
40
- throw new Error('Unable to get current Git branch');
41
- if (!options.lambdaFunctions) {
42
- logger_1.consola.info(`No lambda functions provided in project ${context.projectName} no "lambdaFunctions" parameter in project.json metadata, skipping`);
43
- return;
44
- }
45
- if (!options.lambdaStacks) {
46
- logger_1.consola.error('No lambda spacelift stacks provided, add "lambdaStacks" to your project.json metadata');
47
- return;
48
- }
49
- if (!options.lambdaHealthCheckPayload) {
50
- 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');
51
- return;
52
- }
53
- else {
54
- const lambdaPayload = options.lambdaHealthCheckPayload;
55
- try {
56
- JSON.parse(lambdaPayload);
57
- }
58
- catch (error) {
59
- logger_1.consola.error(`lambdaHealthCheckPayload should be a JSON string, got ${lambdaPayload}`);
60
- return;
61
- }
62
- }
63
- if (isDryRun) {
64
- logger_1.consola.box(`Would have published lambda artefact to S3 ${zipFileNameS3} but --dry-run is enabled`);
65
- return;
66
- }
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
- logger_1.consola.box(`Creating new Lambda version and running smoke tests`);
76
- await (0, publish_1.createLambdaVersion)(options.lambdaStacks, options.lambdaFunctions, version, options.lambdaHealthCheckPayload);
77
- const packageJsonPath = (0, path_1.join)(projectDist, 'package.json');
78
- for (const registry of options.lambdaFunctions) {
79
- logger_1.consola.info(`Pushing empty image to ECR ${process.env.AWS_ECR_REGISTRY}/${registry}:${version}`);
80
- await (0, aws_auth_1.loginToEcr)(process.env.AWS_ECR_REGISTRY);
81
- await (0, oci_1.pushImageToEcr)(registry, version, packageJsonPath);
82
- }
83
- logger_1.consola.success('Lambda artifact successfully pushed to S3!');
84
- logger_1.consola.success(`Lambda version ${version} successfully created and smoke tests passed, you're lambda is ready to be promoted in Kargo !`);
85
- }
86
- //# sourceMappingURL=lambda.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lambda.js","sourceRoot":"","sources":["../../../../src/executors/publisher/lambda.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- # nx-core release executor
2
-
3
- It is handling all the release using the SDK of Nx
4
-
5
- https://nx.dev/features/manage-releases#using-the-programmatic-api-for-nx-release
6
-
7
- ```mermaid
8
- flowchart LR
9
- A(["releaseVersion"]) --> B(["releaseChangelog"])
10
- B --> C(["releasePublish"])
11
- ```
12
-
13
- 1. **releaseVersion**: will define affected apps & calculate new versions based on the version actions defined (so semver, calver, ...)
14
- 2. **releaseChangelog**: will generate the changelog based on the git history
15
- 3. **releasePublish**: will trigger the `nx-release-publish` target on all the affected apps
@@ -1,4 +0,0 @@
1
- import { ExecutorContext } from '@nx/devkit';
2
- import { ReleaseExecutorOptions, ReleaseExecutorSchema } from './schema';
3
- declare const runExecutor: (options: ReleaseExecutorOptions, context: ExecutorContext) => Promise<ReleaseExecutorSchema>;
4
- export default runExecutor;
@@ -1,104 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const release_1 = require("nx/release");
4
- const circleci_1 = require("../../utils/common/circleci");
5
- const github_1 = require("../../utils/common/github");
6
- const logger_1 = require("../../utils/common/logger");
7
- const nx_1 = require("../../utils/common/nx");
8
- const tsh_1 = require("../../utils/common/tsh");
9
- const runExecutor = async (options, context) => {
10
- const dryRun = process.env.NX_DRY_RUN === 'true' || options.dryRun || false;
11
- if ((0, circleci_1.isCircleCIRunner)()) {
12
- logger_1.consola.start('CircleCI runner detected, setting it up!');
13
- await (0, circleci_1.setupCircleCIRunner)();
14
- await (0, tsh_1.startTbot)();
15
- logger_1.consola.success('CircleCI runner setup successfully!');
16
- }
17
- const branchName = await (0, github_1.getSanitizedCurrentGitBranch)();
18
- const commit = await (0, github_1.getCurrentGitCommitSha)();
19
- const isPreRelease = options?.preRelease != null
20
- ? options.preRelease
21
- : branchName != 'main' && branchName != 'master';
22
- const specifier = isPreRelease ? 'prerelease' : options.specifier;
23
- const groups = options.groups && options.groups.length > 0 ? options.groups : undefined;
24
- if (isPreRelease)
25
- logger_1.consola.warn('This is an ephemeral release');
26
- const allProjects = await (0, nx_1.getAffectedProjects)(groups);
27
- if (allProjects.length === 0) {
28
- logger_1.consola.warn('No projects to publish');
29
- return {
30
- success: true,
31
- };
32
- }
33
- logger_1.consola.success(`Found ${allProjects.length} affected projects: ${allProjects.join(', ')}`);
34
- // Step 1: Version Release
35
- logger_1.consola.start('Calculating new versions');
36
- const { projectsVersionData } = await (0, release_1.releaseVersion)({
37
- dryRun,
38
- verbose: options.verbose,
39
- specifier,
40
- projects: allProjects,
41
- preid: isPreRelease
42
- ? `ephemeral-${branchName.substring(0, 100)}-${commit.substring(0, 7)}`
43
- : undefined,
44
- });
45
- logger_1.consola.success('New versions calculated successfully!');
46
- // iterate over `projectsVersionData` to extract changed projects
47
- const changedProjects = Object.entries(projectsVersionData)
48
- .map(([projectName, versionData]) => {
49
- if (versionData?.newVersion) {
50
- logger_1.consola.info(`Project '${projectName}' will be updated to version ${versionData.newVersion}`);
51
- return projectName;
52
- }
53
- return null; // filter out projects that didn't change
54
- })
55
- .filter(Boolean);
56
- if (changedProjects.length === 0) {
57
- logger_1.consola.warn('No project to publish');
58
- return {
59
- success: true,
60
- };
61
- }
62
- // Step 2: Changelog Release
63
- logger_1.consola.start('Generating & pushing changelogs');
64
- await (0, release_1.releaseChangelog)({
65
- versionData: projectsVersionData,
66
- dryRun,
67
- verbose: options.verbose,
68
- projects: changedProjects,
69
- createRelease: isPreRelease ? false : 'github',
70
- });
71
- logger_1.consola.success('Generated & pushed changelogs successfully!');
72
- if (options.skipPublish) {
73
- logger_1.consola.warn('Skipping publishing step as skipPublish = true');
74
- return {
75
- success: true,
76
- };
77
- }
78
- // Step 3: Publish Release
79
- logger_1.consola.start('Publishing packages');
80
- const publishResults = await (0, release_1.releasePublish)({
81
- projects: changedProjects,
82
- dryRun,
83
- verbose: options.verbose,
84
- tag: isPreRelease ? 'ephemeral' : undefined,
85
- });
86
- // Log publish results
87
- let publishError = false;
88
- Object.entries(publishResults).forEach(([projectName, result]) => {
89
- if (result.code === 0) {
90
- logger_1.consola.success(`Published ${projectName} successfully!`);
91
- }
92
- else {
93
- publishError = true;
94
- logger_1.consola.fail(`Failed to publish ${projectName} with exit code ${result.code}`);
95
- }
96
- });
97
- if (publishError)
98
- throw new Error('We got errors when publishing, check the logs');
99
- return {
100
- success: true,
101
- };
102
- };
103
- exports.default = runExecutor;
104
- //# sourceMappingURL=executor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../src/executors/release/executor.ts"],"names":[],"mappings":"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"}
@@ -1,37 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/schema",
3
- "version": 2,
4
- "title": "Publisher executor",
5
- "description": "Publish the helm chart to the chartmuseum and docker image to ECR",
6
- "type": "object",
7
- "properties": {
8
- "preRelease": {
9
- "type": "boolean",
10
- "description": "The release is an ephemeral/rc"
11
- },
12
- "skipPublish": {
13
- "type": "boolean",
14
- "description": "Should skip publish"
15
- },
16
- "dryRun": {
17
- "type": "boolean",
18
- "description": "Is dry run"
19
- },
20
- "verbose": {
21
- "type": "boolean",
22
- "description": "Is verbose"
23
- },
24
- "groups": {
25
- "type": "array",
26
- "items": {
27
- "type": "string"
28
- },
29
- "description": "Release groups to target (optional). If not specified, all configured projects will be released."
30
- },
31
- "specifier": {
32
- "type": "string",
33
- "description": "Exact version or semver keyword to apply (e.g., 'patch', 'minor', 'major', '1.2.3')"
34
- }
35
- },
36
- "required": []
37
- }
@@ -1,5 +0,0 @@
1
- # nx-core `init` Generator
2
-
3
- The `init` generator is executed automatically when you install the `@payfit/nx-core` package with `npx nx add @payfit/nx-core`.
4
-
5
- It handles the initial workspace configuration required to use this plugin.
@@ -1,232 +0,0 @@
1
- version: 2.1
2
- <% if (keepContinuationJobs) { %>
3
- setup: true
4
- <% } %>
5
- orbs:
6
- nx: nrwl/nx@1.7
7
- aws-cli: circleci/aws-cli@5.4
8
- github: payfit/github@0.9
9
- node: circleci/node@7.1
10
- <% if (keepContinuationJobs) { %>
11
- continuation: circleci/continuation@1.0
12
- payfit-nx: payfit/nx@2
13
- <% } %>
14
-
15
- references:
16
- setup_env_node: &setup_env_node
17
- docker:
18
- - image: cimg/node:22.16
19
- setup_env_machine: &setup_env_machine # Used for getting docker cli
20
- machine:
21
- image: ubuntu-2204:current
22
- install_packages: &install_packages
23
- check-cache: always
24
- pkg-manager: yarn-berry
25
- attach_workspace: &attach_workspace
26
- at: ~/project
27
- nx/set-shas: &nx_set_shas_option
28
- error-on-no-successful-workflow: false
29
- main-branch-name: main
30
- workflow-name: build-test-deploy
31
- <% if (keepContinuationJobs) { %>
32
- only_main_and_deploy_branches: &only_main_and_deploy_branches
33
- branches:
34
- only:
35
- - main
36
- - /^deploy.*/
37
- <% } %>
38
-
39
- jobs:
40
- install_packages:
41
- <<: *setup_env_node
42
- steps:
43
- - checkout
44
- - node/install-packages: *install_packages
45
-
46
- lint:
47
- <<: *setup_env_node
48
- steps:
49
- - checkout
50
- - node/install-packages: *install_packages
51
- - nx/set-shas: *nx_set_shas_option
52
- - run: npx nx affected -t lint
53
-
54
- nx-conformance:
55
- <<: *setup_env_node
56
- steps:
57
- - checkout
58
- - node/install-packages: *install_packages
59
- - run: npx nx-cloud record -- npx nx-cloud conformance:check
60
-
61
- nx-sync:
62
- <<: *setup_env_node
63
- steps:
64
- - checkout
65
- - node/install-packages: *install_packages
66
- - run: npx nx-cloud record -- npx nx sync:check
67
-
68
- format:
69
- <<: *setup_env_node
70
- steps:
71
- - checkout
72
- - node/install-packages: *install_packages
73
- - run: npx nx-cloud record -- npx nx format:check
74
-
75
- build:
76
- <<: *setup_env_node
77
- steps:
78
- - checkout
79
- - node/install-packages: *install_packages
80
- - nx/set-shas: *nx_set_shas_option
81
- - run: npx nx run-many -t build
82
- - persist_to_workspace:
83
- root: '.'
84
- paths:
85
- - dist
86
- - apps/*/dist
87
- - packages/*/dist
88
- - libs/*/dist
89
-
90
- test:
91
- <<: *setup_env_node
92
- steps:
93
- - checkout
94
- - node/install-packages: *install_packages
95
- - nx/set-shas: *nx_set_shas_option
96
- - run: npx nx affected -t test
97
-
98
- publish:
99
- <<: *setup_env_machine
100
- steps:
101
- - checkout
102
- - attach_workspace: *attach_workspace
103
- - node/install:
104
- install-yarn: true
105
- - node/install-packages: *install_packages
106
- - nx/set-shas: *nx_set_shas_option
107
- - aws-cli/setup:
108
- role_arn: ${PUBLISH_ROLE_ARN}
109
- profile_name: 'OIDC-PROFILE'
110
- - run:
111
- name: 'Install Helm 3'
112
- command: |
113
- curl -sSL https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
114
- - run:
115
- name: 'Install Tsh'
116
- command: |
117
- curl -LsSO https://cdn.teleport.dev/teleport-${TELEPORT_VERSION}-linux-amd64-bin.tar.gz
118
- tar -xzf teleport-${TELEPORT_VERSION}-linux-amd64-bin.tar.gz
119
- cd teleport
120
- sudo ./install
121
- - run:
122
- name: 'Install Oras'
123
- command: |
124
- VERSION="1.2.2"
125
- curl -LO "https://github.com/oras-project/oras/releases/download/v${VERSION}/oras_${VERSION}_linux_amd64.tar.gz"
126
- mkdir -p oras-install/
127
- tar -zxf oras_${VERSION}_*.tar.gz -C oras-install/
128
- sudo mv oras-install/oras /usr/local/bin/
129
- rm -rf oras_${VERSION}_*.tar.gz oras-install/
130
- - run:
131
- name: Release
132
- command: |
133
- export GH_TOKEN="$(cat github_token)"
134
- export GITHUB_TOKEN="$(cat github_token)"
135
- git remote set-url origin https://x-access-token:${GH_TOKEN}@github.com/PayFit/${CIRCLE_PROJECT_REPONAME}.git
136
- npx nx run <%= packageJsonName %>:release
137
-
138
- <% if (keepContinuationJobs) { %>
139
- affected-merge-continuation:
140
- <<: *setup_env_node
141
- steps:
142
- - checkout
143
- - node/install-packages: *install_packages
144
- - nx/set-shas: *nx_set_shas_option
145
- - payfit-nx/affected-apps:
146
- output-file: affected-list.txt
147
- main-branch-name: main
148
- allow-on-hold-workflow: true
149
- nx-ci-execution-id: $CIRCLE_WORKFLOW_ID
150
- projects-to-exclude: '<%= packageJsonName %>'
151
- - payfit-nx/merge-circle-config:
152
- shared-config-file: .circleci/shared-config.yml
153
- affected-list-file: affected-list.txt
154
- config-output: .circleci/continue-config.yml
155
- - run:
156
- name: skip if no affected-apps
157
- command: |
158
- # If `affected-apps` is unavailable, stop this job without continuation
159
- if [ ! -f ".circleci/continue-config.yml" ] || [ ! -s ".circleci/continue-config.yml" ]
160
- then
161
- echo 'No affected apps, nothing to do.'
162
- circleci-agent step halt
163
- exit
164
- fi
165
- - run:
166
- name: Setup parameters
167
- command: |
168
- echo "{\"workflow-id\": \"$CIRCLE_WORKFLOW_ID\"}" > parameters.json
169
- - continuation/continue:
170
- configuration_path: .circleci/continue-config.yml
171
- parameters: parameters.json
172
- <% } %>
173
-
174
- workflows:
175
- build-test-deploy:
176
- jobs:
177
- - github/auth:
178
- outputFile: github_token
179
- name: github_authenticate
180
- context:
181
- - NX_COMMON_PACKAGES # TSH config / AWS credentials / NPM token
182
- - install_packages:
183
- context: NX_COMMON_PACKAGES # TSH config / AWS credentials / NPM token
184
-
185
- - lint:
186
- context: NX_COMMON_PACKAGES # TSH config / AWS credentials / NPM token
187
- requires:
188
- - install_packages
189
-
190
- - nx-sync:
191
- context: NX_COMMON_PACKAGES # TSH config / AWS credentials / NPM token
192
- requires:
193
- - install_packages
194
-
195
- - format:
196
- context: NX_COMMON_PACKAGES # TSH config / AWS credentials / NPM token
197
- requires:
198
- - install_packages
199
-
200
- - nx-conformance:
201
- context: NX_COMMON_PACKAGES # TSH config / AWS credentials / NPM token
202
- requires:
203
- - install_packages
204
-
205
- - build:
206
- context: NX_COMMON_PACKAGES # TSH config / AWS credentials / NPM token
207
- requires:
208
- - install_packages
209
-
210
- - test:
211
- context: NX_COMMON_PACKAGES # TSH config / AWS credentials / NPM token
212
- requires:
213
- - install_packages
214
-
215
- - publish:
216
- name: Publish
217
- requires:
218
- - github_authenticate
219
- - test
220
- - build
221
- context:
222
- - NX_COMMON_PACKAGES # TSH config / AWS credentials / NPM token
223
-
224
- <% if (keepContinuationJobs) { %>
225
- - affected-merge-continuation:
226
- requires:
227
- - build
228
- - test
229
- context:
230
- - NX_COMMON_PACKAGES # TSH config / AWS credentials / NPM token
231
- filters: *only_main_and_deploy_branches
232
- <% } %>
@@ -1,24 +0,0 @@
1
- version: v2
2
- onboarding:
3
- token: "nx-common-packages"
4
- join_method: "circleci"
5
- storage:
6
- type: "directory"
7
- path: "/tmp/tbot-data"
8
- symlinks: "try-secure"
9
- acls: "off"
10
- outputs:
11
- - type: "application"
12
- destination:
13
- type: "directory"
14
- path: "./certs"
15
- symlinks: "try-secure"
16
- acls: "off"
17
- app_name: "charts-shared"
18
- specific_tls_naming: false
19
- debug: false
20
- auth_server: "payfit.teleport.sh:443"
21
- certificate_ttl: "1h0m0s"
22
- renewal_interval: "20m0s"
23
- oneshot: true
24
- fips: false
@@ -1 +0,0 @@
1
- //registry.npmjs.org/:_authToken=${NPM_TOKEN}