projalf 0.0.19 → 0.0.21
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/Projalf.js +12 -1
- package/lib/workflows.js +52 -5
- package/package.json +1 -1
package/lib/Projalf.js
CHANGED
|
@@ -52,6 +52,17 @@ class Projalf extends projen_1.awscdk.AwsCdkTypeScriptApp {
|
|
|
52
52
|
...options.prettierOptions?.settings,
|
|
53
53
|
},
|
|
54
54
|
},
|
|
55
|
+
jestOptions: {
|
|
56
|
+
configFilePath: "jest.config.json",
|
|
57
|
+
jestConfig: {
|
|
58
|
+
testMatch: ["<rootDir>/(test/unit|src)/**/*(*.)@(spec|test).ts?(x)"],
|
|
59
|
+
transform: {
|
|
60
|
+
"^.+\\.tsx?$": new projen_1.javascript.Transform("ts-jest", {
|
|
61
|
+
tsconfig: "tsconfig.dev.json",
|
|
62
|
+
}),
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
},
|
|
55
66
|
});
|
|
56
67
|
new files_1.Files(this, className, fileBase, inferredName);
|
|
57
68
|
// Enforce ESLint style: double quotes and no semicolons
|
|
@@ -129,4 +140,4 @@ function toPascalCase(input) {
|
|
|
129
140
|
.map((part) => part.charAt(0).toUpperCase() + part.slice(1).toLowerCase())
|
|
130
141
|
.join("");
|
|
131
142
|
}
|
|
132
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvamFsZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9Qcm9qYWxmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsb0NBQW1DO0FBQ25DLDZCQUE0QjtBQUM1QixtQ0FBdUQ7QUFDdkQsbUNBQStCO0FBQy9CLDJDQUFzQztBQUV0QyxNQUFNLGlCQUFpQixHQUFpQztJQUN0RCxNQUFNLEVBQUUsU0FBUztJQUNqQixTQUFTLEVBQUU7UUFDVCxhQUFhLEVBQUUsSUFBSSxtQkFBVSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUU7WUFDakQsUUFBUSxFQUFFLG1CQUFtQjtTQUM5QixDQUFDO0tBQ0g7SUFDRCxrQkFBa0IsRUFBRSxDQUFDLHlCQUF5QixDQUFDO0NBQ2hELENBQUE7QUFJRCxNQUFhLE9BQVEsU0FBUSxlQUFNLENBQUMsbUJBQW1CO0lBQ3JELFlBQVksT0FBdUI7UUFDakMsTUFBTSxZQUFZLEdBQ2hCLE9BQU8sQ0FBQyxJQUFJLElBQUksZ0JBQWdCLEVBQUUsSUFBSSxnQkFBZ0IsRUFBRSxDQUFBO1FBQzFELE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUM1QyxNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUE7UUFFM0MsTUFBTSxhQUFhLEdBQUcsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsRUFBeUIsQ0FBQTtRQUMzRSxJQUFJLGFBQWEsQ0FBQyxXQUFXLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDNUMsYUFBYSxDQUFDLFdBQVcsR0FBRyxZQUFZLENBQUE7UUFDMUMsQ0FBQztRQUVELEtBQUssQ0FBQztZQUNKLEdBQUcsT0FBTztZQUNWLElBQUksRUFBRSxZQUFZO1lBQ2xCLG9CQUFvQixFQUFFLE9BQU8sQ0FBQyxvQkFBb0IsSUFBSSxNQUFNO1lBQzVELGNBQWMsRUFDWixPQUFPLENBQUMsY0FBYyxJQUFJLG1CQUFVLENB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Q0FBQTtRQUM3QixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUE7UUFDcEQsT0FBTyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNuQixDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxTQUFTLENBQUE7SUFDbEIsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFTLGdCQUFnQjtJQUN2QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUE7QUFDckMsQ0FBQztBQUVELFNBQVMsWUFBWSxDQUFDLEtBQWE7SUFDakMsT0FBTyxLQUFLO1NBQ1QsT0FBTyxDQUFDLGdCQUFnQixFQUFFLEdBQUcsQ0FBQztTQUM5QixLQUFLLENBQUMsR0FBRyxDQUFDO1NBQ1YsTUFBTSxDQUFDLE9BQU8sQ0FBQztTQUNmLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3pFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtBQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjcCBmcm9tIFwiY2hpbGRfcHJvY2Vzc1wiXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCJcbmltcG9ydCB7IGF3c2NkaywgamF2YXNjcmlwdCwgU2FtcGxlRmlsZSB9IGZyb20gXCJwcm9qZW5cIlxuaW1wb3J0IHsgRmlsZXMgfSBmcm9tIFwiLi9maWxlc1wiXG5pbXBvcnQgeyB3b3JrZmxvdyB9IGZyb20gXCIuL3dvcmtmbG93c1wiXG5cbmNvbnN0IGRlZmF1bHRKZXN0Q29uZmlnOiBqYXZhc2NyaXB0Lkplc3RDb25maWdPcHRpb25zID0ge1xuICBwcmVzZXQ6IFwidHMtamVzdFwiLFxuICB0cmFuc2Zvcm06IHtcbiAgICBcIl4uK1xcXFwudHN4PyRcIjogbmV3IGphdmFzY3JpcHQuVHJhbnNmb3JtKFwidHMtamVzdFwiLCB7XG4gICAgICB0c2NvbmZpZzogXCJ0c2NvbmZpZy5kZXYuanNvblwiLFxuICAgIH0pLFxuICB9LFxuICBzZXR1cEZpbGVzQWZ0ZXJFbnY6IFtcIjxyb290RGlyPi90ZXN0L3NldHVwLnRzXCJdLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb2phbGZPcHRpb25zIGV4dGVuZHMgYXdzY2RrLkF3c0Nka1R5cGVTY3JpcHRBcHBPcHRpb25zIHt9XG5cbmV4cG9ydCBjbGFzcyBQcm9qYWxmIGV4dGVuZHMgYXdzY2RrLkF3c0Nka1R5cGVTY3JpcHRBcHAge1xuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBQcm9qYWxmT3B0aW9ucykge1xuICAgIGNvbnN0IGluZmVycmVkTmFtZSA9XG4gICAgICBvcHRpb25zLm5hbWUgPz8gaW5mZXJOYW1lRnJvbUdpdCgpID8/IGluZmVyTmFtZUZyb21Dd2QoKVxuICAgIGNvbnN0IGNsYXNzTmFtZSA9IHRvUGFzY2FsQ2FzZShpbmZlcnJlZE5hbWUpXG4gICAgY29uc3QgZmlsZUJhc2UgPSBpbmZlcnJlZE5hbWUudG9Mb3dlckNhc2UoKVxuXG4gICAgY29uc3QgbWVyZ2VkQ29udGV4dCA9IHsgLi4uKG9wdGlvbnMuY29udGV4dCA/PyB7fSkgfSBhcyBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4gICAgaWYgKG1lcmdlZENvbnRleHQuc2VydmljZU5hbWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgbWVyZ2VkQ29udGV4dC5zZXJ2aWNlTmFtZSA9IGluZmVycmVkTmFtZVxuICAgIH1cblxuICAgIHN1cGVyKHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBuYW1lOiBpbmZlcnJlZE5hbWUsXG4gICAgICBkZWZhdWx0UmVsZWFzZUJyYW5jaDogb3B0aW9ucy5kZWZhdWx0UmVsZWFzZUJyYW5jaCA/PyBcIm1haW5cIixcbiAgICAgIHBhY2thZ2VNYW5hZ2VyOlxuICAgICAgICBvcHRpb25zLnBhY2thZ2VNYW5hZ2VyID8/IGphdmFzY3JpcHQuTm9kZVBhY2thZ2VNYW5hZ2VyLk5QTSxcbiAgICAgIHByb2plbnJjVHM6IG9wdGlvbnMucHJvamVucmNUcyA/PyB0cnVlLFxuICAgICAgY2RrVmVyc2lvbjogb3B0aW9ucy5jZGtWZXJzaW9uID8/IFwiMi4xNTYuMFwiLFxuICAgICAgY29udGV4dDogbWVyZ2VkQ29udGV4dCxcbiAgICAgIGRlcHM6IG9wdGlvbnMuZGVwcyA/PyBbXSxcbiAgICAgIGRldkRlcHM6IG9wdGlvbnMuZGV2RGVwcyA/PyBbXSxcbiAgICAgIGJ1aWxkV29ya2Zsb3c6IGZhbHNlLFxuICAgICAgcmVsZWFzZTogZmFsc2UsXG4gICAgICBkZXBzVXBncmFkZTogZmFsc2UsXG4gICAgICBnaXRodWJPcHRpb25zOiB7XG4gICAgICAgIHB1bGxSZXF1ZXN0TGludDogZmFsc2UsXG4gICAgICB9LFxuICAgICAgd2F0Y2hJbmNsdWRlczogW1wic3JjLyoqLyoudHNcIiwgXCJzcmMvKiovKi50c3hcIl0sXG5cbiAgICAgIHByZXR0aWVyT3B0aW9uczoge1xuICAgICAgICAuLi5vcHRpb25zLnByZXR0aWVyT3B0aW9ucyxcbiAgICAgICAgc2V0dGluZ3M6IHtcbiAgICAgICAgICBzZW1pOiBmYWxzZSxcbiAgICAgICAgICBwcmludFdpZHRoOiAxMDAsXG4gICAgICAgICAgc2luZ2xlUXVvdGU6IGZhbHNlLFxuICAgICAgICAgIC4uLm9wdGlvbnMucHJldHRpZXJPcHRpb25zPy5zZXR0aW5ncyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSlcblxuICAgIG5ldyBGaWxlcyh0aGlzLCBjbGFzc05hbWUsIGZpbGVCYXNlLCBpbmZlcnJlZE5hbWUpXG5cbiAgICAvLyBFbmZvcmNlIEVTTGludCBzdHlsZTogZG91YmxlIHF1b3RlcyBhbmQgbm8gc2VtaWNvbG9uc1xuICAgIHRoaXMuZXNsaW50Py5hZGRSdWxlcyh7XG4gICAgICBcIkBzdHlsaXN0aWMvcXVvdGVzXCI6IFtcImVycm9yXCIsIFwiZG91YmxlXCIsIHsgYXZvaWRFc2NhcGU6IHRydWUgfV0sXG4gICAgICBcIkBzdHlsaXN0aWMvc2VtaVwiOiBbXCJlcnJvclwiLCBcIm5ldmVyXCJdLFxuICAgICAgXCJAc3R5bGlzdGljL2NvbnNpc3RlbnQtcXVvdGVzXCI6IFtcIm9mZlwiXSxcbiAgICAgIFwiQHN0eWxpc3RpYy9tZW1iZXItZGVsaW1pdGVyLXN0eWxlXCI6IFtcIm9mZlwiXSxcbiAgICAgIFwiQHN0eWxpc3RpYy9jb21tYS1kYW5nbGVcIjogW1wiZXJyb3JcIiwgXCJhbHdheXMtbXVsdGlsaW5lXCJdLFxuICAgIH0pXG5cbiAgICB3b3JrZmxvdyh0aGlzKVxuXG4gICAgdGhpcy5hZGRUYXNrKFwiZGVwbG95OndhdGNoXCIsIHtcbiAgICAgIGV4ZWM6IFwiY2RrIGRlcGxveSAtLWFsbCAtLW1ldGhvZD1kaXJlY3QgLS1vdXRwdXRzLWZpbGU9dGVzdC5vdXRwdXQuanNvbiAtLXdhdGNoIC0taG90c3dhcC1mYWxsYmFjayAtLXJlcXVpcmUtYXBwcm92YWw9bmV2ZXJcIixcbiAgICAgIHJlY2VpdmVBcmdzOiB0cnVlLFxuICAgIH0pXG4gICAgdGhpcy5hZGRUYXNrKFwidGVzdDplMmVcIiwge1xuICAgICAgZXhlYzogXCJqZXN0IC0tY29uZmlnIGplc3QuZTJlLmNvbmZpZy5qc29uIC0tcnVuSW5CYW5kIC0tcGFzc1dpdGhOb1Rlc3RzXCIsXG4gICAgfSlcblxuICAgIG5ldyBqYXZhc2NyaXB0Lkplc3QodGhpcywge1xuICAgICAgY29uZmlnRmlsZVBhdGg6IFwiamVzdC5pbnRlZy5jb25maWcuanNvblwiLFxuICAgICAgamVzdENvbmZpZzoge1xuICAgICAgICBjb2xsZWN0Q292ZXJhZ2U6IGZhbHNlLFxuICAgICAgICB0ZXN0TWF0Y2g6IFtcbiAgICAgICAgICBcIjxyb290RGlyPi90ZXN0L2ludGVnLyoqLyooKi4pQChzcGVjfHRlc3QpLnRzPyh4KVwiLFxuICAgICAgICAgIFwiPHJvb3REaXI+Lyh0ZXN0fHNyYykvKiovKigqLilAKGludGVnKS50cz8oeClcIixcbiAgICAgICAgXSxcbiAgICAgICAgLi4uZGVmYXVsdEplc3RDb25maWcsXG4gICAgICB9LFxuICAgIH0pXG5cbiAgICBuZXcgamF2YXNjcmlwdC5KZXN0KHRoaXMsIHtcbiAgICAgIGNvbmZpZ0ZpbGVQYXRoOiBcImplc3QuZTJlLmNvbmZpZy5qc29uXCIsXG4gICAgICBqZXN0Q29uZmlnOiB7XG4gICAgICAgIGNvbGxlY3RDb3ZlcmFnZTogZmFsc2UsXG4gICAgICAgIHRlc3RNYXRjaDogW1xuICAgICAgICAgIFwiPHJvb3REaXI+L3Rlc3QvZTJlLyoqLyooKi4pQChzcGVjfHRlc3QpLnRzPyh4KVwiLFxuICAgICAgICAgIFwiPHJvb3REaXI+Lyh0ZXN0fHNyYykvKiovKigqLilAKGUyZSkudHM/KHgpXCIsXG4gICAgICAgIF0sXG4gICAgICAgIC4uLmRlZmF1bHRKZXN0Q29uZmlnLFxuICAgICAgfSxcbiAgICB9KVxuXG4gICAgbmV3IFNhbXBsZUZpbGUodGhpcywgXCJ0ZXN0L3NldHVwLnRzXCIsIHtcbiAgICAgIGNvbnRlbnRzOiBgamVzdC5zZXRUaW1lb3V0KDEwMDAwKVxuYCxcbiAgICB9KVxuICB9XG59XG5cbmZ1bmN0aW9uIGluZmVyTmFtZUZyb21HaXQoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgdHJ5IHtcbiAgICBjb25zdCByZW1vdGUgPSBjcFxuICAgICAgLmV4ZWNTeW5jKFwiZ2l0IGNvbmZpZyAtLWdldCByZW1vdGUub3JpZ2luLnVybFwiLCB7XG4gICAgICAgIHN0ZGlvOiBbXCJpZ25vcmVcIiwgXCJwaXBlXCIsIFwiaWdub3JlXCJdLFxuICAgICAgfSlcbiAgICAgIC50b1N0cmluZygpXG4gICAgICAudHJpbSgpXG4gICAgaWYgKCFyZW1vdGUpIHJldHVybiB1bmRlZmluZWRcbiAgICBjb25zdCBtYXRjaCA9IHJlbW90ZS5tYXRjaCgvXFwvKFteXFwvXSs/KSg/OlxcLmdpdCk/JC8pXG4gICAgcmV0dXJuIG1hdGNoPy5bMV1cbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG59XG5cbmZ1bmN0aW9uIGluZmVyTmFtZUZyb21Dd2QoKTogc3RyaW5nIHtcbiAgcmV0dXJuIHBhdGguYmFzZW5hbWUocHJvY2Vzcy5jd2QoKSlcbn1cblxuZnVuY3Rpb24gdG9QYXNjYWxDYXNlKGlucHV0OiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gaW5wdXRcbiAgICAucmVwbGFjZSgvW15hLXpBLVowLTldKy9nLCBcIiBcIilcbiAgICAuc3BsaXQoXCIgXCIpXG4gICAgLmZpbHRlcihCb29sZWFuKVxuICAgIC5tYXAoKHBhcnQpID0+IHBhcnQuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBwYXJ0LnNsaWNlKDEpLnRvTG93ZXJDYXNlKCkpXG4gICAgLmpvaW4oXCJcIilcbn1cbiJdfQ==
|
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvamFsZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9Qcm9qYWxmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsb0NBQW1DO0FBQ25DLDZCQUE0QjtBQUM1QixtQ0FBdUQ7QUFDdkQsbUNBQStCO0FBQy9CLDJDQUFzQztBQUV0QyxNQUFNLGlCQUFpQixHQUFpQztJQUN0RCxNQUFNLEVBQUUsU0FBUztJQUNqQixTQUFTLEVBQUU7UUFDVCxhQUFhLEVBQUUsSUFBSSxtQkFBVSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUU7WUFDakQsUUFBUSxFQUFFLG1CQUFtQjtTQUM5QixDQUFDO0tBQ0g7SUFDRCxrQkFBa0IsRUFBRSxDQUFDLHlCQUF5QixDQUFDO0NBQ2hELENBQUE7QUFJRCxNQUFhLE9BQVEsU0FBUSxlQUFNLENBQUMsbUJBQW1CO0lBQ3JELFlBQVksT0FBdUI7UUFDakMsTUFBTSxZQUFZLEdBQ2hCLE9BQU8sQ0FBQyxJQUFJLElBQUksZ0JBQWdCLEVBQUUsSUFBSSxnQkFBZ0IsRUFBRSxDQUFBO1FBQzFELE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUM1QyxNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUE7UUFFM0MsTUFBTSxhQUFhLEdBQUcsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsRUFBeUIsQ0FBQTtRQUMzRSxJQUFJLGFBQWEsQ0FBQyxXQUFXLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDNUMsYUFBYSxDQUFDLFdBQVcsR0FBRyxZQUFZLENBQUE7UUFDMUMsQ0FBQztRQUVELEtBQUssQ0FBQztZQUNKLEdBQUcsT0FBTztZQUNWLElBQUksRUFBRSxZQUFZO1lBQ2xCLG9CQUFvQixFQUFFLE9BQU8sQ0FBQyxvQkFBb0IsSUFBSSxNQUFNO1lBQzVELGNBQWMsRUFDWixPQUFPLENBQUMsY0FBYyxJQUFJLG1CQUFVLENB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QVMsZ0JBQWdCO0lBQ3ZCLElBQUksQ0FBQztRQUNILE1BQU0sTUFBTSxHQUFHLEVBQUU7YUFDZCxRQUFRLENBQUMsb0NBQW9DLEVBQUU7WUFDOUMsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUM7U0FDcEMsQ0FBQzthQUNELFFBQVEsRUFBRTthQUNWLElBQUksRUFBRSxDQUFBO1FBQ1QsSUFBSSxDQUFDLE1BQU07WUFBRSxPQUFPLFNBQVMsQ0FBQTtRQUM3QixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUE7UUFDcEQsT0FBTyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNuQixDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxTQUFTLENBQUE7SUFDbEIsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFTLGdCQUFnQjtJQUN2QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUE7QUFDckMsQ0FBQztBQUVELFNBQVMsWUFBWSxDQUFDLEtBQWE7SUFDakMsT0FBTyxLQUFLO1NBQ1QsT0FBTyxDQUFDLGdCQUFnQixFQUFFLEdBQUcsQ0FBQztTQUM5QixLQUFLLENBQUMsR0FBRyxDQUFDO1NBQ1YsTUFBTSxDQUFDLE9BQU8sQ0FBQztTQUNmLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3pFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtBQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjcCBmcm9tIFwiY2hpbGRfcHJvY2Vzc1wiXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCJcbmltcG9ydCB7IGF3c2NkaywgamF2YXNjcmlwdCwgU2FtcGxlRmlsZSB9IGZyb20gXCJwcm9qZW5cIlxuaW1wb3J0IHsgRmlsZXMgfSBmcm9tIFwiLi9maWxlc1wiXG5pbXBvcnQgeyB3b3JrZmxvdyB9IGZyb20gXCIuL3dvcmtmbG93c1wiXG5cbmNvbnN0IGRlZmF1bHRKZXN0Q29uZmlnOiBqYXZhc2NyaXB0Lkplc3RDb25maWdPcHRpb25zID0ge1xuICBwcmVzZXQ6IFwidHMtamVzdFwiLFxuICB0cmFuc2Zvcm06IHtcbiAgICBcIl4uK1xcXFwudHN4PyRcIjogbmV3IGphdmFzY3JpcHQuVHJhbnNmb3JtKFwidHMtamVzdFwiLCB7XG4gICAgICB0c2NvbmZpZzogXCJ0c2NvbmZpZy5kZXYuanNvblwiLFxuICAgIH0pLFxuICB9LFxuICBzZXR1cEZpbGVzQWZ0ZXJFbnY6IFtcIjxyb290RGlyPi90ZXN0L3NldHVwLnRzXCJdLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb2phbGZPcHRpb25zIGV4dGVuZHMgYXdzY2RrLkF3c0Nka1R5cGVTY3JpcHRBcHBPcHRpb25zIHt9XG5cbmV4cG9ydCBjbGFzcyBQcm9qYWxmIGV4dGVuZHMgYXdzY2RrLkF3c0Nka1R5cGVTY3JpcHRBcHAge1xuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBQcm9qYWxmT3B0aW9ucykge1xuICAgIGNvbnN0IGluZmVycmVkTmFtZSA9XG4gICAgICBvcHRpb25zLm5hbWUgPz8gaW5mZXJOYW1lRnJvbUdpdCgpID8/IGluZmVyTmFtZUZyb21Dd2QoKVxuICAgIGNvbnN0IGNsYXNzTmFtZSA9IHRvUGFzY2FsQ2FzZShpbmZlcnJlZE5hbWUpXG4gICAgY29uc3QgZmlsZUJhc2UgPSBpbmZlcnJlZE5hbWUudG9Mb3dlckNhc2UoKVxuXG4gICAgY29uc3QgbWVyZ2VkQ29udGV4dCA9IHsgLi4uKG9wdGlvbnMuY29udGV4dCA/PyB7fSkgfSBhcyBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4gICAgaWYgKG1lcmdlZENvbnRleHQuc2VydmljZU5hbWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgbWVyZ2VkQ29udGV4dC5zZXJ2aWNlTmFtZSA9IGluZmVycmVkTmFtZVxuICAgIH1cblxuICAgIHN1cGVyKHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBuYW1lOiBpbmZlcnJlZE5hbWUsXG4gICAgICBkZWZhdWx0UmVsZWFzZUJyYW5jaDogb3B0aW9ucy5kZWZhdWx0UmVsZWFzZUJyYW5jaCA/PyBcIm1haW5cIixcbiAgICAgIHBhY2thZ2VNYW5hZ2VyOlxuICAgICAgICBvcHRpb25zLnBhY2thZ2VNYW5hZ2VyID8/IGphdmFzY3JpcHQuTm9kZVBhY2thZ2VNYW5hZ2VyLk5QTSxcbiAgICAgIHByb2plbnJjVHM6IG9wdGlvbnMucHJvamVucmNUcyA/PyB0cnVlLFxuICAgICAgY2RrVmVyc2lvbjogb3B0aW9ucy5jZGtWZXJzaW9uID8/IFwiMi4xNTYuMFwiLFxuICAgICAgY29udGV4dDogbWVyZ2VkQ29udGV4dCxcbiAgICAgIGRlcHM6IG9wdGlvbnMuZGVwcyA/PyBbXSxcbiAgICAgIGRldkRlcHM6IG9wdGlvbnMuZGV2RGVwcyA/PyBbXSxcbiAgICAgIGJ1aWxkV29ya2Zsb3c6IGZhbHNlLFxuICAgICAgcmVsZWFzZTogZmFsc2UsXG4gICAgICBkZXBzVXBncmFkZTogZmFsc2UsXG4gICAgICBnaXRodWJPcHRpb25zOiB7XG4gICAgICAgIHB1bGxSZXF1ZXN0TGludDogZmFsc2UsXG4gICAgICB9LFxuICAgICAgd2F0Y2hJbmNsdWRlczogW1wic3JjLyoqLyoudHNcIiwgXCJzcmMvKiovKi50c3hcIl0sXG5cbiAgICAgIHByZXR0aWVyT3B0aW9uczoge1xuICAgICAgICAuLi5vcHRpb25zLnByZXR0aWVyT3B0aW9ucyxcbiAgICAgICAgc2V0dGluZ3M6IHtcbiAgICAgICAgICBzZW1pOiBmYWxzZSxcbiAgICAgICAgICBwcmludFdpZHRoOiAxMDAsXG4gICAgICAgICAgc2luZ2xlUXVvdGU6IGZhbHNlLFxuICAgICAgICAgIC4uLm9wdGlvbnMucHJldHRpZXJPcHRpb25zPy5zZXR0aW5ncyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG5cbiAgICAgIGplc3RPcHRpb25zOiB7XG4gICAgICAgIGNvbmZpZ0ZpbGVQYXRoOiBcImplc3QuY29uZmlnLmpzb25cIixcbiAgICAgICAgamVzdENvbmZpZzoge1xuICAgICAgICAgIHRlc3RNYXRjaDogW1wiPHJvb3REaXI+Lyh0ZXN0L3VuaXR8c3JjKS8qKi8qKCouKUAoc3BlY3x0ZXN0KS50cz8oeClcIl0sXG4gICAgICAgICAgdHJhbnNmb3JtOiB7XG4gICAgICAgICAgICBcIl4uK1xcXFwudHN4PyRcIjogbmV3IGphdmFzY3JpcHQuVHJhbnNmb3JtKFwidHMtamVzdFwiLCB7XG4gICAgICAgICAgICAgIHRzY29uZmlnOiBcInRzY29uZmlnLmRldi5qc29uXCIsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KVxuXG4gICAgbmV3IEZpbGVzKHRoaXMsIGNsYXNzTmFtZSwgZmlsZUJhc2UsIGluZmVycmVkTmFtZSlcblxuICAgIC8vIEVuZm9yY2UgRVNMaW50IHN0eWxlOiBkb3VibGUgcXVvdGVzIGFuZCBubyBzZW1pY29sb25zXG4gICAgdGhpcy5lc2xpbnQ/LmFkZFJ1bGVzKHtcbiAgICAgIFwiQHN0eWxpc3RpYy9xdW90ZXNcIjogW1wiZXJyb3JcIiwgXCJkb3VibGVcIiwgeyBhdm9pZEVzY2FwZTogdHJ1ZSB9XSxcbiAgICAgIFwiQHN0eWxpc3RpYy9zZW1pXCI6IFtcImVycm9yXCIsIFwibmV2ZXJcIl0sXG4gICAgICBcIkBzdHlsaXN0aWMvY29uc2lzdGVudC1xdW90ZXNcIjogW1wib2ZmXCJdLFxuICAgICAgXCJAc3R5bGlzdGljL21lbWJlci1kZWxpbWl0ZXItc3R5bGVcIjogW1wib2ZmXCJdLFxuICAgICAgXCJAc3R5bGlzdGljL2NvbW1hLWRhbmdsZVwiOiBbXCJlcnJvclwiLCBcImFsd2F5cy1tdWx0aWxpbmVcIl0sXG4gICAgfSlcblxuICAgIHdvcmtmbG93KHRoaXMpXG5cbiAgICB0aGlzLmFkZFRhc2soXCJkZXBsb3k6d2F0Y2hcIiwge1xuICAgICAgZXhlYzogXCJjZGsgZGVwbG95IC0tYWxsIC0tbWV0aG9kPWRpcmVjdCAtLW91dHB1dHMtZmlsZT10ZXN0Lm91dHB1dC5qc29uIC0td2F0Y2ggLS1ob3Rzd2FwLWZhbGxiYWNrIC0tcmVxdWlyZS1hcHByb3ZhbD1uZXZlclwiLFxuICAgICAgcmVjZWl2ZUFyZ3M6IHRydWUsXG4gICAgfSlcbiAgICB0aGlzLmFkZFRhc2soXCJ0ZXN0OmUyZVwiLCB7XG4gICAgICBleGVjOiBcImplc3QgLS1jb25maWcgamVzdC5lMmUuY29uZmlnLmpzb24gLS1ydW5JbkJhbmQgLS1wYXNzV2l0aE5vVGVzdHNcIixcbiAgICB9KVxuXG4gICAgbmV3IGphdmFzY3JpcHQuSmVzdCh0aGlzLCB7XG4gICAgICBjb25maWdGaWxlUGF0aDogXCJqZXN0LmludGVnLmNvbmZpZy5qc29uXCIsXG4gICAgICBqZXN0Q29uZmlnOiB7XG4gICAgICAgIGNvbGxlY3RDb3ZlcmFnZTogZmFsc2UsXG4gICAgICAgIHRlc3RNYXRjaDogW1xuICAgICAgICAgIFwiPHJvb3REaXI+L3Rlc3QvaW50ZWcvKiovKigqLilAKHNwZWN8dGVzdCkudHM/KHgpXCIsXG4gICAgICAgICAgXCI8cm9vdERpcj4vKHRlc3R8c3JjKS8qKi8qKCouKUAoaW50ZWcpLnRzPyh4KVwiLFxuICAgICAgICBdLFxuICAgICAgICAuLi5kZWZhdWx0SmVzdENvbmZpZyxcbiAgICAgIH0sXG4gICAgfSlcblxuICAgIG5ldyBqYXZhc2NyaXB0Lkplc3QodGhpcywge1xuICAgICAgY29uZmlnRmlsZVBhdGg6IFwiamVzdC5lMmUuY29uZmlnLmpzb25cIixcbiAgICAgIGplc3RDb25maWc6IHtcbiAgICAgICAgY29sbGVjdENvdmVyYWdlOiBmYWxzZSxcbiAgICAgICAgdGVzdE1hdGNoOiBbXG4gICAgICAgICAgXCI8cm9vdERpcj4vdGVzdC9lMmUvKiovKigqLilAKHNwZWN8dGVzdCkudHM/KHgpXCIsXG4gICAgICAgICAgXCI8cm9vdERpcj4vKHRlc3R8c3JjKS8qKi8qKCouKUAoZTJlKS50cz8oeClcIixcbiAgICAgICAgXSxcbiAgICAgICAgLi4uZGVmYXVsdEplc3RDb25maWcsXG4gICAgICB9LFxuICAgIH0pXG5cbiAgICBuZXcgU2FtcGxlRmlsZSh0aGlzLCBcInRlc3Qvc2V0dXAudHNcIiwge1xuICAgICAgY29udGVudHM6IGBqZXN0LnNldFRpbWVvdXQoMTAwMDApXG5gLFxuICAgIH0pXG4gIH1cbn1cblxuZnVuY3Rpb24gaW5mZXJOYW1lRnJvbUdpdCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICB0cnkge1xuICAgIGNvbnN0IHJlbW90ZSA9IGNwXG4gICAgICAuZXhlY1N5bmMoXCJnaXQgY29uZmlnIC0tZ2V0IHJlbW90ZS5vcmlnaW4udXJsXCIsIHtcbiAgICAgICAgc3RkaW86IFtcImlnbm9yZVwiLCBcInBpcGVcIiwgXCJpZ25vcmVcIl0sXG4gICAgICB9KVxuICAgICAgLnRvU3RyaW5nKClcbiAgICAgIC50cmltKClcbiAgICBpZiAoIXJlbW90ZSkgcmV0dXJuIHVuZGVmaW5lZFxuICAgIGNvbnN0IG1hdGNoID0gcmVtb3RlLm1hdGNoKC9cXC8oW15cXC9dKz8pKD86XFwuZ2l0KT8kLylcbiAgICByZXR1cm4gbWF0Y2g/LlsxXVxuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH1cbn1cblxuZnVuY3Rpb24gaW5mZXJOYW1lRnJvbUN3ZCgpOiBzdHJpbmcge1xuICByZXR1cm4gcGF0aC5iYXNlbmFtZShwcm9jZXNzLmN3ZCgpKVxufVxuXG5mdW5jdGlvbiB0b1Bhc2NhbENhc2UoaW5wdXQ6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBpbnB1dFxuICAgIC5yZXBsYWNlKC9bXmEtekEtWjAtOV0rL2csIFwiIFwiKVxuICAgIC5zcGxpdChcIiBcIilcbiAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgLm1hcCgocGFydCkgPT4gcGFydC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHBhcnQuc2xpY2UoMSkudG9Mb3dlckNhc2UoKSlcbiAgICAuam9pbihcIlwiKVxufVxuIl19
|
package/lib/workflows.js
CHANGED
|
@@ -3,12 +3,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.workflow = workflow;
|
|
4
4
|
const workflows_model_1 = require("projen/lib/github/workflows-model");
|
|
5
5
|
function workflow(project) {
|
|
6
|
+
const testWorkflow = project.github.addWorkflow("test");
|
|
6
7
|
const deployWorkflow = project.github.addWorkflow("deploy");
|
|
7
|
-
//
|
|
8
|
-
|
|
8
|
+
// Test workflow - triggers on PR and push to main
|
|
9
|
+
testWorkflow.on({
|
|
9
10
|
pullRequest: {},
|
|
10
11
|
push: { branches: ["main"] },
|
|
11
12
|
});
|
|
13
|
+
// Deploy workflow - triggers after test workflow completes successfully
|
|
14
|
+
deployWorkflow.on({
|
|
15
|
+
workflowRun: {
|
|
16
|
+
workflows: ["test"],
|
|
17
|
+
types: ["completed"],
|
|
18
|
+
branches: ["main"],
|
|
19
|
+
},
|
|
20
|
+
});
|
|
12
21
|
// Reusable job template
|
|
13
22
|
const jobDefaults = {
|
|
14
23
|
runsOn: ["ubuntu-latest"],
|
|
@@ -35,11 +44,49 @@ function workflow(project) {
|
|
|
35
44
|
},
|
|
36
45
|
],
|
|
37
46
|
};
|
|
47
|
+
// Test job: deploy test stack, run e2e tests, destroy stack
|
|
48
|
+
testWorkflow.addJobs({
|
|
49
|
+
test: {
|
|
50
|
+
...jobDefaults,
|
|
51
|
+
steps: [
|
|
52
|
+
...jobDefaults.steps,
|
|
53
|
+
{
|
|
54
|
+
name: "Generate random stage ID",
|
|
55
|
+
id: "stage",
|
|
56
|
+
run: 'echo "STAGE_ID=test-$(shuf -i 10000-99999 -n 1)" >> $GITHUB_OUTPUT',
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
name: "Deploy Test Stack",
|
|
60
|
+
run: "npm run deploy -- -c stage=${{ steps.stage.outputs.STAGE_ID }} --require-approval never",
|
|
61
|
+
env: {
|
|
62
|
+
CDK_DEPLOY_ACCOUNT: "${{ secrets.AWS_TEST_ACCOUNT }}",
|
|
63
|
+
CDK_DEPLOY_REGION: "${{ secrets.AWS_REGION || 'eu-central-1' }}",
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
name: "Run E2E Tests",
|
|
68
|
+
run: "npm run test:e2e",
|
|
69
|
+
env: {
|
|
70
|
+
STAGE: "${{ steps.stage.outputs.STAGE_ID }}",
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
name: "Destroy Test Stack",
|
|
75
|
+
if: "always()",
|
|
76
|
+
run: "npm run destroy -- -c stage=${{ steps.stage.outputs.STAGE_ID }} --force",
|
|
77
|
+
env: {
|
|
78
|
+
CDK_DEPLOY_ACCOUNT: "${{ secrets.AWS_TEST_ACCOUNT }}",
|
|
79
|
+
CDK_DEPLOY_REGION: "${{ secrets.AWS_REGION || 'eu-central-1' }}",
|
|
80
|
+
},
|
|
81
|
+
},
|
|
82
|
+
],
|
|
83
|
+
},
|
|
84
|
+
});
|
|
38
85
|
// Job: deploy dev on PR
|
|
39
86
|
deployWorkflow.addJobs({
|
|
40
87
|
deploy_dev: {
|
|
41
88
|
...jobDefaults,
|
|
42
|
-
if: "github.
|
|
89
|
+
if: "github.event.workflow_run.event == 'pull_request' && github.event.workflow_run.conclusion == 'success'",
|
|
43
90
|
steps: [
|
|
44
91
|
...jobDefaults.steps,
|
|
45
92
|
{
|
|
@@ -54,7 +101,7 @@ function workflow(project) {
|
|
|
54
101
|
},
|
|
55
102
|
deploy_prod: {
|
|
56
103
|
...jobDefaults,
|
|
57
|
-
if: "github.
|
|
104
|
+
if: "github.event.workflow_run.head_branch == 'main' && github.event.workflow_run.event == 'push' && github.event.workflow_run.conclusion == 'success'",
|
|
58
105
|
steps: [
|
|
59
106
|
...jobDefaults.steps,
|
|
60
107
|
{
|
|
@@ -69,4 +116,4 @@ function workflow(project) {
|
|
|
69
116
|
},
|
|
70
117
|
});
|
|
71
118
|
}
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3dzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3dvcmtmbG93cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUdBLDRCQXNIQztBQXpIRCx1RUFBaUU7QUFHakUsU0FBZ0IsUUFBUSxDQUFDLE9BQWdCO0lBQ3ZDLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxNQUFPLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ3hELE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxNQUFPLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBRTVELGtEQUFrRDtJQUNsRCxZQUFZLENBQUMsRUFBRSxDQUFDO1FBQ2QsV0FBVyxFQUFFLEVBQUU7UUFDZixJQUFJLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRTtLQUM3QixDQUFDLENBQUE7SUFFRix3RUFBd0U7SUFDeEUsY0FBYyxDQUFDLEVBQUUsQ0FBQztRQUNoQixXQUFXLEVBQUU7WUFDWCxTQUFTLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDbkIsS0FBSyxFQUFFLENBQUMsV0FBVyxDQUFDO1lBQ3BCLFFBQVEsRUFBRSxDQUFDLE1BQU0sQ0FBQztTQUNuQjtLQUNGLENBQUMsQ0FBQTtJQUVGLHdCQUF3QjtJQUN4QixNQUFNLFdBQVcsR0FBRztRQUNsQixNQUFNLEVBQUUsQ0FBQyxlQUFlLENBQUM7UUFDekIsV0FBVyxFQUFFO1lBQ1gsUUFBUSxFQUFFLCtCQUFhLENBQUMsS0FBSztZQUM3QixPQUFPLEVBQUUsK0JBQWEsQ0FBQyxLQUFLO1NBQzdCO1FBQ0QsS0FBSyxFQUFFO1lBQ0wsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxxQkFBcUIsRUFBRTtZQUNqRDtnQkFDRSxJQUFJLEVBQUUsZUFBZTtnQkFDckIsSUFBSSxFQUFFLHVCQUF1QjtnQkFDN0IsSUFBSSxFQUFFLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRTthQUMvQjtZQUNELEVBQUUsSUFBSSxFQUFFLHNCQUFzQixFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUU7WUFDL0M7Z0JBQ0UsSUFBSSxFQUFFLDJCQUEyQjtnQkFDakMsSUFBSSxFQUFFLDBDQUEwQztnQkFDaEQsSUFBSSxFQUFFO29CQUNKLG1CQUFtQixFQUFFLGtDQUFrQztvQkFDdkQsdUJBQXVCLEVBQUUsc0NBQXNDO29CQUMvRCxZQUFZLEVBQUUsNkNBQTZDO2lCQUM1RDthQUNGO1NBQ0Y7S0FDRixDQUFBO0lBRUQsNERBQTREO0lBQzVELFlBQVksQ0FBQyxPQUFPLENBQUM7UUFDbkIsSUFBSSxFQUFFO1lBQ0osR0FBRyxXQUFXO1lBQ2QsS0FBSyxFQUFFO2dCQUNMLEdBQUcsV0FBVyxDQUFDLEtBQUs7Z0JBQ3BCO29CQUNFLElBQUksRUFBRSwwQkFBMEI7b0JBQ2hDLEVBQUUsRUFBRSxPQUFPO29CQUNYLEdBQUcsRUFBRSxvRUFBb0U7aUJBQzFFO2dCQUNEO29CQUNFLElBQUksRUFBRSxtQkFBbUI7b0JBQ3pCLEdBQUcsRUFBRSx5RkFBeUY7b0JBQzlGLEdBQUcsRUFBRTt3QkFDSCxrQkFBa0IsRUFBRSxpQ0FBaUM7d0JBQ3JELGlCQUFpQixFQUFFLDZDQUE2QztxQkFDakU7aUJBQ0Y7Z0JBQ0Q7b0JBQ0UsSUFBSSxFQUFFLGVBQWU7b0JBQ3JCLEdBQUcsRUFBRSxrQkFBa0I7b0JBQ3ZCLEdBQUcsRUFBRTt3QkFDSCxLQUFLLEVBQUUscUNBQXFDO3FCQUM3QztpQkFDRjtnQkFDRDtvQkFDRSxJQUFJLEVBQUUsb0JBQW9CO29CQUMxQixFQUFFLEVBQUUsVUFBVTtvQkFDZCxHQUFHLEVBQUUseUVBQXlFO29CQUM5RSxHQUFHLEVBQUU7d0JBQ0gsa0JBQWtCLEVBQUUsaUNBQWlDO3dCQUNyRCxpQkFBaUIsRUFBRSw2Q0FBNkM7cUJBQ2pFO2lCQUNGO2FBQ0Y7U0FDRjtLQUNGLENBQUMsQ0FBQTtJQUVGLHdCQUF3QjtJQUN4QixjQUFjLENBQUMsT0FBTyxDQUFDO1FBQ3JCLFVBQVUsRUFBRTtZQUNWLEdBQUcsV0FBVztZQUNkLEVBQUUsRUFBRSx3R0FBd0c7WUFDNUcsS0FBSyxFQUFFO2dCQUNMLEdBQUcsV0FBVyxDQUFDLEtBQUs7Z0JBQ3BCO29CQUNFLElBQUksRUFBRSxZQUFZO29CQUNsQixHQUFHLEVBQUUseURBQXlEO29CQUM5RCxHQUFHLEVBQUU7d0JBQ0gsa0JBQWtCLEVBQUUsZ0NBQWdDO3dCQUNwRCxpQkFBaUIsRUFBRSw2Q0FBNkM7cUJBQ2pFO2lCQUNGO2FBQ0Y7U0FDRjtRQUNELFdBQVcsRUFBRTtZQUNYLEdBQUcsV0FBVztZQUNkLEVBQUUsRUFBRSxtSkFBbUo7WUFDdkosS0FBSyxFQUFFO2dCQUNMLEdBQUcsV0FBVyxDQUFDLEtBQUs7Z0JBQ3BCO29CQUNFLElBQUksRUFBRSxhQUFhO29CQUNuQixHQUFHLEVBQUUsMERBQTBEO29CQUMvRCxHQUFHLEVBQUU7d0JBQ0gsa0JBQWtCLEVBQUUsaUNBQWlDO3dCQUNyRCxpQkFBaUIsRUFBRSw2Q0FBNkM7cUJBQ2pFO2lCQUNGO2FBQ0Y7U0FDRjtLQUNGLENBQUMsQ0FBQTtBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBKb2JQZXJtaXNzaW9uIH0gZnJvbSBcInByb2plbi9saWIvZ2l0aHViL3dvcmtmbG93cy1tb2RlbFwiXG5pbXBvcnQgeyBQcm9qYWxmIH0gZnJvbSBcIi4vUHJvamFsZlwiXG5cbmV4cG9ydCBmdW5jdGlvbiB3b3JrZmxvdyhwcm9qZWN0OiBQcm9qYWxmKSB7XG4gIGNvbnN0IHRlc3RXb3JrZmxvdyA9IHByb2plY3QuZ2l0aHViIS5hZGRXb3JrZmxvdyhcInRlc3RcIilcbiAgY29uc3QgZGVwbG95V29ya2Zsb3cgPSBwcm9qZWN0LmdpdGh1YiEuYWRkV29ya2Zsb3coXCJkZXBsb3lcIilcblxuICAvLyBUZXN0IHdvcmtmbG93IC0gdHJpZ2dlcnMgb24gUFIgYW5kIHB1c2ggdG8gbWFpblxuICB0ZXN0V29ya2Zsb3cub24oe1xuICAgIHB1bGxSZXF1ZXN0OiB7fSxcbiAgICBwdXNoOiB7IGJyYW5jaGVzOiBbXCJtYWluXCJdIH0sXG4gIH0pXG5cbiAgLy8gRGVwbG95IHdvcmtmbG93IC0gdHJpZ2dlcnMgYWZ0ZXIgdGVzdCB3b3JrZmxvdyBjb21wbGV0ZXMgc3VjY2Vzc2Z1bGx5XG4gIGRlcGxveVdvcmtmbG93Lm9uKHtcbiAgICB3b3JrZmxvd1J1bjoge1xuICAgICAgd29ya2Zsb3dzOiBbXCJ0ZXN0XCJdLFxuICAgICAgdHlwZXM6IFtcImNvbXBsZXRlZFwiXSxcbiAgICAgIGJyYW5jaGVzOiBbXCJtYWluXCJdLFxuICAgIH0sXG4gIH0pXG5cbiAgLy8gUmV1c2FibGUgam9iIHRlbXBsYXRlXG4gIGNvbnN0IGpvYkRlZmF1bHRzID0ge1xuICAgIHJ1bnNPbjogW1widWJ1bnR1LWxhdGVzdFwiXSxcbiAgICBwZXJtaXNzaW9uczoge1xuICAgICAgY29udGVudHM6IEpvYlBlcm1pc3Npb24uV1JJVEUsXG4gICAgICBpZFRva2VuOiBKb2JQZXJtaXNzaW9uLldSSVRFLFxuICAgIH0sXG4gICAgc3RlcHM6IFtcbiAgICAgIHsgbmFtZTogXCJDaGVja291dFwiLCB1c2VzOiBcImFjdGlvbnMvY2hlY2tvdXRAdjRcIiB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBcIlNldHVwIE5vZGUuanNcIixcbiAgICAgICAgdXNlczogXCJhY3Rpb25zL3NldHVwLW5vZGVAdjRcIixcbiAgICAgICAgd2l0aDogeyBcIm5vZGUtdmVyc2lvblwiOiBcIjIwXCIgfSxcbiAgICAgIH0sXG4gICAgICB7IG5hbWU6IFwiSW5zdGFsbCBkZXBlbmRlbmNpZXNcIiwgcnVuOiBcIm5wbSBjaVwiIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiQ29uZmlndXJlIEFXUyBjcmVkZW50aWFsc1wiLFxuICAgICAgICB1c2VzOiBcImF3cy1hY3Rpb25zL2NvbmZpZ3VyZS1hd3MtY3JlZGVudGlhbHNAdjRcIixcbiAgICAgICAgd2l0aDoge1xuICAgICAgICAgIFwiYXdzLWFjY2Vzcy1rZXktaWRcIjogXCIke3sgc2VjcmV0cy5BV1NfQUNDRVNTX0tFWV9JRCB9fVwiLFxuICAgICAgICAgIFwiYXdzLXNlY3JldC1hY2Nlc3Mta2V5XCI6IFwiJHt7IHNlY3JldHMuQVdTX1NFQ1JFVF9BQ0NFU1NfS0VZIH19XCIsXG4gICAgICAgICAgXCJhd3MtcmVnaW9uXCI6IFwiJHt7IHNlY3JldHMuQVdTX1JFR0lPTiB8fCAnZXUtY2VudHJhbC0xJyB9fVwiLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICBdLFxuICB9XG5cbiAgLy8gVGVzdCBqb2I6IGRlcGxveSB0ZXN0IHN0YWNrLCBydW4gZTJlIHRlc3RzLCBkZXN0cm95IHN0YWNrXG4gIHRlc3RXb3JrZmxvdy5hZGRKb2JzKHtcbiAgICB0ZXN0OiB7XG4gICAgICAuLi5qb2JEZWZhdWx0cyxcbiAgICAgIHN0ZXBzOiBbXG4gICAgICAgIC4uLmpvYkRlZmF1bHRzLnN0ZXBzLFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogXCJHZW5lcmF0ZSByYW5kb20gc3RhZ2UgSURcIixcbiAgICAgICAgICBpZDogXCJzdGFnZVwiLFxuICAgICAgICAgIHJ1bjogJ2VjaG8gXCJTVEFHRV9JRD10ZXN0LSQoc2h1ZiAtaSAxMDAwMC05OTk5OSAtbiAxKVwiID4+ICRHSVRIVUJfT1VUUFVUJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwiRGVwbG95IFRlc3QgU3RhY2tcIixcbiAgICAgICAgICBydW46IFwibnBtIHJ1biBkZXBsb3kgLS0gLWMgc3RhZ2U9JHt7IHN0ZXBzLnN0YWdlLm91dHB1dHMuU1RBR0VfSUQgfX0gLS1yZXF1aXJlLWFwcHJvdmFsIG5ldmVyXCIsXG4gICAgICAgICAgZW52OiB7XG4gICAgICAgICAgICBDREtfREVQTE9ZX0FDQ09VTlQ6IFwiJHt7IHNlY3JldHMuQVdTX1RFU1RfQUNDT1VOVCB9fVwiLFxuICAgICAgICAgICAgQ0RLX0RFUExPWV9SRUdJT046IFwiJHt7IHNlY3JldHMuQVdTX1JFR0lPTiB8fCAnZXUtY2VudHJhbC0xJyB9fVwiLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBcIlJ1biBFMkUgVGVzdHNcIixcbiAgICAgICAgICBydW46IFwibnBtIHJ1biB0ZXN0OmUyZVwiLFxuICAgICAgICAgIGVudjoge1xuICAgICAgICAgICAgU1RBR0U6IFwiJHt7IHN0ZXBzLnN0YWdlLm91dHB1dHMuU1RBR0VfSUQgfX1cIixcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogXCJEZXN0cm95IFRlc3QgU3RhY2tcIixcbiAgICAgICAgICBpZjogXCJhbHdheXMoKVwiLFxuICAgICAgICAgIHJ1bjogXCJucG0gcnVuIGRlc3Ryb3kgLS0gLWMgc3RhZ2U9JHt7IHN0ZXBzLnN0YWdlLm91dHB1dHMuU1RBR0VfSUQgfX0gLS1mb3JjZVwiLFxuICAgICAgICAgIGVudjoge1xuICAgICAgICAgICAgQ0RLX0RFUExPWV9BQ0NPVU5UOiBcIiR7eyBzZWNyZXRzLkFXU19URVNUX0FDQ09VTlQgfX1cIixcbiAgICAgICAgICAgIENES19ERVBMT1lfUkVHSU9OOiBcIiR7eyBzZWNyZXRzLkFXU19SRUdJT04gfHwgJ2V1LWNlbnRyYWwtMScgfX1cIixcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICB9KVxuXG4gIC8vIEpvYjogZGVwbG95IGRldiBvbiBQUlxuICBkZXBsb3lXb3JrZmxvdy5hZGRKb2JzKHtcbiAgICBkZXBsb3lfZGV2OiB7XG4gICAgICAuLi5qb2JEZWZhdWx0cyxcbiAgICAgIGlmOiBcImdpdGh1Yi5ldmVudC53b3JrZmxvd19ydW4uZXZlbnQgPT0gJ3B1bGxfcmVxdWVzdCcgJiYgZ2l0aHViLmV2ZW50LndvcmtmbG93X3J1bi5jb25jbHVzaW9uID09ICdzdWNjZXNzJ1wiLFxuICAgICAgc3RlcHM6IFtcbiAgICAgICAgLi4uam9iRGVmYXVsdHMuc3RlcHMsXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBcIkRlcGxveSBEZXZcIixcbiAgICAgICAgICBydW46IFwibnBtIHJ1biBkZXBsb3kgLS0gLWMgc3RhZ2U9ZGV2IC0tcmVxdWlyZS1hcHByb3ZhbCBuZXZlclwiLFxuICAgICAgICAgIGVudjoge1xuICAgICAgICAgICAgQ0RLX0RFUExPWV9BQ0NPVU5UOiBcIiR7eyBzZWNyZXRzLkFXU19ERVZfQUNDT1VOVCB9fVwiLFxuICAgICAgICAgICAgQ0RLX0RFUExPWV9SRUdJT046IFwiJHt7IHNlY3JldHMuQVdTX1JFR0lPTiB8fCAnZXUtY2VudHJhbC0xJyB9fVwiLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAgZGVwbG95X3Byb2Q6IHtcbiAgICAgIC4uLmpvYkRlZmF1bHRzLFxuICAgICAgaWY6IFwiZ2l0aHViLmV2ZW50LndvcmtmbG93X3J1bi5oZWFkX2JyYW5jaCA9PSAnbWFpbicgJiYgZ2l0aHViLmV2ZW50LndvcmtmbG93X3J1bi5ldmVudCA9PSAncHVzaCcgJiYgZ2l0aHViLmV2ZW50LndvcmtmbG93X3J1bi5jb25jbHVzaW9uID09ICdzdWNjZXNzJ1wiLFxuICAgICAgc3RlcHM6IFtcbiAgICAgICAgLi4uam9iRGVmYXVsdHMuc3RlcHMsXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBcIkRlcGxveSBQcm9kXCIsXG4gICAgICAgICAgcnVuOiBcIm5wbSBydW4gZGVwbG95IC0tIC1jIHN0YWdlPXByb2QgLS1yZXF1aXJlLWFwcHJvdmFsIG5ldmVyXCIsXG4gICAgICAgICAgZW52OiB7XG4gICAgICAgICAgICBDREtfREVQTE9ZX0FDQ09VTlQ6IFwiJHt7IHNlY3JldHMuQVdTX1BST0RfQUNDT1VOVCB9fVwiLFxuICAgICAgICAgICAgQ0RLX0RFUExPWV9SRUdJT046IFwiJHt7IHNlY3JldHMuQVdTX1JFR0lPTiB8fCAnZXUtY2VudHJhbC0xJyB9fVwiLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gIH0pXG59XG4iXX0=
|