Skip to content

Commit f348b20

Browse files
committed
chore: keep generated/main alive
1 parent f180473 commit f348b20

File tree

2 files changed

+34
-17
lines changed

2 files changed

+34
-17
lines changed

scripts/ci/codegen/pushGeneratedCode.ts

Lines changed: 33 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ import { run } from '../../common';
33
import { configureGitHubAuthor } from '../../release/common';
44
import { getNbGitDiff } from '../utils';
55

6+
import { GENERATED_MAIN_BRANCH } from './text';
7+
68
const PR_NUMBER = parseInt(process.env.PR_NUMBER || '0', 10);
79
const FOLDERS_TO_CHECK = 'yarn.lock openapitools.json clients specs/bundled';
810

@@ -19,16 +21,13 @@ export async function pushGeneratedCode(): Promise<void> {
1921
const baseBranch = await run('git branch --show-current');
2022
console.log(`Checking codegen status on '${baseBranch}'.`);
2123

22-
// determine generated branch name based on current branch
23-
const generatedCodeBranch = `generated/${baseBranch}`;
24+
const nbDiff = await getNbGitDiff({
25+
branch: baseBranch,
26+
head: 'noHead',
27+
path: FOLDERS_TO_CHECK,
28+
});
2429

25-
if (
26-
(await getNbGitDiff({
27-
branch: baseBranch,
28-
head: null,
29-
path: FOLDERS_TO_CHECK,
30-
})) === 0
31-
) {
30+
if (nbDiff === 0) {
3231
console.log(`No generated code changes found for '${baseBranch}'.`);
3332

3433
if (PR_NUMBER) {
@@ -38,25 +37,43 @@ export async function pushGeneratedCode(): Promise<void> {
3837
return;
3938
}
4039

41-
await run(`yarn workspace scripts cleanGeneratedBranch ${baseBranch}`);
40+
console.log(`${nbDiff} changes found for ${FOLDERS_TO_CHECK}`);
41+
42+
// determine generated branch name based on current branch
43+
const generatedCodeBranch = `generated/${baseBranch}`;
44+
45+
// We don't re-create GENERATED_MAIN_BRANCH
46+
if (baseBranch !== 'main') {
47+
await run(`yarn workspace scripts cleanGeneratedBranch ${baseBranch}`);
48+
49+
console.log(`Creating branch for generated code: '${generatedCodeBranch}'`);
50+
await run(
51+
`git branch ${generatedCodeBranch} origin/${GENERATED_MAIN_BRANCH}`
52+
);
53+
}
54+
55+
await run(`git checkout ${generatedCodeBranch}`);
56+
57+
// For the GENERATED_MAIN_BRANCH, we take the latest commit on main and generate code
58+
if (baseBranch === 'main') {
59+
console.log(`Merging '${baseBranch}' in '${generatedCodeBranch}'`);
60+
await run(`git merge --no-commit ${baseBranch}`);
61+
}
4262

43-
console.log(`Creating branch for generated code: '${generatedCodeBranch}'`);
44-
await run(`git branch ${generatedCodeBranch}`);
4563
const commitMessage =
46-
await run(`git show -s --format="Generated code for commit %H.
64+
await run(`git show -s ${baseBranch} --format="Generated code for commit %H.
4765
4866
Co-authored-by: %an <%ae>"`);
4967

5068
console.log(
51-
`Pushing code for folders '${FOLDERS_TO_CHECK}' to generated branch: ${generatedCodeBranch}`
69+
`Pushing code for folders '${FOLDERS_TO_CHECK}' to generated branch: '${generatedCodeBranch}'`
5270
);
53-
await run(`git checkout ${generatedCodeBranch}`);
5471
await run(`git add ${FOLDERS_TO_CHECK}`);
5572
await run(`git commit -m "${commitMessage}"`);
5673
await run(`git push origin ${generatedCodeBranch}`);
57-
await run(`git checkout ${baseBranch}`);
5874

5975
if (PR_NUMBER) {
76+
await run(`git checkout ${baseBranch}`);
6077
await run(`yarn workspace scripts upsertGenerationComment codegen`);
6178
}
6279
}

scripts/ci/codegen/text.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ export default {
2828
| Name | Link |
2929
|---------------------------------|------------------------|
3030
| 🔨 Triggered by | [\`${commit}\`](${REPO_URL}/pull/${eventNumber}/commits/${commit}) |
31-
| 🔍 Generated code | [\`${generatedCommit}\`](${REPO_URL}/commit/${generatedCommit}) |
31+
| 🔍 Generated code | [\`${generatedCommit}\`](${REPO_URL}/compare/${GENERATED_MAIN_BRANCH}...${generatedCommit}) |
3232
| 🌲 Generated branch | [\`${branch}\`](${REPO_URL}/tree/${branch}) |
3333
`;
3434
},

0 commit comments

Comments
 (0)