in projenrc/upgrade-dependencies.ts [240:299]
private createUpgrade(task: Task, gh: github.GitHub, branch?: string): Upgrade {
const runsOn = this.options.workflowOptions?.runsOn ?? ['ubuntu-latest'];
const with_ = {
...(branch ? { ref: branch } : {}),
...(gh.downloadLfs ? { lfs: true } : {}),
};
const steps: github.workflows.JobStep[] = [
{
name: 'Checkout',
uses: 'actions/checkout@v3',
with: Object.keys(with_).length > 0 ? with_ : undefined,
},
...this._project.renderWorkflowSetup({ mutable: false }),
...(branch && branch !== 'main'
? [
{
env: {
// Important: this ensures `yarn projen` runs `yarn install` and not `yarn install:ci` so it can update
// the yarn.lock file.
CI: 'false',
},
name: 'Back-port projenrc changes from main',
run: 'git fetch origin main && git checkout FETCH_HEAD -- README.md && yarn projen',
},
]
: []),
{
name: 'Upgrade dependencies',
run: this._project.runTaskCommand(task),
},
];
steps.push(...this.postBuildSteps);
steps.push(
...github.WorkflowActions.uploadGitPatch({
stepId: CREATE_PATCH_STEP_ID,
outputName: PATCH_CREATED_OUTPUT,
}),
);
return {
job: {
name: 'Upgrade',
container: this.containerOptions,
permissions: this.permissions,
runsOn: runsOn ?? ['ubuntu-latest'],
steps: steps,
outputs: {
[PATCH_CREATED_OUTPUT]: {
stepId: CREATE_PATCH_STEP_ID,
outputName: PATCH_CREATED_OUTPUT,
},
},
},
jobId: 'upgrade',
ref: branch,
};
}