@cdk8s/projen-common
Advanced tools
Comparing version 0.0.559 to 0.0.560
@@ -22,7 +22,3 @@ import { Component } from 'projen'; | ||
export declare class Backport extends Component { | ||
private readonly repoName; | ||
private readonly config; | ||
constructor(project: NodeProject, options: BackportOptions); | ||
private createTask; | ||
private createWorkflow; | ||
} |
@@ -5,3 +5,3 @@ "use strict"; | ||
const projen_1 = require("projen"); | ||
const workflows_model_1 = require("projen/lib/github/workflows-model"); | ||
const github_1 = require("projen/lib/github"); | ||
/** | ||
@@ -13,88 +13,8 @@ * Add a Backport workflow to our repos. | ||
super(project); | ||
this.repoName = options.repoName; | ||
this.config = new projen_1.JsonFile(project, '.backportrc.json', { | ||
// see https://github.com/sqren/backport/blob/main/docs/config-file-options.md | ||
obj: { | ||
repoOwner: 'cdk8s-team', | ||
repoName: this.repoName, | ||
signoff: true, | ||
branchLabelMapping: { | ||
'^backport-to-(.+)$': '$1', | ||
}, | ||
prTitle: '{commitMessages}', | ||
fork: false, | ||
publishStatusCommentOnFailure: true, | ||
publishStatusCommentOnSuccess: true, | ||
publishStatusCommentOnAbort: true, | ||
targetPRLabels: [project.autoApprove.label], | ||
}, | ||
new github_1.PullRequestBackport(project, { | ||
branches: options.branches ?? [], | ||
}); | ||
project.addDevDeps('backport'); | ||
// backport task to branches based on pr labels (i.e not branch specific) | ||
const backportTask = this.createTask(project); | ||
// backport tasks to explicit branches based on input | ||
for (const branch of options.branches ?? []) { | ||
this.createTask(project, branch); | ||
} | ||
this.createWorkflow(project, backportTask); | ||
} | ||
createTask(project, branch) { | ||
const name = branch ? `backport:${branch}` : 'backport'; | ||
const task = project.addTask(name, { requiredEnv: ['BACKPORT_PR_NUMBER', 'GITHUB_TOKEN'] }); | ||
const commands = [ | ||
'BACKPORT_HOME=$(mktemp -d)', | ||
'mkdir -p ${BACKPORT_HOME}', | ||
`cp ${this.config.path} \${BACKPORT_HOME}`, | ||
'cd ${BACKPORT_HOME}', | ||
]; | ||
const backport = ['backport', '--dir', `\${BACKPORT_HOME}/${this.repoName}`, '--accesstoken', '${GITHUB_TOKEN}', '--pr', '${BACKPORT_PR_NUMBER}']; | ||
if (branch) { | ||
backport.push(...['--branch', branch]); | ||
} | ||
else { | ||
backport.push('--non-interactive'); | ||
} | ||
commands.push(backport.join(' ')); | ||
task.exec(commands.join(' && ')); | ||
return task; | ||
} | ||
createWorkflow(project, task) { | ||
const backportWorkflow = project.github.addWorkflow('backport'); | ||
backportWorkflow.on({ pullRequestTarget: { types: ['closed'] } }); | ||
backportWorkflow.addJob('backport', { | ||
runsOn: ['ubuntu-latest'], | ||
permissions: { | ||
contents: workflows_model_1.JobPermission.WRITE, | ||
}, | ||
steps: [ | ||
// needed in order to run the projen task as well | ||
// as use the backport configuration in the repo. | ||
{ | ||
name: 'checkout', | ||
uses: 'actions/checkout@v3', | ||
with: { | ||
// required because we need the full history | ||
// for proper backports. | ||
'fetch-depth': 0, | ||
}, | ||
}, | ||
...project.renderWorkflowSetup({ mutable: false }), | ||
{ | ||
name: 'Set Git Identity', | ||
run: 'git config --global user.name "github-actions" && git config --global user.email "github-actions@github.com"', | ||
}, | ||
{ | ||
name: 'backport', | ||
if: 'github.event.pull_request.merged == true', | ||
run: `npx projen ${task.name}`, | ||
env: { | ||
GITHUB_TOKEN: '${{ secrets.PROJEN_GITHUB_TOKEN }}', | ||
BACKPORT_PR_NUMBER: '${{ github.event.pull_request.number }}', | ||
}, | ||
}, | ||
], | ||
}); | ||
} | ||
} | ||
exports.Backport = Backport; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja3BvcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9iYWNrcG9ydC9iYWNrcG9ydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQ0FBbUQ7QUFDbkQsdUVBQWtFO0FBcUJsRTs7R0FFRztBQUNILE1BQWEsUUFBUyxTQUFRLGtCQUFTO0lBS3JDLFlBQVksT0FBb0IsRUFBRSxPQUF3QjtRQUN4RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFZixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFFakMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGlCQUFRLENBQUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFO1lBQ3RELDhFQUE4RTtZQUM5RSxHQUFHLEVBQUU7Z0JBQ0gsU0FBUyxFQUFFLFlBQVk7Z0JBQ3ZCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtnQkFDdkIsT0FBTyxFQUFFLElBQUk7Z0JBQ2Isa0JBQWtCLEVBQUU7b0JBQ2xCLG9CQUFvQixFQUFFLElBQUk7aUJBQzNCO2dCQUNELE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLElBQUksRUFBRSxLQUFLO2dCQUNYLDZCQUE2QixFQUFFLElBQUk7Z0JBQ25DLDZCQUE2QixFQUFFLElBQUk7Z0JBQ25DLDJCQUEyQixFQUFFLElBQUk7Z0JBQ2pDLGNBQWMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxXQUFZLENBQUMsS0FBSyxDQUFDO2FBQzdDO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsT0FBTyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUUvQix5RUFBeUU7UUFDekUsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUU5QyxxREFBcUQ7UUFDckQsS0FBSyxNQUFNLE1BQU0sSUFBSSxPQUFPLENBQUMsUUFBUSxJQUFJLEVBQUUsRUFBRTtZQUMzQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztTQUNsQztRQUVELElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBRTdDLENBQUM7SUFFTyxVQUFVLENBQUMsT0FBb0IsRUFBRSxNQUFlO1FBQ3RELE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsWUFBWSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO1FBQ3hELE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsV0FBVyxFQUFFLENBQUMsb0JBQW9CLEVBQUUsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVGLE1BQU0sUUFBUSxHQUFHO1lBQ2YsNEJBQTRCO1lBQzVCLDJCQUEyQjtZQUMzQixNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxvQkFBb0I7WUFDMUMscUJBQXFCO1NBQ3RCLENBQUM7UUFDRixNQUFNLFFBQVEsR0FBRyxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUscUJBQXFCLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLHVCQUF1QixDQUFDLENBQUM7UUFDbEosSUFBSSxNQUFNLEVBQUU7WUFDVixRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztTQUN4QzthQUFNO1lBQ0wsUUFBUSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1NBQ3BDO1FBRUQsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDakMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU8sY0FBYyxDQUFDLE9BQW9CLEVBQUUsSUFBVTtRQUVyRCxNQUFNLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxNQUFPLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2pFLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxFQUFFLGlCQUFpQixFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDbEUsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRTtZQUNsQyxNQUFNLEVBQUUsQ0FBQyxlQUFlLENBQUM7WUFDekIsV0FBVyxFQUFFO2dCQUNYLFFBQVEsRUFBRSwrQkFBYSxDQUFDLEtBQUs7YUFDOUI7WUFDRCxLQUFLLEVBQUU7Z0JBQ0wsaURBQWlEO2dCQUNqRCxpREFBaUQ7Z0JBQ2pEO29CQUNFLElBQUksRUFBRSxVQUFVO29CQUNoQixJQUFJLEVBQUUscUJBQXFCO29CQUMzQixJQUFJLEVBQUU7d0JBQ0osNENBQTRDO3dCQUM1Qyx3QkFBd0I7d0JBQ3hCLGFBQWEsRUFBRSxDQUFDO3FCQUNqQjtpQkFDRjtnQkFDRCxHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQztnQkFDbEQ7b0JBQ0UsSUFBSSxFQUFFLGtCQUFrQjtvQkFDeEIsR0FBRyxFQUFFLDhHQUE4RztpQkFDcEg7Z0JBQ0Q7b0JBQ0UsSUFBSSxFQUFFLFVBQVU7b0JBQ2hCLEVBQUUsRUFBRSwwQ0FBMEM7b0JBQzlDLEdBQUcsRUFBRSxjQUFjLElBQUksQ0FBQyxJQUFJLEVBQUU7b0JBQzlCLEdBQUcsRUFBRTt3QkFDSCxZQUFZLEVBQUUsb0NBQW9DO3dCQUNsRCxrQkFBa0IsRUFBRSx5Q0FBeUM7cUJBQzlEO2lCQUNGO2FBQ0Y7U0FDRixDQUFDLENBQUM7SUFFTCxDQUFDO0NBRUY7QUF2R0QsNEJBdUdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBKc29uRmlsZSwgVGFzayB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBKb2JQZXJtaXNzaW9uIH0gZnJvbSAncHJvamVuL2xpYi9naXRodWIvd29ya2Zsb3dzLW1vZGVsJztcbmltcG9ydCB7IE5vZGVQcm9qZWN0IH0gZnJvbSAncHJvamVuL2xpYi9qYXZhc2NyaXB0JztcblxuLyoqXG4gKiBPcHRpb25zIGZvciBgQmFja3BvcnRgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJhY2twb3J0T3B0aW9ucyB7XG5cbiAgLyoqXG4gICAqIFRoZSByZXBvc2l0b3J5IG5hbWUuXG4gICAqL1xuICByZWFkb25seSByZXBvTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIHNwZWNpZmljIGJyYW5jaGVzIHRvIGJhY2twb3J0IHRvLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIHNwZWNpZmljIGJyYW5jaGVzLiBXaWxsIGJlIGRldGVybWluZWQgYnkgUFIgbGFiZWxzLlxuICAgKi9cbiAgcmVhZG9ubHkgYnJhbmNoZXM/OiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBBZGQgYSBCYWNrcG9ydCB3b3JrZmxvdyB0byBvdXIgcmVwb3MuXG4gKi9cbmV4cG9ydCBjbGFzcyBCYWNrcG9ydCBleHRlbmRzIENvbXBvbmVudCB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSByZXBvTmFtZTogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogSnNvbkZpbGU7XG5cbiAgY29uc3RydWN0b3IocHJvamVjdDogTm9kZVByb2plY3QsIG9wdGlvbnM6IEJhY2twb3J0T3B0aW9ucykge1xuICAgIHN1cGVyKHByb2plY3QpO1xuXG4gICAgdGhpcy5yZXBvTmFtZSA9IG9wdGlvbnMucmVwb05hbWU7XG5cbiAgICB0aGlzLmNvbmZpZyA9IG5ldyBKc29uRmlsZShwcm9qZWN0LCAnLmJhY2twb3J0cmMuanNvbicsIHtcbiAgICAgIC8vIHNlZSBodHRwczovL2dpdGh1Yi5jb20vc3FyZW4vYmFja3BvcnQvYmxvYi9tYWluL2RvY3MvY29uZmlnLWZpbGUtb3B0aW9ucy5tZFxuICAgICAgb2JqOiB7XG4gICAgICAgIHJlcG9Pd25lcjogJ2NkazhzLXRlYW0nLFxuICAgICAgICByZXBvTmFtZTogdGhpcy5yZXBvTmFtZSxcbiAgICAgICAgc2lnbm9mZjogdHJ1ZSxcbiAgICAgICAgYnJhbmNoTGFiZWxNYXBwaW5nOiB7XG4gICAgICAgICAgJ15iYWNrcG9ydC10by0oLispJCc6ICckMScsXG4gICAgICAgIH0sXG4gICAgICAgIHByVGl0bGU6ICd7Y29tbWl0TWVzc2FnZXN9JyxcbiAgICAgICAgZm9yazogZmFsc2UsXG4gICAgICAgIHB1Ymxpc2hTdGF0dXNDb21tZW50T25GYWlsdXJlOiB0cnVlLFxuICAgICAgICBwdWJsaXNoU3RhdHVzQ29tbWVudE9uU3VjY2VzczogdHJ1ZSxcbiAgICAgICAgcHVibGlzaFN0YXR1c0NvbW1lbnRPbkFib3J0OiB0cnVlLFxuICAgICAgICB0YXJnZXRQUkxhYmVsczogW3Byb2plY3QuYXV0b0FwcHJvdmUhLmxhYmVsXSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBwcm9qZWN0LmFkZERldkRlcHMoJ2JhY2twb3J0Jyk7XG5cbiAgICAvLyBiYWNrcG9ydCB0YXNrIHRvIGJyYW5jaGVzIGJhc2VkIG9uIHByIGxhYmVscyAoaS5lIG5vdCBicmFuY2ggc3BlY2lmaWMpXG4gICAgY29uc3QgYmFja3BvcnRUYXNrID0gdGhpcy5jcmVhdGVUYXNrKHByb2plY3QpO1xuXG4gICAgLy8gYmFja3BvcnQgdGFza3MgdG8gZXhwbGljaXQgYnJhbmNoZXMgYmFzZWQgb24gaW5wdXRcbiAgICBmb3IgKGNvbnN0IGJyYW5jaCBvZiBvcHRpb25zLmJyYW5jaGVzID8/IFtdKSB7XG4gICAgICB0aGlzLmNyZWF0ZVRhc2socHJvamVjdCwgYnJhbmNoKTtcbiAgICB9XG5cbiAgICB0aGlzLmNyZWF0ZVdvcmtmbG93KHByb2plY3QsIGJhY2twb3J0VGFzayk7XG5cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlVGFzayhwcm9qZWN0OiBOb2RlUHJvamVjdCwgYnJhbmNoPzogc3RyaW5nKTogVGFzayB7XG4gICAgY29uc3QgbmFtZSA9IGJyYW5jaCA/IGBiYWNrcG9ydDoke2JyYW5jaH1gIDogJ2JhY2twb3J0JztcbiAgICBjb25zdCB0YXNrID0gcHJvamVjdC5hZGRUYXNrKG5hbWUsIHsgcmVxdWlyZWRFbnY6IFsnQkFDS1BPUlRfUFJfTlVNQkVSJywgJ0dJVEhVQl9UT0tFTiddIH0pO1xuICAgIGNvbnN0IGNvbW1hbmRzID0gW1xuICAgICAgJ0JBQ0tQT1JUX0hPTUU9JChta3RlbXAgLWQpJyxcbiAgICAgICdta2RpciAtcCAke0JBQ0tQT1JUX0hPTUV9JyxcbiAgICAgIGBjcCAke3RoaXMuY29uZmlnLnBhdGh9IFxcJHtCQUNLUE9SVF9IT01FfWAsXG4gICAgICAnY2QgJHtCQUNLUE9SVF9IT01FfScsXG4gICAgXTtcbiAgICBjb25zdCBiYWNrcG9ydCA9IFsnYmFja3BvcnQnLCAnLS1kaXInLCBgXFwke0JBQ0tQT1JUX0hPTUV9LyR7dGhpcy5yZXBvTmFtZX1gLCAnLS1hY2Nlc3N0b2tlbicsICcke0dJVEhVQl9UT0tFTn0nLCAnLS1wcicsICcke0JBQ0tQT1JUX1BSX05VTUJFUn0nXTtcbiAgICBpZiAoYnJhbmNoKSB7XG4gICAgICBiYWNrcG9ydC5wdXNoKC4uLlsnLS1icmFuY2gnLCBicmFuY2hdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYmFja3BvcnQucHVzaCgnLS1ub24taW50ZXJhY3RpdmUnKTtcbiAgICB9XG5cbiAgICBjb21tYW5kcy5wdXNoKGJhY2twb3J0LmpvaW4oJyAnKSk7XG4gICAgdGFzay5leGVjKGNvbW1hbmRzLmpvaW4oJyAmJiAnKSk7XG4gICAgcmV0dXJuIHRhc2s7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVdvcmtmbG93KHByb2plY3Q6IE5vZGVQcm9qZWN0LCB0YXNrOiBUYXNrKSB7XG5cbiAgICBjb25zdCBiYWNrcG9ydFdvcmtmbG93ID0gcHJvamVjdC5naXRodWIhLmFkZFdvcmtmbG93KCdiYWNrcG9ydCcpO1xuICAgIGJhY2twb3J0V29ya2Zsb3cub24oeyBwdWxsUmVxdWVzdFRhcmdldDogeyB0eXBlczogWydjbG9zZWQnXSB9IH0pO1xuICAgIGJhY2twb3J0V29ya2Zsb3cuYWRkSm9iKCdiYWNrcG9ydCcsIHtcbiAgICAgIHJ1bnNPbjogWyd1YnVudHUtbGF0ZXN0J10sXG4gICAgICBwZXJtaXNzaW9uczoge1xuICAgICAgICBjb250ZW50czogSm9iUGVybWlzc2lvbi5XUklURSxcbiAgICAgIH0sXG4gICAgICBzdGVwczogW1xuICAgICAgICAvLyBuZWVkZWQgaW4gb3JkZXIgdG8gcnVuIHRoZSBwcm9qZW4gdGFzayBhcyB3ZWxsXG4gICAgICAgIC8vIGFzIHVzZSB0aGUgYmFja3BvcnQgY29uZmlndXJhdGlvbiBpbiB0aGUgcmVwby5cbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdjaGVja291dCcsXG4gICAgICAgICAgdXNlczogJ2FjdGlvbnMvY2hlY2tvdXRAdjMnLFxuICAgICAgICAgIHdpdGg6IHtcbiAgICAgICAgICAgIC8vIHJlcXVpcmVkIGJlY2F1c2Ugd2UgbmVlZCB0aGUgZnVsbCBoaXN0b3J5XG4gICAgICAgICAgICAvLyBmb3IgcHJvcGVyIGJhY2twb3J0cy5cbiAgICAgICAgICAgICdmZXRjaC1kZXB0aCc6IDAsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgLi4ucHJvamVjdC5yZW5kZXJXb3JrZmxvd1NldHVwKHsgbXV0YWJsZTogZmFsc2UgfSksXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnU2V0IEdpdCBJZGVudGl0eScsXG4gICAgICAgICAgcnVuOiAnZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLm5hbWUgXCJnaXRodWItYWN0aW9uc1wiICYmIGdpdCBjb25maWcgLS1nbG9iYWwgdXNlci5lbWFpbCBcImdpdGh1Yi1hY3Rpb25zQGdpdGh1Yi5jb21cIicsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnYmFja3BvcnQnLFxuICAgICAgICAgIGlmOiAnZ2l0aHViLmV2ZW50LnB1bGxfcmVxdWVzdC5tZXJnZWQgPT0gdHJ1ZScsXG4gICAgICAgICAgcnVuOiBgbnB4IHByb2plbiAke3Rhc2submFtZX1gLFxuICAgICAgICAgIGVudjoge1xuICAgICAgICAgICAgR0lUSFVCX1RPS0VOOiAnJHt7IHNlY3JldHMuUFJPSkVOX0dJVEhVQl9UT0tFTiB9fScsXG4gICAgICAgICAgICBCQUNLUE9SVF9QUl9OVU1CRVI6ICcke3sgZ2l0aHViLmV2ZW50LnB1bGxfcmVxdWVzdC5udW1iZXIgfX0nLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pO1xuXG4gIH1cblxufSJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja3BvcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9iYWNrcG9ydC9iYWNrcG9ydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQ0FBbUM7QUFDbkMsOENBQXdEO0FBcUJ4RDs7R0FFRztBQUNILE1BQWEsUUFBUyxTQUFRLGtCQUFTO0lBRXJDLFlBQVksT0FBb0IsRUFBRSxPQUF3QjtRQUN4RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFZixJQUFJLDRCQUFtQixDQUFDLE9BQU8sRUFBRTtZQUMvQixRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVEsSUFBSSxFQUFFO1NBQ2pDLENBQUMsQ0FBQztJQUVMLENBQUM7Q0FFRjtBQVhELDRCQVdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAncHJvamVuJztcbmltcG9ydCB7IFB1bGxSZXF1ZXN0QmFja3BvcnQgfSBmcm9tICdwcm9qZW4vbGliL2dpdGh1Yic7XG5pbXBvcnQgeyBOb2RlUHJvamVjdCB9IGZyb20gJ3Byb2plbi9saWIvamF2YXNjcmlwdCc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYEJhY2twb3J0YC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCYWNrcG9ydE9wdGlvbnMge1xuXG4gIC8qKlxuICAgKiBUaGUgcmVwb3NpdG9yeSBuYW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVwb05hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogTGlzdCBvZiBzcGVjaWZpYyBicmFuY2hlcyB0byBiYWNrcG9ydCB0by5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBzcGVjaWZpYyBicmFuY2hlcy4gV2lsbCBiZSBkZXRlcm1pbmVkIGJ5IFBSIGxhYmVscy5cbiAgICovXG4gIHJlYWRvbmx5IGJyYW5jaGVzPzogc3RyaW5nW107XG59XG5cbi8qKlxuICogQWRkIGEgQmFja3BvcnQgd29ya2Zsb3cgdG8gb3VyIHJlcG9zLlxuICovXG5leHBvcnQgY2xhc3MgQmFja3BvcnQgZXh0ZW5kcyBDb21wb25lbnQge1xuXG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IE5vZGVQcm9qZWN0LCBvcHRpb25zOiBCYWNrcG9ydE9wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgIG5ldyBQdWxsUmVxdWVzdEJhY2twb3J0KHByb2plY3QsIHtcbiAgICAgIGJyYW5jaGVzOiBvcHRpb25zLmJyYW5jaGVzID8/IFtdLFxuICAgIH0pO1xuXG4gIH1cblxufSJdfQ== |
@@ -1,3 +0,3 @@ | ||
import { Component, JsonFile, Task } from 'projen'; | ||
import { JobPermission } from 'projen/lib/github/workflows-model'; | ||
import { Component } from 'projen'; | ||
import { PullRequestBackport } from 'projen/lib/github'; | ||
import { NodeProject } from 'projen/lib/javascript'; | ||
@@ -28,103 +28,11 @@ | ||
private readonly repoName: string; | ||
private readonly config: JsonFile; | ||
constructor(project: NodeProject, options: BackportOptions) { | ||
super(project); | ||
this.repoName = options.repoName; | ||
this.config = new JsonFile(project, '.backportrc.json', { | ||
// see https://github.com/sqren/backport/blob/main/docs/config-file-options.md | ||
obj: { | ||
repoOwner: 'cdk8s-team', | ||
repoName: this.repoName, | ||
signoff: true, | ||
branchLabelMapping: { | ||
'^backport-to-(.+)$': '$1', | ||
}, | ||
prTitle: '{commitMessages}', | ||
fork: false, | ||
publishStatusCommentOnFailure: true, | ||
publishStatusCommentOnSuccess: true, | ||
publishStatusCommentOnAbort: true, | ||
targetPRLabels: [project.autoApprove!.label], | ||
}, | ||
new PullRequestBackport(project, { | ||
branches: options.branches ?? [], | ||
}); | ||
project.addDevDeps('backport'); | ||
// backport task to branches based on pr labels (i.e not branch specific) | ||
const backportTask = this.createTask(project); | ||
// backport tasks to explicit branches based on input | ||
for (const branch of options.branches ?? []) { | ||
this.createTask(project, branch); | ||
} | ||
this.createWorkflow(project, backportTask); | ||
} | ||
private createTask(project: NodeProject, branch?: string): Task { | ||
const name = branch ? `backport:${branch}` : 'backport'; | ||
const task = project.addTask(name, { requiredEnv: ['BACKPORT_PR_NUMBER', 'GITHUB_TOKEN'] }); | ||
const commands = [ | ||
'BACKPORT_HOME=$(mktemp -d)', | ||
'mkdir -p ${BACKPORT_HOME}', | ||
`cp ${this.config.path} \${BACKPORT_HOME}`, | ||
'cd ${BACKPORT_HOME}', | ||
]; | ||
const backport = ['backport', '--dir', `\${BACKPORT_HOME}/${this.repoName}`, '--accesstoken', '${GITHUB_TOKEN}', '--pr', '${BACKPORT_PR_NUMBER}']; | ||
if (branch) { | ||
backport.push(...['--branch', branch]); | ||
} else { | ||
backport.push('--non-interactive'); | ||
} | ||
commands.push(backport.join(' ')); | ||
task.exec(commands.join(' && ')); | ||
return task; | ||
} | ||
private createWorkflow(project: NodeProject, task: Task) { | ||
const backportWorkflow = project.github!.addWorkflow('backport'); | ||
backportWorkflow.on({ pullRequestTarget: { types: ['closed'] } }); | ||
backportWorkflow.addJob('backport', { | ||
runsOn: ['ubuntu-latest'], | ||
permissions: { | ||
contents: JobPermission.WRITE, | ||
}, | ||
steps: [ | ||
// needed in order to run the projen task as well | ||
// as use the backport configuration in the repo. | ||
{ | ||
name: 'checkout', | ||
uses: 'actions/checkout@v3', | ||
with: { | ||
// required because we need the full history | ||
// for proper backports. | ||
'fetch-depth': 0, | ||
}, | ||
}, | ||
...project.renderWorkflowSetup({ mutable: false }), | ||
{ | ||
name: 'Set Git Identity', | ||
run: 'git config --global user.name "github-actions" && git config --global user.email "github-actions@github.com"', | ||
}, | ||
{ | ||
name: 'backport', | ||
if: 'github.event.pull_request.merged == true', | ||
run: `npx projen ${task.name}`, | ||
env: { | ||
GITHUB_TOKEN: '${{ secrets.PROJEN_GITHUB_TOKEN }}', | ||
BACKPORT_PR_NUMBER: '${{ github.event.pull_request.number }}', | ||
}, | ||
}, | ||
], | ||
}); | ||
} | ||
} |
@@ -62,3 +62,3 @@ "use strict"; | ||
_a = JSII_RTTI_SYMBOL_1; | ||
Triage[_a] = { fqn: "@cdk8s/projen-common.Triage", version: "0.0.559" }; | ||
Triage[_a] = { fqn: "@cdk8s/projen-common.Triage", version: "0.0.560" }; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJpYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdHJpYWdlL3RyaWFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG1DQUFtQztBQUNuQyx1RUFBa0U7QUErQmxFOzs7O0dBSUc7QUFDSCxNQUFhLE1BQU8sU0FBUSxrQkFBUztJQUVuQyxZQUFZLE9BQW9CLEVBQUUsS0FBa0I7UUFDbEQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWYsa0RBQWtEO1FBQ2xELDBDQUEwQztRQUMxQyxNQUFNLFVBQVUsR0FBRyxnREFBZ0QsQ0FBQztRQUVwRSxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsTUFBTyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN2RCxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQ1YsTUFBTSxFQUFFO2dCQUNOLEtBQUssRUFBRSxDQUFDLFFBQVEsQ0FBQzthQUNsQjtZQUNELFdBQVcsRUFBRTtnQkFDWCxLQUFLLEVBQUUsQ0FBQyxRQUFRLENBQUM7YUFDbEI7U0FDRixDQUFDLENBQUM7UUFDSCxRQUFRLENBQUMsTUFBTSxDQUFDLG1CQUFtQixFQUFFO1lBQ25DLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSwrQkFBYSxDQUFDLEtBQUssRUFBRSxZQUFZLEVBQUUsK0JBQWEsQ0FBQyxLQUFLLEVBQUU7WUFDL0Usa0NBQWtDO1lBQ2xDLGlDQUFpQztZQUNqQywySUFBMkk7WUFDM0ksRUFBRSxFQUFFLHNDQUFzQyxLQUFLLENBQUMsUUFBUSxxS0FBcUs7WUFDN04sTUFBTSxFQUFFLENBQUMsZUFBZSxDQUFDO1lBQ3pCLEtBQUssRUFBRSxDQUFDO29CQUNOLElBQUksRUFBRSwrQkFBK0I7b0JBQ3JDLElBQUksRUFBRTt3QkFDSixhQUFhLEVBQUUsVUFBVTt3QkFDekIsY0FBYyxFQUFFLG9DQUFvQztxQkFDckQ7aUJBQ0YsQ0FBQztTQUNILENBQUMsQ0FBQztRQUVILElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRTtZQUNsQixRQUFRLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFO2dCQUNsQyxXQUFXLEVBQUUsRUFBRSxZQUFZLEVBQUUsK0JBQWEsQ0FBQyxLQUFLLEVBQUU7Z0JBQ2xELEVBQUUsRUFBRSxzQ0FBc0MsS0FBSyxDQUFDLFFBQVEsb0dBQW9HO2dCQUM1SixNQUFNLEVBQUUsQ0FBQyxlQUFlLENBQUM7Z0JBQ3pCLEtBQUssRUFBRSxDQUFDO3dCQUNOLElBQUksRUFBRSx3Q0FBd0M7d0JBQzlDLElBQUksRUFBRTs0QkFDSiwwRkFBMEY7NEJBQzFGLE1BQU0sRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7NEJBQ2pDLFlBQVksRUFBRSxvQ0FBb0M7eUJBQ25EO3FCQUNGLENBQUM7YUFDSCxDQUFDLENBQUM7U0FDSjtJQUVILENBQUM7O0FBbERILHdCQW1EQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBKb2JQZXJtaXNzaW9uIH0gZnJvbSAncHJvamVuL2xpYi9naXRodWIvd29ya2Zsb3dzLW1vZGVsJztcbmltcG9ydCB7IE5vZGVQcm9qZWN0IH0gZnJvbSAncHJvamVuL2xpYi9qYXZhc2NyaXB0JztcblxuLyoqXG4gKiBQcm9wcyBmb3IgYFRyaWFnZWAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJpYWdlUHJvcHMgZXh0ZW5kcyBUcmlhZ2VPcHRpb25zIHtcblxuICAvKipcbiAgICogVGhlIHJlcG9zaXRvcnkgbmFtZS5cbiAgICovXG4gIHJlYWRvbmx5IHJlcG9OYW1lOiBzdHJpbmc7XG5cbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBgVHJpYWdlYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUcmlhZ2VPcHRpb25zIHtcblxuXG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgbGFiZWxzIGF1dG9tYXRpY2FsbHkgYWRkZWQgdG8gUFJzLlxuICAgKiBBdXRvbWF0aW9uIFBScyBhcmUgZXhjbHVkZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gbGFiZWxzLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJMYWJlbHM/OiBzdHJpbmdbXTtcblxufVxuXG4vKipcbiAqIEFkZCBhIFRyaWFnZSB3b3JrZmxvdyB0byBvdXIgcmVwb3MuXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vbWFya2V0cGxhY2UvYWN0aW9ucy9hZGQtdG8tZ2l0aHViLXByb2plY3RzXG4gKi9cbmV4cG9ydCBjbGFzcyBUcmlhZ2UgZXh0ZW5kcyBDb21wb25lbnQge1xuXG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IE5vZGVQcm9qZWN0LCBwcm9wczogVHJpYWdlUHJvcHMpIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgIC8vIGhtbSwgd2UgbmVlZCB0byByZW1lbWJlciB0byB1cGRhdGUgdGhpcyBpbiAyMDI0XG4gICAgLy8gb3IgZmlndXJlIG91dCBob3cgdG8gbWFrZSB0aGlzIGR5bmFtaWMuXG4gICAgY29uc3QgcHJvamVjdFVybCA9ICdodHRwczovL2dpdGh1Yi5jb20vb3Jncy9jZGs4cy10ZWFtL3Byb2plY3RzLzEyJztcblxuICAgIGNvbnN0IHdvcmtmbG93ID0gcHJvamVjdC5naXRodWIhLmFkZFdvcmtmbG93KCd0cmlhZ2UnKTtcbiAgICB3b3JrZmxvdy5vbih7XG4gICAgICBpc3N1ZXM6IHtcbiAgICAgICAgdHlwZXM6IFsnb3BlbmVkJ10sXG4gICAgICB9LFxuICAgICAgcHVsbFJlcXVlc3Q6IHtcbiAgICAgICAgdHlwZXM6IFsnb3BlbmVkJ10sXG4gICAgICB9LFxuICAgIH0pO1xuICAgIHdvcmtmbG93LmFkZEpvYignYXNzaWduLXRvLXByb2plY3QnLCB7XG4gICAgICBwZXJtaXNzaW9uczogeyBpc3N1ZXM6IEpvYlBlcm1pc3Npb24uV1JJVEUsIHB1bGxSZXF1ZXN0czogSm9iUGVybWlzc2lvbi5XUklURSB9LFxuICAgICAgLy8gZG9udCB0cmlhZ2UgaXNzdWVzL3BycyBvbiBmb3Jrc1xuICAgICAgLy8gZG9udCB0cmlhZ2UgYXV0aW1hdGlvbiBib3QgcHJzXG4gICAgICAvLyBzZWUgaHR0cHM6Ly9kb2NzLmdpdGh1Yi5jb20vZW4vYWN0aW9ucy91c2luZy1qb2JzL3VzaW5nLWNvbmRpdGlvbnMtdG8tY29udHJvbC1qb2ItZXhlY3V0aW9uI2V4YW1wbGUtb25seS1ydW4tam9iLWZvci1zcGVjaWZpYy1yZXBvc2l0b3J5XG4gICAgICBpZjogYChnaXRodWIucmVwb3NpdG9yeSA9PSBcXCdjZGs4cy10ZWFtLyR7cHJvcHMucmVwb05hbWV9XFwnKSAmJiAoZ2l0aHViLmV2ZW50Lmlzc3VlIHx8IChnaXRodWIuZXZlbnQucHVsbF9yZXF1ZXN0LnVzZXIubG9naW4gIT0gXFwnY2RrOHMtYXV0b21hdGlvblxcJyAmJiBnaXRodWIuZXZlbnQucHVsbF9yZXF1ZXN0LmhlYWQucmVwby5mdWxsX25hbWUgPT0gZ2l0aHViLnJlcG9zaXRvcnkpKWAsXG4gICAgICBydW5zT246IFsndWJ1bnR1LWxhdGVzdCddLFxuICAgICAgc3RlcHM6IFt7XG4gICAgICAgIHVzZXM6ICdhY3Rpb25zL2FkZC10by1wcm9qZWN0QHYwLjQuMCcsXG4gICAgICAgIHdpdGg6IHtcbiAgICAgICAgICAncHJvamVjdC11cmwnOiBwcm9qZWN0VXJsLFxuICAgICAgICAgICdnaXRodWItdG9rZW4nOiAnJHt7IHNlY3JldHMuUFJPSkVOX0dJVEhVQl9UT0tFTiB9fScsXG4gICAgICAgIH0sXG4gICAgICB9XSxcbiAgICB9KTtcblxuICAgIGlmIChwcm9wcy5wckxhYmVscykge1xuICAgICAgd29ya2Zsb3cuYWRkSm9iKCdhZGQtbGFiZWxzLXRvLXByJywge1xuICAgICAgICBwZXJtaXNzaW9uczogeyBwdWxsUmVxdWVzdHM6IEpvYlBlcm1pc3Npb24uV1JJVEUgfSxcbiAgICAgICAgaWY6IGAoZ2l0aHViLnJlcG9zaXRvcnkgPT0gXFwnY2RrOHMtdGVhbS8ke3Byb3BzLnJlcG9OYW1lfVxcJykgJiYgKGdpdGh1Yi5ldmVudC5wdWxsX3JlcXVlc3QgJiYgZ2l0aHViLmV2ZW50LnB1bGxfcmVxdWVzdC51c2VyLmxvZ2luICE9IFxcJ2NkazhzLWF1dG9tYXRpb25cXCcpYCxcbiAgICAgICAgcnVuc09uOiBbJ3VidW50dS1sYXRlc3QnXSxcbiAgICAgICAgc3RlcHM6IFt7XG4gICAgICAgICAgdXNlczogJ2FjdGlvbnMtZWNvc3lzdGVtL2FjdGlvbi1hZGQtbGFiZWxzQHYxJyxcbiAgICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgICAvLyB3ZWlyZDogaHR0cHM6Ly9naXRodWIuY29tL2FjdGlvbnMtZWNvc3lzdGVtL2FjdGlvbi1hZGQtbGFiZWxzL2Jsb2IvbWFpbi9zcmMvbWFpbi50cyNMMTBcbiAgICAgICAgICAgIGxhYmVsczogcHJvcHMucHJMYWJlbHMuam9pbignXFxuJyksXG4gICAgICAgICAgICBnaXRodWJfdG9rZW46ICcke3sgc2VjcmV0cy5QUk9KRU5fR0lUSFVCX1RPS0VOIH19JyxcbiAgICAgICAgICB9LFxuICAgICAgICB9XSxcbiAgICAgIH0pO1xuICAgIH1cblxuICB9XG59Il19 |
@@ -69,3 +69,3 @@ "use strict"; | ||
_a = JSII_RTTI_SYMBOL_1; | ||
Cdk8sTeamJsiiProject[_a] = { fqn: "@cdk8s/projen-common.Cdk8sTeamJsiiProject", version: "0.0.559" }; | ||
Cdk8sTeamJsiiProject[_a] = { fqn: "@cdk8s/projen-common.Cdk8sTeamJsiiProject", version: "0.0.560" }; | ||
function pythonTarget(name) { | ||
@@ -72,0 +72,0 @@ const repoName = node.buildRepositoryName(name); |
@@ -142,3 +142,3 @@ "use strict"; | ||
_a = JSII_RTTI_SYMBOL_1; | ||
Cdk8sTeamNodeProject[_a] = { fqn: "@cdk8s/projen-common.Cdk8sTeamNodeProject", version: "0.0.559" }; | ||
Cdk8sTeamNodeProject[_a] = { fqn: "@cdk8s/projen-common.Cdk8sTeamNodeProject", version: "0.0.560" }; | ||
/** | ||
@@ -145,0 +145,0 @@ * Validate that the options map does not contain any invalid option. |
@@ -47,3 +47,3 @@ "use strict"; | ||
_a = JSII_RTTI_SYMBOL_1; | ||
Cdk8sTeamTypeScriptProject[_a] = { fqn: "@cdk8s/projen-common.Cdk8sTeamTypeScriptProject", version: "0.0.559" }; | ||
Cdk8sTeamTypeScriptProject[_a] = { fqn: "@cdk8s/projen-common.Cdk8sTeamTypeScriptProject", version: "0.0.560" }; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXNjcmlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm9qZWN0cy90eXBlc2NyaXB0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsdUNBQXVDO0FBQ3ZDLG1DQUFvRDtBQUNwRCxtQ0FBbUM7QUFDbkMsK0JBQStCO0FBRS9CLDhEQUEyRDtBQTZDM0Q7O0dBRUc7QUFDSCxNQUFhLDBCQUEyQixTQUFRLG1CQUFVLENBQUMsaUJBQWlCO0lBRTFFLFlBQVksT0FBMEM7UUFDcEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFbEMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsNEJBQTRCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEUsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsOEJBQThCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDeEUsTUFBTSxvQkFBb0IsR0FBRyxNQUFNLENBQUMseUJBQXlCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFdkUsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNsQyxHQUFHLGdCQUFnQjtnQkFDbkIsR0FBRyxrQkFBa0I7Z0JBQ3JCLGFBQWEsRUFBRSxvQkFBb0I7YUFDcEMsRUFBRSxPQUFPLENBQUMsQ0FBd0MsQ0FBQztRQUVwRCxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFcEIsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTVFLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLDhCQUE4QixJQUFJLEVBQUUsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBRS9GLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUNqQyxRQUFRLEVBQUUsWUFBWSxDQUFDLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxRQUFRO1lBQ3BFLFlBQVksRUFBRSxvQkFBb0I7WUFDbEMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxhQUFhO1NBQ3JDLENBQUMsQ0FBQztRQUVILElBQUksT0FBTyxDQUFDLFFBQVEsSUFBSSxLQUFLLEVBQUU7WUFDN0IsSUFBSSxtQkFBUSxDQUFDLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztTQUN0RTtRQUVELHdGQUF3RjtRQUN4Rix1R0FBdUc7UUFDdkcsK0VBQStFO1FBQy9FLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsc0JBQXNCLEVBQUUsdUJBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV0RSxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckMsQ0FBQzs7QUF2Q0gsZ0VBd0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZGVlcG1lcmdlIGZyb20gJ2RlZXBtZXJnZSc7XG5pbXBvcnQgeyBEZXBlbmRlbmN5VHlwZSwgdHlwZXNjcmlwdCB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgKiBhcyBnaXRodWIgZnJvbSAnLi9naXRodWInO1xuaW1wb3J0ICogYXMgbm9kZSBmcm9tICcuL25vZGUnO1xuaW1wb3J0IHsgVHJpYWdlT3B0aW9ucyB9IGZyb20gJy4uL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQmFja3BvcnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2JhY2twb3J0L2JhY2twb3J0JztcblxuLyoqXG4gKiBPcHRpb25zIGZvciBgQ2RrOHNUZWFtVHlwZVNjcmlwdFByb2plY3RgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENkazhzVGVhbVR5cGVTY3JpcHRQcm9qZWN0T3B0aW9ucyBleHRlbmRzIHR5cGVzY3JpcHQuVHlwZVNjcmlwdFByb2plY3RPcHRpb25zIHtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHJlcG9zaXRvcnkgaW5zaWRlIHRoZSBjZGs4cy10ZWFtXG4gICAqIG9yZyB3aGVyZSB0aGUgY29kZSBvZiB0aGUgcHJvamVjdCBpcyBsb2NhdGUgaW4uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdGhlIHBhY2thZ2UgbmFtZS5cbiAgICovXG4gIHJlYWRvbmx5IHJlcG9OYW1lPzogc3RyaW5nO1xuXG4gIC8qKiBDb25maWd1cmUgYSBiYWNrcG9ydCB3b3JrZmxvdy5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGJhY2twb3J0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQnJhbmNoZXMgdG8gYmFja3BvcnQgdG8uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gV2lsbCBiZSBkZXJpdmVkIGZyb20gUFIgbGFiZWxzLlxuICAgKi9cbiAgcmVhZG9ubHkgYmFja3BvcnRCcmFuY2hlcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBQYWNrYWdlcyB0aGF0IGNvbXBpbGUgdGhlIHByb2plY3QgYXBhcnQgZnJvbSB0aGUgdHlwZXNjcmlwdC9qc2lpIGNvbXBpbGVyLlxuICAgKiBBbnkgcGFja2FnZSB0aGF0IHByb2R1Y2VzIGEgcHVibGlzaGVkIGFydGlmYWN0IHNob3VsZCBiZSBpbmNsdWRlZCBpbiB0aGlzIGxpc3QuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gYWRkaXRpb25hbCBjb21waWxlciBkZXBlbmRlbmNpZXMuXG4gICAqL1xuICByZWFkb25seSBhZGRpdGlvbmFsQ29tcGlsZXJEZXBlbmRlbmNpZXM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogT3B0aW9ucyBmb3IgdGhlIGB0cmlhZ2VgIHdvcmtmbG93LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGN1c3RvbSBvcHRpb25zLlxuICAgKi9cbiAgcmVhZG9ubHkgdHJpYWdlT3B0aW9ucz86IFRyaWFnZU9wdGlvbnM7XG5cbn1cblxuLyoqXG4gKiBAcGppZCBjZGs4cy10ZWFtLXR5cGVzY3JpcHQtcHJvamVjdFxuICovXG5leHBvcnQgY2xhc3MgQ2RrOHNUZWFtVHlwZVNjcmlwdFByb2plY3QgZXh0ZW5kcyB0eXBlc2NyaXB0LlR5cGVTY3JpcHRQcm9qZWN0IHtcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBDZGs4c1RlYW1UeXBlU2NyaXB0UHJvamVjdE9wdGlvbnMpIHtcbiAgICBub2RlLnZhbGlkYXRlT3B0aW9ucyhvcHRpb25zKTtcbiAgICBub2RlLnZhbGlkYXRlUHJvamVjdE5hbWUob3B0aW9ucyk7XG5cbiAgICBjb25zdCBmaXhlZE5vZGVPcHRpb25zID0gbm9kZS5idWlsZE5vZGVQcm9qZWN0Rml4ZWRPcHRpb25zKG9wdGlvbnMpO1xuICAgIGNvbnN0IGRlZmF1bHROb2RlT3B0aW9ucyA9IG5vZGUuYnVpbGROb2RlUHJvamVjdERlZmF1bHRPcHRpb25zKG9wdGlvbnMpO1xuICAgIGNvbnN0IGRlZmF1bHRHaXRIdWJPcHRpb25zID0gZ2l0aHViLmJ1aWxkR2l0SHViRGVmYXVsdE9wdGlvbnMob3B0aW9ucyk7XG5cbiAgICBjb25zdCBmaW5hbE9wdGlvbnMgPSBkZWVwbWVyZ2UuYWxsKFt7XG4gICAgICAuLi5maXhlZE5vZGVPcHRpb25zLFxuICAgICAgLi4uZGVmYXVsdE5vZGVPcHRpb25zLFxuICAgICAgZ2l0aHViT3B0aW9uczogZGVmYXVsdEdpdEh1Yk9wdGlvbnMsXG4gICAgfSwgb3B0aW9uc10pIGFzIHR5cGVzY3JpcHQuVHlwZVNjcmlwdFByb2plY3RPcHRpb25zO1xuXG4gICAgc3VwZXIoZmluYWxPcHRpb25zKTtcblxuICAgIGNvbnN0IHJlcG9OYW1lID0gb3B0aW9ucy5yZXBvTmFtZSA/PyBub2RlLmJ1aWxkUmVwb3NpdG9yeU5hbWUob3B0aW9ucy5uYW1lKTtcblxuICAgIGNvbnN0IGNvbXBpbGVyRGVwZW5kZW5jaWVzID0gWy4uLihvcHRpb25zLmFkZGl0aW9uYWxDb21waWxlckRlcGVuZGVuY2llcyA/PyBbXSksICd0eXBlc2NyaXB0J107XG5cbiAgICBub2RlLmFkZENvbXBvbmVudHModGhpcywgcmVwb05hbWUsIHtcbiAgICAgIGJyYW5jaGVzOiBmaW5hbE9wdGlvbnMuZGVwc1VwZ3JhZGVPcHRpb25zPy53b3JrZmxvd09wdGlvbnM/LmJyYW5jaGVzLFxuICAgICAgY29tcGlsZXJEZXBzOiBjb21waWxlckRlcGVuZGVuY2llcyxcbiAgICAgIHRyaWFnZU9wdGlvbnM6IG9wdGlvbnMudHJpYWdlT3B0aW9ucyxcbiAgICB9KTtcblxuICAgIGlmIChvcHRpb25zLmJhY2twb3J0ID8/IGZhbHNlKSB7XG4gICAgICBuZXcgQmFja3BvcnQodGhpcywgeyBicmFuY2hlczogb3B0aW9ucy5iYWNrcG9ydEJyYW5jaGVzLCByZXBvTmFtZSB9KTtcbiAgICB9XG5cbiAgICAvLyBwcmV2ZW50IHVwZ3JhZGluZyBAdHlwZXMvbm9kZSBiZWNhdXNlIGNyeXB0byBhbmQgZXZlbnRzIGJyb2tlIHRoZWlyIHR5cGUgZGVmaW5pdGlvbnMuXG4gICAgLy8gc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9jZGs4cy10ZWFtL2NkazhzLXByb2plbi1jb21tb24vYWN0aW9ucy9ydW5zLzg2NzI0Njg0NTQvam9iLzIzNzgyODIwMDk4P3ByPTcyN1xuICAgIC8vIGhvcGVmdWxseSBieSB0aGUgdGltZSB3ZSBhY3R1YWxseSBuZWVkIHRvIHVwZ3JhZGUsIGl0IHdpbGwgYWxyZWFkeSBiZSBmaXhlZC5cbiAgICB0aGlzLmRlcHMucmVtb3ZlRGVwZW5kZW5jeSgnQHR5cGVzL25vZGUnKTtcbiAgICB0aGlzLmRlcHMuYWRkRGVwZW5kZW5jeSgnQHR5cGVzL25vZGVAMTYuMTguNzgnLCBEZXBlbmRlbmN5VHlwZS5CVUlMRCk7XG5cbiAgICBub2RlLmxpbWl0UmVsZWFzZUNvbmN1cnJlbmN5KHRoaXMpO1xuICB9XG59XG4iXX0= |
@@ -58,3 +58,3 @@ { | ||
"jsii-rosetta": "1.x", | ||
"projen": "^0.90.5", | ||
"projen": "^0.90.6", | ||
"ts-jest": "^27", | ||
@@ -82,3 +82,3 @@ "ts-node": "^10.9.2", | ||
"license": "Apache-2.0", | ||
"version": "0.0.559", | ||
"version": "0.0.560", | ||
"jest": { | ||
@@ -85,0 +85,0 @@ "coverageProvider": "v8", |
Sorry, the diff of this file is not supported yet
779125
4836