Skip to content

Commit 7c07d99

Browse files
authored
chore(ci): remove the option to just update repository (#278)
* chore(ci): remove the option to just update repository * chore: remove temporary test condition * chore: push once
1 parent 9f9911f commit 7c07d99

File tree

4 files changed

+19
-67
lines changed

4 files changed

+19
-67
lines changed

scripts/release/__tests__/process-release.test.ts

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { getVersionChangesText } from '../create-release-issue';
2-
import { getVersionsToRelease, getLangsToUpdateRepo } from '../process-release';
2+
import { getVersionsToRelease } from '../process-release';
33
import TEXT from '../text';
44

55
describe('process release', () => {
@@ -19,18 +19,6 @@ describe('process release', () => {
1919
expect(versions.php.releaseType).toEqual('patch');
2020
});
2121

22-
it('gets langs to update', () => {
23-
expect(
24-
getLangsToUpdateRepo(`
25-
## Version Changes
26-
27-
- [ ] javascript: v1.0.0 -> \`minor\` (e.g. v1.1.0)
28-
- [x] php: v2.0.0 -> \`patch\` (e.g. v2.0.1)
29-
- [ ] java: v3.0.0 -> \`patch\` (e.g. v3.0.1)
30-
`)
31-
).toEqual(['javascript', 'java']);
32-
});
33-
3422
it('parses issue body correctly', () => {
3523
// This test is a glue between create-release-issue and process-release.
3624
const issueBody = [

scripts/release/process-release.ts

Lines changed: 17 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@ function getDateStamp(): string {
5959

6060
export function getVersionsToRelease(issueBody: string): VersionsToRelease {
6161
const versionsToRelease: VersionsToRelease = {};
62-
const dateStamp = getDateStamp();
6362

6463
getMarkdownSection(issueBody, TEXT.versionChangeHeader)
6564
.split('\n')
@@ -77,23 +76,12 @@ export function getVersionsToRelease(issueBody: string): VersionsToRelease {
7776
versionsToRelease[lang] = {
7877
current,
7978
releaseType: releaseType as ReleaseType,
80-
dateStamp,
8179
};
8280
});
8381

8482
return versionsToRelease;
8583
}
8684

87-
export function getLangsToUpdateRepo(issueBody: string): string[] {
88-
return getMarkdownSection(issueBody, TEXT.versionChangeHeader)
89-
.split('\n')
90-
.map((line) => {
91-
const result = line.match(/- \[ \] (.+): v(.+) -> `(.+)`/);
92-
return result?.[1];
93-
})
94-
.filter(Boolean) as string[];
95-
}
96-
9785
async function updateOpenApiTools(
9886
versionsToRelease: VersionsToRelease
9987
): Promise<void> {
@@ -126,25 +114,21 @@ async function updateChangelog({
126114
issueBody,
127115
current,
128116
next,
129-
dateStamp,
130-
willReleaseLibrary,
131117
}: {
132118
lang: string;
133119
issueBody: string;
134120
current: string;
135121
next: string;
136-
dateStamp: string;
137-
willReleaseLibrary: boolean;
138122
}): Promise<void> {
139123
const changelogPath = toAbsolutePath(
140124
`${getLanguageFolder(lang)}/CHANGELOG.md`
141125
);
142126
const existingContent = (await exists(changelogPath))
143127
? (await fsp.readFile(changelogPath)).toString()
144128
: '';
145-
const changelogHeader = willReleaseLibrary
146-
? `## [v${next}](${getGitHubUrl(lang)}/compare/v${current}...v${next})`
147-
: `## ${dateStamp}`;
129+
const changelogHeader = `## [v${next}](${getGitHubUrl(
130+
lang
131+
)}/compare/v${current}...v${next})`;
148132
const newChangelog = getMarkdownSection(
149133
getMarkdownSection(issueBody, TEXT.changelogHeader),
150134
`### ${lang}`
@@ -175,20 +159,13 @@ async function processRelease(): Promise<void> {
175159
}
176160

177161
const versionsToRelease = getVersionsToRelease(issueBody);
178-
const langsToUpdateRepo = getLangsToUpdateRepo(issueBody); // e.g. ['javascript', 'php']
179162

180163
await updateOpenApiTools(versionsToRelease);
181164

182-
const langsToReleaseOrUpdate = [
183-
...Object.keys(versionsToRelease),
184-
...langsToUpdateRepo,
185-
];
186-
187-
const willReleaseLibrary = (lang: string): boolean =>
188-
Boolean(versionsToRelease[lang]);
165+
const langsToRelease = Object.keys(versionsToRelease);
189166

190-
for (const lang of langsToReleaseOrUpdate) {
191-
const { current, releaseType, dateStamp } = versionsToRelease[lang];
167+
for (const lang of langsToRelease) {
168+
const { current, releaseType } = versionsToRelease[lang];
192169
/*
193170
About bumping versions of JS clients:
194171
@@ -215,14 +192,12 @@ async function processRelease(): Promise<void> {
215192
issueBody,
216193
current,
217194
next: next!,
218-
dateStamp,
219-
willReleaseLibrary: willReleaseLibrary(lang),
220195
});
221196
}
222197

223198
// We push commits to each repository AFTER all the generations are done.
224199
// Otherwise, we will end up having broken release.
225-
for (const lang of langsToReleaseOrUpdate) {
200+
for (const lang of langsToRelease) {
226201
const { tempGitDir } = await cloneRepository({
227202
lang,
228203
githubToken: process.env.GITHUB_TOKEN,
@@ -235,33 +210,24 @@ async function processRelease(): Promise<void> {
235210
await configureGitHubAuthor(tempGitDir);
236211
await run(`git add .`, { cwd: tempGitDir });
237212

238-
const { current, dateStamp, releaseType } = versionsToRelease[lang];
213+
const { current, releaseType } = versionsToRelease[lang];
239214
const next = semver.inc(current, releaseType);
240215

241-
if (willReleaseLibrary(lang)) {
242-
await gitCommit({
243-
message: `chore: release ${next}`,
244-
cwd: tempGitDir,
245-
});
246-
if (process.env.VERSION_TAG_ON_RELEASE === 'true') {
247-
await execa('git', ['tag', `v${next}`], { cwd: tempGitDir });
248-
await run(`git push --tags`, { cwd: tempGitDir });
249-
}
250-
} else {
251-
await gitCommit({
252-
message: `chore: update repo ${dateStamp}`,
253-
cwd: tempGitDir,
254-
});
255-
}
256-
await run(`git push`, { cwd: tempGitDir });
216+
await gitCommit({
217+
message: `chore: release ${next}`,
218+
cwd: tempGitDir,
219+
});
220+
await execa('git', ['tag', `v${next}`], { cwd: tempGitDir });
221+
await run(`git push --follow-tags`, { cwd: tempGitDir });
257222
}
258223

259224
// Commit and push from the monorepo level.
260225
await configureGitHubAuthor();
261226
await run(`git add .`);
262-
await execa('git', ['commit', '-m', `chore: release ${getDateStamp()}`]);
227+
const dateStamp = getDateStamp();
228+
await execa('git', ['commit', '-m', `chore: release ${dateStamp}`]);
263229
await gitCommit({
264-
message: `chore: release ${getDateStamp()}`,
230+
message: `chore: release ${dateStamp}`,
265231
});
266232
await run(`git push`);
267233

scripts/release/text.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@ export default {
88
currentVersionNotFound: `current version not found`,
99
descriptionVersionChanges: [
1010
`**Checked** → Update version, update repository, and release the library.`,
11-
`**Un-checked** → Update repository.`,
12-
`**Line removed** → Do nothing.`,
11+
`**Un-checked** → Do nothing`,
1312
].join('\n'),
1413
indenpendentVersioning: `
1514
<details>

scripts/release/types.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,5 @@ export type VersionsToRelease = {
3434
[lang: string]: {
3535
current: string;
3636
releaseType: ReleaseType;
37-
dateStamp: string;
3837
};
3938
};

0 commit comments

Comments
 (0)