@codedrifters/configulator 0.0.0 → 0.0.1
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/LICENSE +1 -1
- package/README.md +761 -1
- package/lib/aws/aws-deployment-config.d.ts +45 -108
- package/lib/aws/aws-deployment-config.js +69 -100
- package/lib/aws/aws-deployment-target.d.ts +210 -0
- package/lib/aws/aws-deployment-target.js +202 -0
- package/lib/aws/index.d.ts +1 -1
- package/lib/aws/index.js +2 -2
- package/lib/index.d.ts +9 -0
- package/lib/index.js +26 -0
- package/lib/jsii/index.d.ts +1 -0
- package/lib/jsii/index.js +18 -0
- package/lib/jsii/jsii-faker.d.ts +47 -0
- package/lib/jsii/jsii-faker.js +103 -0
- package/lib/pnpm/pnpm-workspace.d.ts +240 -1
- package/lib/pnpm/pnpm-workspace.js +155 -15
- package/lib/projects/index.d.ts +2 -0
- package/lib/projects/index.js +19 -0
- package/lib/projects/monorepo-project.d.ts +50 -0
- package/lib/projects/monorepo-project.js +203 -0
- package/lib/projects/typescript-project.d.ts +4 -0
- package/lib/projects/typescript-project.js +150 -0
- package/lib/turbo/turbo-repo.d.ts +116 -9
- package/lib/turbo/turbo-repo.js +107 -20
- package/lib/versions.d.ts +19 -7
- package/lib/versions.js +20 -8
- package/lib/vscode/vscode.js +2 -1
- package/lib/workflows/aws-deploy-workflow.d.ts +84 -0
- package/lib/workflows/aws-deploy-workflow.js +312 -0
- package/lib/workflows/index.d.ts +1 -2
- package/lib/workflows/index.js +2 -3
- package/package.json +21 -20
- package/lib/workflows/build-workflow.d.ts +0 -13
- package/lib/workflows/build-workflow.js +0 -64
- package/lib/workflows/deploy-workflow.d.ts +0 -17
- package/lib/workflows/deploy-workflow.js +0 -113
- package/lib/workflows/steps/deploy.d.ts +0 -4
- package/lib/workflows/steps/deploy.js +0 -62
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DeployWorkflow = exports.PROD_DEPLOY_NAME = void 0;
|
|
4
|
-
const projen_1 = require("projen");
|
|
5
|
-
const awscdk_1 = require("projen/lib/awscdk");
|
|
6
|
-
const build_1 = require("projen/lib/build");
|
|
7
|
-
const github_1 = require("projen/lib/github");
|
|
8
|
-
const workflows_model_1 = require("projen/lib/github/workflows-model");
|
|
9
|
-
const versions_1 = require("../versions");
|
|
10
|
-
const deploy_1 = require("./steps/deploy");
|
|
11
|
-
const aws_deployment_config_1 = require("../aws/aws-deployment-config");
|
|
12
|
-
const turbo_1 = require("../turbo");
|
|
13
|
-
exports.PROD_DEPLOY_NAME = "prod-deploy";
|
|
14
|
-
class DeployWorkflow extends projen_1.Component {
|
|
15
|
-
constructor(project) {
|
|
16
|
-
super(project);
|
|
17
|
-
this.project = project;
|
|
18
|
-
const github = github_1.GitHub.of(project);
|
|
19
|
-
if (!github) {
|
|
20
|
-
throw new Error("DeployWorkflow requires a GitHub component in the project");
|
|
21
|
-
}
|
|
22
|
-
/***************************************************************************
|
|
23
|
-
*
|
|
24
|
-
* Build normally
|
|
25
|
-
*
|
|
26
|
-
* TODO: This should really be using a released artifact from a
|
|
27
|
-
* versioned build.
|
|
28
|
-
*
|
|
29
|
-
**************************************************************************/
|
|
30
|
-
this.workflow = new build_1.BuildWorkflow(project, {
|
|
31
|
-
name: "deploy",
|
|
32
|
-
buildTask: project.buildTask,
|
|
33
|
-
workflowTriggers: {
|
|
34
|
-
push: {
|
|
35
|
-
branches: ["main"],
|
|
36
|
-
},
|
|
37
|
-
workflowDispatch: {},
|
|
38
|
-
},
|
|
39
|
-
mutableBuild: false,
|
|
40
|
-
preBuildSteps: [
|
|
41
|
-
{
|
|
42
|
-
name: "Setup PNPM",
|
|
43
|
-
uses: "pnpm/action-setup@v3",
|
|
44
|
-
with: {
|
|
45
|
-
version: versions_1.VERSION.PNPM_VERSION,
|
|
46
|
-
},
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
name: "Install dependencies",
|
|
50
|
-
run: "pnpm i --no-frozen-lockfile",
|
|
51
|
-
},
|
|
52
|
-
],
|
|
53
|
-
});
|
|
54
|
-
/**
|
|
55
|
-
* Attach build all turbo runner to the build workflow.
|
|
56
|
-
*/
|
|
57
|
-
this.workflow.addPostBuildSteps({
|
|
58
|
-
name: "Build Sub Projects",
|
|
59
|
-
run: `npx projen ${turbo_1.ROOT_CI_TASK_NAME}`,
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* This runs after all the projects are setup but before any files are
|
|
64
|
-
* synthesized. This allows us to update the build yaml with complete
|
|
65
|
-
* information.
|
|
66
|
-
*/
|
|
67
|
-
preSynthesize() {
|
|
68
|
-
super.preSynthesize();
|
|
69
|
-
/***************************************************************************
|
|
70
|
-
*
|
|
71
|
-
* Production Deploy
|
|
72
|
-
*
|
|
73
|
-
**************************************************************************/
|
|
74
|
-
this.project.subprojects
|
|
75
|
-
// only AwsCdkTypeScriptApp projects
|
|
76
|
-
.filter((subproject) => subproject instanceof awscdk_1.AwsCdkTypeScriptApp)
|
|
77
|
-
.forEach((subproject) => {
|
|
78
|
-
/**
|
|
79
|
-
* An array of all deployment configs.
|
|
80
|
-
*/
|
|
81
|
-
const deployConfigs = aws_deployment_config_1.AwsDeploymentConfig.of(subproject);
|
|
82
|
-
/**
|
|
83
|
-
* Any configs? let's see if any have CI support for PR deploys!
|
|
84
|
-
*/
|
|
85
|
-
if (deployConfigs) {
|
|
86
|
-
deployConfigs.forEach((config) => {
|
|
87
|
-
config.deploymentTargets
|
|
88
|
-
// only development targets for CI
|
|
89
|
-
.filter((dt) => dt.ciDeployment &&
|
|
90
|
-
dt.awsDeploymentType === aws_deployment_config_1.AWS_DEPLOY_TYPE.PROD)
|
|
91
|
-
.forEach((dt) => {
|
|
92
|
-
/**
|
|
93
|
-
* Nice long annoying but unique name.
|
|
94
|
-
*/
|
|
95
|
-
const deployJobName = `deploy-${this.project.name}-${dt.account}-${dt.region}`;
|
|
96
|
-
this.workflow.addPostBuildJob(deployJobName, {
|
|
97
|
-
name: `Deploy Prod to ${dt.account}/${dt.region}`,
|
|
98
|
-
runsOn: ["ubuntu-latest"],
|
|
99
|
-
permissions: {
|
|
100
|
-
contents: workflows_model_1.JobPermission.READ,
|
|
101
|
-
idToken: workflows_model_1.JobPermission.WRITE,
|
|
102
|
-
},
|
|
103
|
-
concurrency: deployJobName,
|
|
104
|
-
steps: [...(0, deploy_1.deploySteps)(subproject, dt)],
|
|
105
|
-
});
|
|
106
|
-
});
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
exports.DeployWorkflow = DeployWorkflow;
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95LXdvcmtmbG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3dvcmtmbG93cy9kZXBsb3ktd29ya2Zsb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQW1DO0FBQ25DLDhDQUF3RDtBQUN4RCw0Q0FBaUQ7QUFDakQsOENBQTJDO0FBQzNDLHVFQUFrRTtBQUVsRSwwQ0FBc0M7QUFDdEMsMkNBQTZDO0FBQzdDLHdFQUdzQztBQUN0QyxvQ0FBNkM7QUFFaEMsUUFBQSxnQkFBZ0IsR0FBRyxhQUFhLENBQUM7QUFFOUMsTUFBYSxjQUFlLFNBQVEsa0JBQVM7SUFNM0MsWUFBbUIsT0FBNkI7UUFDOUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBREUsWUFBTyxHQUFQLE9BQU8sQ0FBc0I7UUFHOUMsTUFBTSxNQUFNLEdBQUcsZUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVsQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixNQUFNLElBQUksS0FBSyxDQUNiLDJEQUEyRCxDQUM1RCxDQUFDO1FBQ0osQ0FBQztRQUVEOzs7Ozs7O29GQU80RTtRQUU1RSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUkscUJBQWEsQ0FBQyxPQUFPLEVBQUU7WUFDekMsSUFBSSxFQUFFLFFBQVE7WUFDZCxTQUFTLEVBQUUsT0FBTyxDQUFDLFNBQVM7WUFDNUIsZ0JBQWdCLEVBQUU7Z0JBQ2hCLElBQUksRUFBRTtvQkFDSixRQUFRLEVBQUUsQ0FBQyxNQUFNLENBQUM7aUJBQ25CO2dCQUNELGdCQUFnQixFQUFFLEVBQUU7YUFDckI7WUFDRCxZQUFZLEVBQUUsS0FBSztZQUVuQixhQUFhLEVBQUU7Z0JBQ2I7b0JBQ0UsSUFBSSxFQUFFLFlBQVk7b0JBQ2xCLElBQUksRUFBRSxzQkFBc0I7b0JBQzVCLElBQUksRUFBRTt3QkFDSixPQUFPLEVBQUUsa0JBQU8sQ0FBQyxZQUFZO3FCQUM5QjtpQkFDRjtnQkFDRDtvQkFDRSxJQUFJLEVBQUUsc0JBQXNCO29CQUM1QixHQUFHLEVBQUUsNkJBQTZCO2lCQUNuQzthQUNGO1NBQ0YsQ0FBQyxDQUFDO1FBRUg7O1dBRUc7UUFDSCxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDO1lBQzlCLElBQUksRUFBRSxvQkFBb0I7WUFDMUIsR0FBRyxFQUFFLGNBQWMseUJBQWlCLEVBQUU7U0FDdkMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxhQUFhO1FBQ1gsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRXRCOzs7O29GQUk0RTtRQUU1RSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVc7WUFDdEIsb0NBQW9DO2FBQ25DLE1BQU0sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsVUFBVSxZQUFZLDRCQUFtQixDQUFDO2FBQ2pFLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ3RCOztlQUVHO1lBQ0gsTUFBTSxhQUFhLEdBQUcsMkNBQW1CLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBRXpEOztlQUVHO1lBQ0gsSUFBSSxhQUFhLEVBQUUsQ0FBQztnQkFDbEIsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO29CQUMvQixNQUFNLENBQUMsaUJBQWlCO3dCQUN0QixrQ0FBa0M7eUJBQ2pDLE1BQU0sQ0FDTCxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQ0wsRUFBRSxDQUFDLFlBQVk7d0JBQ2YsRUFBRSxDQUFDLGlCQUFpQixLQUFLLHVDQUFlLENBQUMsSUFBSSxDQUNoRDt5QkFDQSxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTt3QkFDZDs7MkJBRUc7d0JBQ0gsTUFBTSxhQUFhLEdBQUcsVUFBVSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQzt3QkFFL0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFOzRCQUMzQyxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRTs0QkFDakQsTUFBTSxFQUFFLENBQUMsZUFBZSxDQUFDOzRCQUN6QixXQUFXLEVBQUU7Z0NBQ1gsUUFBUSxFQUFFLCtCQUFhLENBQUMsSUFBSTtnQ0FDNUIsT0FBTyxFQUFFLCtCQUFhLENBQUMsS0FBSzs2QkFDN0I7NEJBQ0QsV0FBVyxFQUFFLGFBQWE7NEJBQzFCLEtBQUssRUFBRSxDQUFDLEdBQUcsSUFBQSxvQkFBVyxFQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQzt5QkFDeEMsQ0FBQyxDQUFDO29CQUNMLENBQUMsQ0FBQyxDQUFDO2dCQUNQLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNGO0FBckhELHdDQXFIQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCJwcm9qZW5cIjtcbmltcG9ydCB7IEF3c0Nka1R5cGVTY3JpcHRBcHAgfSBmcm9tIFwicHJvamVuL2xpYi9hd3NjZGtcIjtcbmltcG9ydCB7IEJ1aWxkV29ya2Zsb3cgfSBmcm9tIFwicHJvamVuL2xpYi9idWlsZFwiO1xuaW1wb3J0IHsgR2l0SHViIH0gZnJvbSBcInByb2plbi9saWIvZ2l0aHViXCI7XG5pbXBvcnQgeyBKb2JQZXJtaXNzaW9uIH0gZnJvbSBcInByb2plbi9saWIvZ2l0aHViL3dvcmtmbG93cy1tb2RlbFwiO1xuaW1wb3J0IHsgVHlwZVNjcmlwdEFwcFByb2plY3QgfSBmcm9tIFwicHJvamVuL2xpYi90eXBlc2NyaXB0XCI7XG5pbXBvcnQgeyBWRVJTSU9OIH0gZnJvbSBcIi4uL3ZlcnNpb25zXCI7XG5pbXBvcnQgeyBkZXBsb3lTdGVwcyB9IGZyb20gXCIuL3N0ZXBzL2RlcGxveVwiO1xuaW1wb3J0IHtcbiAgQVdTX0RFUExPWV9UWVBFLFxuICBBd3NEZXBsb3ltZW50Q29uZmlnLFxufSBmcm9tIFwiLi4vYXdzL2F3cy1kZXBsb3ltZW50LWNvbmZpZ1wiO1xuaW1wb3J0IHsgUk9PVF9DSV9UQVNLX05BTUUgfSBmcm9tIFwiLi4vdHVyYm9cIjtcblxuZXhwb3J0IGNvbnN0IFBST0RfREVQTE9ZX05BTUUgPSBcInByb2QtZGVwbG95XCI7XG5cbmV4cG9ydCBjbGFzcyBEZXBsb3lXb3JrZmxvdyBleHRlbmRzIENvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBIb2xkIHRoZSBkZXBsb3kgd29ya2Zsb3cgc28gd2UgY2FuIGFkZCB0byBpdCBpbiBwcmVTeW50aFxuICAgKi9cbiAgcHJpdmF0ZSB3b3JrZmxvdzogQnVpbGRXb3JrZmxvdztcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcHJvamVjdDogVHlwZVNjcmlwdEFwcFByb2plY3QpIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgIGNvbnN0IGdpdGh1YiA9IEdpdEh1Yi5vZihwcm9qZWN0KTtcblxuICAgIGlmICghZ2l0aHViKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiRGVwbG95V29ya2Zsb3cgcmVxdWlyZXMgYSBHaXRIdWIgY29tcG9uZW50IGluIHRoZSBwcm9qZWN0XCIsXG4gICAgICApO1xuICAgIH1cblxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgKlxuICAgICAqIEJ1aWxkIG5vcm1hbGx5XG4gICAgICpcbiAgICAgKiBUT0RPOiBUaGlzIHNob3VsZCByZWFsbHkgYmUgdXNpbmcgYSByZWxlYXNlZCBhcnRpZmFjdCBmcm9tIGFcbiAgICAgKiAgICAgICAgdmVyc2lvbmVkIGJ1aWxkLlxuICAgICAqXG4gICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gICAgdGhpcy53b3JrZmxvdyA9IG5ldyBCdWlsZFdvcmtmbG93KHByb2plY3QsIHtcbiAgICAgIG5hbWU6IFwiZGVwbG95XCIsXG4gICAgICBidWlsZFRhc2s6IHByb2plY3QuYnVpbGRUYXNrLFxuICAgICAgd29ya2Zsb3dUcmlnZ2Vyczoge1xuICAgICAgICBwdXNoOiB7XG4gICAgICAgICAgYnJhbmNoZXM6IFtcIm1haW5cIl0sXG4gICAgICAgIH0sXG4gICAgICAgIHdvcmtmbG93RGlzcGF0Y2g6IHt9LFxuICAgICAgfSxcbiAgICAgIG11dGFibGVCdWlsZDogZmFsc2UsXG5cbiAgICAgIHByZUJ1aWxkU3RlcHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwiU2V0dXAgUE5QTVwiLFxuICAgICAgICAgIHVzZXM6IFwicG5wbS9hY3Rpb24tc2V0dXBAdjNcIixcbiAgICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgICB2ZXJzaW9uOiBWRVJTSU9OLlBOUE1fVkVSU0lPTixcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogXCJJbnN0YWxsIGRlcGVuZGVuY2llc1wiLFxuICAgICAgICAgIHJ1bjogXCJwbnBtIGkgLS1uby1mcm96ZW4tbG9ja2ZpbGVcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBBdHRhY2ggYnVpbGQgYWxsIHR1cmJvIHJ1bm5lciB0byB0aGUgYnVpbGQgd29ya2Zsb3cuXG4gICAgICovXG4gICAgdGhpcy53b3JrZmxvdy5hZGRQb3N0QnVpbGRTdGVwcyh7XG4gICAgICBuYW1lOiBcIkJ1aWxkIFN1YiBQcm9qZWN0c1wiLFxuICAgICAgcnVuOiBgbnB4IHByb2plbiAke1JPT1RfQ0lfVEFTS19OQU1FfWAsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBydW5zIGFmdGVyIGFsbCB0aGUgcHJvamVjdHMgYXJlIHNldHVwIGJ1dCBiZWZvcmUgYW55IGZpbGVzIGFyZVxuICAgKiBzeW50aGVzaXplZC4gVGhpcyBhbGxvd3MgdXMgdG8gdXBkYXRlIHRoZSBidWlsZCB5YW1sIHdpdGggY29tcGxldGVcbiAgICogaW5mb3JtYXRpb24uXG4gICAqL1xuICBwcmVTeW50aGVzaXplKCk6IHZvaWQge1xuICAgIHN1cGVyLnByZVN5bnRoZXNpemUoKTtcblxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgKlxuICAgICAqIFByb2R1Y3Rpb24gRGVwbG95XG4gICAgICpcbiAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgICB0aGlzLnByb2plY3Quc3VicHJvamVjdHNcbiAgICAgIC8vIG9ubHkgQXdzQ2RrVHlwZVNjcmlwdEFwcCBwcm9qZWN0c1xuICAgICAgLmZpbHRlcigoc3VicHJvamVjdCkgPT4gc3VicHJvamVjdCBpbnN0YW5jZW9mIEF3c0Nka1R5cGVTY3JpcHRBcHApXG4gICAgICAuZm9yRWFjaCgoc3VicHJvamVjdCkgPT4ge1xuICAgICAgICAvKipcbiAgICAgICAgICogQW4gYXJyYXkgb2YgYWxsIGRlcGxveW1lbnQgY29uZmlncy5cbiAgICAgICAgICovXG4gICAgICAgIGNvbnN0IGRlcGxveUNvbmZpZ3MgPSBBd3NEZXBsb3ltZW50Q29uZmlnLm9mKHN1YnByb2plY3QpO1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBBbnkgY29uZmlncz8gbGV0J3Mgc2VlIGlmIGFueSBoYXZlIENJIHN1cHBvcnQgZm9yIFBSIGRlcGxveXMhXG4gICAgICAgICAqL1xuICAgICAgICBpZiAoZGVwbG95Q29uZmlncykge1xuICAgICAgICAgIGRlcGxveUNvbmZpZ3MuZm9yRWFjaCgoY29uZmlnKSA9PiB7XG4gICAgICAgICAgICBjb25maWcuZGVwbG95bWVudFRhcmdldHNcbiAgICAgICAgICAgICAgLy8gb25seSBkZXZlbG9wbWVudCB0YXJnZXRzIGZvciBDSVxuICAgICAgICAgICAgICAuZmlsdGVyKFxuICAgICAgICAgICAgICAgIChkdCkgPT5cbiAgICAgICAgICAgICAgICAgIGR0LmNpRGVwbG95bWVudCAmJlxuICAgICAgICAgICAgICAgICAgZHQuYXdzRGVwbG95bWVudFR5cGUgPT09IEFXU19ERVBMT1lfVFlQRS5QUk9ELFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIC5mb3JFYWNoKChkdCkgPT4ge1xuICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIE5pY2UgbG9uZyBhbm5veWluZyBidXQgdW5pcXVlIG5hbWUuXG4gICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgY29uc3QgZGVwbG95Sm9iTmFtZSA9IGBkZXBsb3ktJHt0aGlzLnByb2plY3QubmFtZX0tJHtkdC5hY2NvdW50fS0ke2R0LnJlZ2lvbn1gO1xuXG4gICAgICAgICAgICAgICAgdGhpcy53b3JrZmxvdy5hZGRQb3N0QnVpbGRKb2IoZGVwbG95Sm9iTmFtZSwge1xuICAgICAgICAgICAgICAgICAgbmFtZTogYERlcGxveSBQcm9kIHRvICR7ZHQuYWNjb3VudH0vJHtkdC5yZWdpb259YCxcbiAgICAgICAgICAgICAgICAgIHJ1bnNPbjogW1widWJ1bnR1LWxhdGVzdFwiXSxcbiAgICAgICAgICAgICAgICAgIHBlcm1pc3Npb25zOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnRzOiBKb2JQZXJtaXNzaW9uLlJFQUQsXG4gICAgICAgICAgICAgICAgICAgIGlkVG9rZW46IEpvYlBlcm1pc3Npb24uV1JJVEUsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgY29uY3VycmVuY3k6IGRlcGxveUpvYk5hbWUsXG4gICAgICAgICAgICAgICAgICBzdGVwczogWy4uLmRlcGxveVN0ZXBzKHN1YnByb2plY3QsIGR0KV0sXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { AwsCdkTypeScriptApp } from "projen/lib/awscdk";
|
|
2
|
-
import { JobStep } from "projen/lib/github/workflows-model";
|
|
3
|
-
import { AwsDeploymentTarget } from "../../aws/aws-deployment-config";
|
|
4
|
-
export declare const deploySteps: (project: AwsCdkTypeScriptApp, deployTarget: AwsDeploymentTarget) => Array<JobStep>;
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.deploySteps = void 0;
|
|
4
|
-
const node_path_1 = require("node:path");
|
|
5
|
-
const versions_1 = require("../../versions");
|
|
6
|
-
const deploySteps = (project, deployTarget) => {
|
|
7
|
-
const projectPath = (0, node_path_1.relative)(project.root.outdir, project.outdir);
|
|
8
|
-
const cdkOut = (0, node_path_1.join)("dist", projectPath, "cdk.out");
|
|
9
|
-
return [
|
|
10
|
-
/**
|
|
11
|
-
* Setup PNPM
|
|
12
|
-
*/
|
|
13
|
-
{
|
|
14
|
-
name: "Setup PNPM",
|
|
15
|
-
uses: "pnpm/action-setup@v3",
|
|
16
|
-
with: {
|
|
17
|
-
version: versions_1.VERSION.PNPM_VERSION,
|
|
18
|
-
},
|
|
19
|
-
},
|
|
20
|
-
/**
|
|
21
|
-
* Setup Node
|
|
22
|
-
*/
|
|
23
|
-
{
|
|
24
|
-
name: "Setup Node",
|
|
25
|
-
uses: "actions/setup-node@v4",
|
|
26
|
-
with: {
|
|
27
|
-
["node-version"]: versions_1.VERSION.NODE_WORKFLOWS,
|
|
28
|
-
},
|
|
29
|
-
// occasionally this step fails due to internal issues at github
|
|
30
|
-
timeoutMinutes: 1,
|
|
31
|
-
},
|
|
32
|
-
/**
|
|
33
|
-
* Install CDK
|
|
34
|
-
*/
|
|
35
|
-
{
|
|
36
|
-
name: "Install CDK",
|
|
37
|
-
run: "pnpm add aws-cdk",
|
|
38
|
-
},
|
|
39
|
-
/**
|
|
40
|
-
* Configure AWS creds.
|
|
41
|
-
*/
|
|
42
|
-
{
|
|
43
|
-
name: `Configure AWS Credentials for ${deployTarget.account}/${deployTarget.region}`,
|
|
44
|
-
uses: "aws-actions/configure-aws-credentials@v4",
|
|
45
|
-
with: {
|
|
46
|
-
"role-to-assume": deployTarget.ciDeploymentConfig?.roleArn ??
|
|
47
|
-
"ERROR: No role ARN provided",
|
|
48
|
-
"aws-region": deployTarget.region,
|
|
49
|
-
"role-duration-seconds": 900, // 15 minutes
|
|
50
|
-
},
|
|
51
|
-
},
|
|
52
|
-
/**
|
|
53
|
-
* Run CDK Deploy
|
|
54
|
-
*/
|
|
55
|
-
{
|
|
56
|
-
name: `Deploy To ${deployTarget.account}/${deployTarget.region}`,
|
|
57
|
-
run: `pnpm dlx aws-cdk deploy --no-rollback --require-approval=never --app=${cdkOut} "*-${deployTarget.account}-${deployTarget.region}"`,
|
|
58
|
-
},
|
|
59
|
-
];
|
|
60
|
-
};
|
|
61
|
-
exports.deploySteps = deploySteps;
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9zdGVwcy9kZXBsb3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUNBQTJDO0FBSTNDLDZDQUF5QztBQUVsQyxNQUFNLFdBQVcsR0FBRyxDQUN6QixPQUE0QixFQUM1QixZQUFpQyxFQUNqQixFQUFFO0lBQ2xCLE1BQU0sV0FBVyxHQUFHLElBQUEsb0JBQVEsRUFBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFbEUsTUFBTSxNQUFNLEdBQUcsSUFBQSxnQkFBSSxFQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFFcEQsT0FBTztRQUNMOztXQUVHO1FBQ0g7WUFDRSxJQUFJLEVBQUUsWUFBWTtZQUNsQixJQUFJLEVBQUUsc0JBQXNCO1lBQzVCLElBQUksRUFBRTtnQkFDSixPQUFPLEVBQUUsa0JBQU8sQ0FBQyxZQUFZO2FBQzlCO1NBQ0Y7UUFFRDs7V0FFRztRQUNIO1lBQ0UsSUFBSSxFQUFFLFlBQVk7WUFDbEIsSUFBSSxFQUFFLHVCQUF1QjtZQUM3QixJQUFJLEVBQUU7Z0JBQ0osQ0FBQyxjQUFjLENBQUMsRUFBRSxrQkFBTyxDQUFDLGNBQWM7YUFDekM7WUFDRCxnRUFBZ0U7WUFDaEUsY0FBYyxFQUFFLENBQUM7U0FDbEI7UUFFRDs7V0FFRztRQUNIO1lBQ0UsSUFBSSxFQUFFLGFBQWE7WUFDbkIsR0FBRyxFQUFFLGtCQUFrQjtTQUN4QjtRQUVEOztXQUVHO1FBQ0g7WUFDRSxJQUFJLEVBQUUsaUNBQWlDLFlBQVksQ0FBQyxPQUFPLElBQUksWUFBWSxDQUFDLE1BQU0sRUFBRTtZQUNwRixJQUFJLEVBQUUsMENBQTBDO1lBQ2hELElBQUksRUFBRTtnQkFDSixnQkFBZ0IsRUFDZCxZQUFZLENBQUMsa0JBQWtCLEVBQUUsT0FBTztvQkFDeEMsNkJBQTZCO2dCQUMvQixZQUFZLEVBQUUsWUFBWSxDQUFDLE1BQU07Z0JBQ2pDLHVCQUF1QixFQUFFLEdBQUcsRUFBRSxhQUFhO2FBQzVDO1NBQ0Y7UUFFRDs7V0FFRztRQUNIO1lBQ0UsSUFBSSxFQUFFLGFBQWEsWUFBWSxDQUFDLE9BQU8sSUFBSSxZQUFZLENBQUMsTUFBTSxFQUFFO1lBQ2hFLEdBQUcsRUFBRSx3RUFBd0UsTUFBTSxPQUFPLFlBQVksQ0FBQyxPQUFPLElBQUksWUFBWSxDQUFDLE1BQU0sR0FBRztTQUN6STtLQUNGLENBQUM7QUFDSixDQUFDLENBQUM7QUFoRVcsUUFBQSxXQUFXLGVBZ0V0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpvaW4sIHJlbGF0aXZlIH0gZnJvbSBcIm5vZGU6cGF0aFwiO1xuaW1wb3J0IHsgQXdzQ2RrVHlwZVNjcmlwdEFwcCB9IGZyb20gXCJwcm9qZW4vbGliL2F3c2Nka1wiO1xuaW1wb3J0IHsgSm9iU3RlcCB9IGZyb20gXCJwcm9qZW4vbGliL2dpdGh1Yi93b3JrZmxvd3MtbW9kZWxcIjtcbmltcG9ydCB7IEF3c0RlcGxveW1lbnRUYXJnZXQgfSBmcm9tIFwiLi4vLi4vYXdzL2F3cy1kZXBsb3ltZW50LWNvbmZpZ1wiO1xuaW1wb3J0IHsgVkVSU0lPTiB9IGZyb20gXCIuLi8uLi92ZXJzaW9uc1wiO1xuXG5leHBvcnQgY29uc3QgZGVwbG95U3RlcHMgPSAoXG4gIHByb2plY3Q6IEF3c0Nka1R5cGVTY3JpcHRBcHAsXG4gIGRlcGxveVRhcmdldDogQXdzRGVwbG95bWVudFRhcmdldCxcbik6IEFycmF5PEpvYlN0ZXA+ID0+IHtcbiAgY29uc3QgcHJvamVjdFBhdGggPSByZWxhdGl2ZShwcm9qZWN0LnJvb3Qub3V0ZGlyLCBwcm9qZWN0Lm91dGRpcik7XG5cbiAgY29uc3QgY2RrT3V0ID0gam9pbihcImRpc3RcIiwgcHJvamVjdFBhdGgsIFwiY2RrLm91dFwiKTtcblxuICByZXR1cm4gW1xuICAgIC8qKlxuICAgICAqIFNldHVwIFBOUE1cbiAgICAgKi9cbiAgICB7XG4gICAgICBuYW1lOiBcIlNldHVwIFBOUE1cIixcbiAgICAgIHVzZXM6IFwicG5wbS9hY3Rpb24tc2V0dXBAdjNcIixcbiAgICAgIHdpdGg6IHtcbiAgICAgICAgdmVyc2lvbjogVkVSU0lPTi5QTlBNX1ZFUlNJT04sXG4gICAgICB9LFxuICAgIH0sXG5cbiAgICAvKipcbiAgICAgKiBTZXR1cCBOb2RlXG4gICAgICovXG4gICAge1xuICAgICAgbmFtZTogXCJTZXR1cCBOb2RlXCIsXG4gICAgICB1c2VzOiBcImFjdGlvbnMvc2V0dXAtbm9kZUB2NFwiLFxuICAgICAgd2l0aDoge1xuICAgICAgICBbXCJub2RlLXZlcnNpb25cIl06IFZFUlNJT04uTk9ERV9XT1JLRkxPV1MsXG4gICAgICB9LFxuICAgICAgLy8gb2NjYXNpb25hbGx5IHRoaXMgc3RlcCBmYWlscyBkdWUgdG8gaW50ZXJuYWwgaXNzdWVzIGF0IGdpdGh1YlxuICAgICAgdGltZW91dE1pbnV0ZXM6IDEsXG4gICAgfSxcblxuICAgIC8qKlxuICAgICAqIEluc3RhbGwgQ0RLXG4gICAgICovXG4gICAge1xuICAgICAgbmFtZTogXCJJbnN0YWxsIENES1wiLFxuICAgICAgcnVuOiBcInBucG0gYWRkIGF3cy1jZGtcIixcbiAgICB9LFxuXG4gICAgLyoqXG4gICAgICogQ29uZmlndXJlIEFXUyBjcmVkcy5cbiAgICAgKi9cbiAgICB7XG4gICAgICBuYW1lOiBgQ29uZmlndXJlIEFXUyBDcmVkZW50aWFscyBmb3IgJHtkZXBsb3lUYXJnZXQuYWNjb3VudH0vJHtkZXBsb3lUYXJnZXQucmVnaW9ufWAsXG4gICAgICB1c2VzOiBcImF3cy1hY3Rpb25zL2NvbmZpZ3VyZS1hd3MtY3JlZGVudGlhbHNAdjRcIixcbiAgICAgIHdpdGg6IHtcbiAgICAgICAgXCJyb2xlLXRvLWFzc3VtZVwiOlxuICAgICAgICAgIGRlcGxveVRhcmdldC5jaURlcGxveW1lbnRDb25maWc/LnJvbGVBcm4gPz9cbiAgICAgICAgICBcIkVSUk9SOiBObyByb2xlIEFSTiBwcm92aWRlZFwiLFxuICAgICAgICBcImF3cy1yZWdpb25cIjogZGVwbG95VGFyZ2V0LnJlZ2lvbixcbiAgICAgICAgXCJyb2xlLWR1cmF0aW9uLXNlY29uZHNcIjogOTAwLCAvLyAxNSBtaW51dGVzXG4gICAgICB9LFxuICAgIH0sXG5cbiAgICAvKipcbiAgICAgKiBSdW4gQ0RLIERlcGxveVxuICAgICAqL1xuICAgIHtcbiAgICAgIG5hbWU6IGBEZXBsb3kgVG8gJHtkZXBsb3lUYXJnZXQuYWNjb3VudH0vJHtkZXBsb3lUYXJnZXQucmVnaW9ufWAsXG4gICAgICBydW46IGBwbnBtIGRseCBhd3MtY2RrIGRlcGxveSAtLW5vLXJvbGxiYWNrIC0tcmVxdWlyZS1hcHByb3ZhbD1uZXZlciAtLWFwcD0ke2Nka091dH0gXCIqLSR7ZGVwbG95VGFyZ2V0LmFjY291bnR9LSR7ZGVwbG95VGFyZ2V0LnJlZ2lvbn1cImAsXG4gICAgfSxcbiAgXTtcbn07XG4iXX0=
|