@codedrifters/configulator 0.0.126 → 0.0.127
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/lib/index.d.mts +14 -1
- package/lib/index.d.ts +14 -1
- package/lib/index.js +58 -3
- package/lib/index.js.map +1 -1
- package/lib/index.mjs +56 -3
- package/lib/index.mjs.map +1 -1
- package/package.json +1 -1
package/lib/index.mjs
CHANGED
|
@@ -1387,6 +1387,53 @@ function addApproveMergeUpgradeWorkflow(project, options) {
|
|
|
1387
1387
|
});
|
|
1388
1388
|
}
|
|
1389
1389
|
|
|
1390
|
+
// src/workflows/build-complete-job.ts
|
|
1391
|
+
import { JobPermission as JobPermission3 } from "projen/lib/github/workflows-model";
|
|
1392
|
+
var BUILD_JOB_ID = "build";
|
|
1393
|
+
var COMPLETE_JOB_ID = "complete";
|
|
1394
|
+
function buildCompleteJobRunScript(jobIds) {
|
|
1395
|
+
const lines = [];
|
|
1396
|
+
for (const id of jobIds) {
|
|
1397
|
+
const expr = "${{ needs." + id + ".result }}";
|
|
1398
|
+
if (id === BUILD_JOB_ID) {
|
|
1399
|
+
lines.push(
|
|
1400
|
+
`if [ "${expr}" != "success" ]; then echo "Job ${id} must succeed"; exit 1; fi`
|
|
1401
|
+
);
|
|
1402
|
+
} else {
|
|
1403
|
+
lines.push(
|
|
1404
|
+
`if [ "${expr}" != "success" ] && [ "${expr}" != "skipped" ]; then echo "Job ${id} must succeed or be skipped"; exit 1; fi`
|
|
1405
|
+
);
|
|
1406
|
+
}
|
|
1407
|
+
}
|
|
1408
|
+
return lines.join("\n");
|
|
1409
|
+
}
|
|
1410
|
+
function addBuildCompleteJob(buildWorkflow) {
|
|
1411
|
+
const w = buildWorkflow.workflow;
|
|
1412
|
+
if (!w?.jobs || typeof w.addJob !== "function") {
|
|
1413
|
+
return;
|
|
1414
|
+
}
|
|
1415
|
+
const jobIds = Object.keys(w.jobs).filter((id) => id !== COMPLETE_JOB_ID);
|
|
1416
|
+
if (jobIds.length === 0) {
|
|
1417
|
+
return;
|
|
1418
|
+
}
|
|
1419
|
+
const runScript = buildCompleteJobRunScript(jobIds);
|
|
1420
|
+
w.addJob(COMPLETE_JOB_ID, {
|
|
1421
|
+
name: "Complete",
|
|
1422
|
+
needs: jobIds,
|
|
1423
|
+
if: "always()",
|
|
1424
|
+
runsOn: ["ubuntu-latest"],
|
|
1425
|
+
permissions: {
|
|
1426
|
+
contents: JobPermission3.NONE
|
|
1427
|
+
},
|
|
1428
|
+
steps: [
|
|
1429
|
+
{
|
|
1430
|
+
name: "Verify all jobs succeeded or were skipped",
|
|
1431
|
+
run: runScript
|
|
1432
|
+
}
|
|
1433
|
+
]
|
|
1434
|
+
});
|
|
1435
|
+
}
|
|
1436
|
+
|
|
1390
1437
|
// src/projects/monorepo-project.ts
|
|
1391
1438
|
var postInstallDependenciesMap = /* @__PURE__ */ new WeakMap();
|
|
1392
1439
|
var MonorepoProject = class extends TypeScriptAppProject {
|
|
@@ -1624,6 +1671,9 @@ var MonorepoProject = class extends TypeScriptAppProject {
|
|
|
1624
1671
|
if (options.approveMergeUpgradeOptions) {
|
|
1625
1672
|
addApproveMergeUpgradeWorkflow(this, options.approveMergeUpgradeOptions);
|
|
1626
1673
|
}
|
|
1674
|
+
if (this.buildWorkflow) {
|
|
1675
|
+
addBuildCompleteJob(this.buildWorkflow);
|
|
1676
|
+
}
|
|
1627
1677
|
this.tasks.tryFind("post-upgrade")?.exec("pnpm upgrade -r");
|
|
1628
1678
|
this.tasks.tryFind("post-upgrade")?.spawn(this.defaultTask);
|
|
1629
1679
|
}
|
|
@@ -1690,7 +1740,7 @@ var import_utils3 = __toESM(require_lib());
|
|
|
1690
1740
|
import { Component as Component11 } from "projen";
|
|
1691
1741
|
import { BuildWorkflow } from "projen/lib/build";
|
|
1692
1742
|
import { GitHub } from "projen/lib/github";
|
|
1693
|
-
import { JobPermission as
|
|
1743
|
+
import { JobPermission as JobPermission4 } from "projen/lib/github/workflows-model";
|
|
1694
1744
|
var PROD_DEPLOY_NAME = "prod-deploy";
|
|
1695
1745
|
var AwsDeployWorkflow = class _AwsDeployWorkflow extends Component11 {
|
|
1696
1746
|
constructor(project, options = {}) {
|
|
@@ -1919,14 +1969,15 @@ var AwsDeployWorkflow = class _AwsDeployWorkflow extends Component11 {
|
|
|
1919
1969
|
],
|
|
1920
1970
|
runsOn: ["ubuntu-latest"],
|
|
1921
1971
|
permissions: {
|
|
1922
|
-
contents:
|
|
1923
|
-
idToken:
|
|
1972
|
+
contents: JobPermission4.READ,
|
|
1973
|
+
idToken: JobPermission4.WRITE
|
|
1924
1974
|
},
|
|
1925
1975
|
concurrency: deployJobName,
|
|
1926
1976
|
if: jobCondition,
|
|
1927
1977
|
steps: [...this.deploySteps(target)]
|
|
1928
1978
|
});
|
|
1929
1979
|
});
|
|
1980
|
+
addBuildCompleteJob(this.buildWorkflow);
|
|
1930
1981
|
}
|
|
1931
1982
|
static of(project, buildWorkflow) {
|
|
1932
1983
|
const isDefined = (c) => c instanceof _AwsDeployWorkflow && c.buildWorkflow === buildWorkflow;
|
|
@@ -1958,6 +2009,7 @@ export {
|
|
|
1958
2009
|
AwsDeployWorkflow,
|
|
1959
2010
|
AwsDeploymentConfig,
|
|
1960
2011
|
AwsDeploymentTarget,
|
|
2012
|
+
COMPLETE_JOB_ID,
|
|
1961
2013
|
JsiiFaker,
|
|
1962
2014
|
MERGE_METHODS,
|
|
1963
2015
|
MIMIMUM_RELEASE_AGE,
|
|
@@ -1978,6 +2030,7 @@ export {
|
|
|
1978
2030
|
VSCodeConfig,
|
|
1979
2031
|
Vitest,
|
|
1980
2032
|
addApproveMergeUpgradeWorkflow,
|
|
2033
|
+
addBuildCompleteJob,
|
|
1981
2034
|
getLatestEligibleVersion
|
|
1982
2035
|
};
|
|
1983
2036
|
//# sourceMappingURL=index.mjs.map
|