Skip to content

Commit 5ee9e3e

Browse files
fix: correctly parse standalone prerelease PR body (#2123)
Co-authored-by: Jeff Ching <chingor@google.com>
1 parent fe7a175 commit 5ee9e3e

3 files changed

Lines changed: 34 additions & 1 deletion

File tree

src/util/pull-request-body.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ function extractMultipleReleases(notes: string, logger: Logger): ReleaseData[] {
152152
}
153153
return data;
154154
}
155-
const COMPARE_REGEX = /^#{2,} \[?(?<version>\d+\.\d+\.\d+.*)\]?/;
155+
const COMPARE_REGEX = /^#{2,} \[?(?<version>\d+\.\d+\.\d+[^\]]*)\]?/;
156156
function extractSingleRelease(body: string, logger: Logger): ReleaseData[] {
157157
body = body.trim();
158158
const match = body.match(COMPARE_REGEX);
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
:robot: I have created a release \*beep\* \*boop\*
2+
---
3+
### [3.2.7-pre.0](https://www.github.com/googleapis/java-asset/compare/v3.2.6...v3.2.7-pre.0) (2021-10-20)
4+
5+
6+
### Dependencies
7+
8+
* update dependency com.google.api.grpc:proto-google-cloud-orgpolicy-v1 to v2.0.6 ([#980](https://www.github.com/googleapis/java-asset/issues/980)) ([710bb59](https://www.github.com/googleapis/java-asset/commit/710bb59c17da57f1104a84f8e44ada7c7fc9a59f))
9+
* update dependency com.google.api.grpc:proto-google-cloud-os-config-v1 to v2.2.2 ([#981](https://www.github.com/googleapis/java-asset/issues/981)) ([5495310](https://www.github.com/googleapis/java-asset/commit/5495310b7abf3a3dfa6878fc20e12ac3f268c93f))
10+
* update dependency com.google.api.grpc:proto-google-cloud-pubsub-v1 to v1.96.7 ([#982](https://www.github.com/googleapis/java-asset/issues/982)) ([c93a011](https://www.github.com/googleapis/java-asset/commit/c93a01135432ad2094550be6d03c05e7efde56ac))
11+
* update dependency com.google.api.grpc:proto-google-identity-accesscontextmanager-v1 to v1.2.3 ([#983](https://www.github.com/googleapis/java-asset/issues/983)) ([4eb1b14](https://www.github.com/googleapis/java-asset/commit/4eb1b14f1915ec22d2edb002341fa0eb361b70d8))
12+
* update dependency com.google.cloud:google-cloud-bigquery to v2.3.1 ([#984](https://www.github.com/googleapis/java-asset/issues/984)) ([5ba60b8](https://www.github.com/googleapis/java-asset/commit/5ba60b8916dfa066b76766bb650bf552ce05838b))
13+
* update dependency com.google.cloud:google-cloud-bigquery to v2.3.2 ([#991](https://www.github.com/googleapis/java-asset/issues/991)) ([cc6183e](https://www.github.com/googleapis/java-asset/commit/cc6183e49786e312a8af78026c7981f76f46fdd8))
14+
* update dependency com.google.cloud:google-cloud-core to v2.2.0 ([#988](https://www.github.com/googleapis/java-asset/issues/988)) ([2e07803](https://www.github.com/googleapis/java-asset/commit/2e0780320ed89e78f4c99b374469f2be9b828588))
15+
* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.4.0 ([#989](https://www.github.com/googleapis/java-asset/issues/989)) ([0be3e21](https://www.github.com/googleapis/java-asset/commit/0be3e2170158450927075faf601f43a271a4443a))
16+
* update dependency com.google.cloud:google-cloud-storage to v2.1.9 ([#987](https://www.github.com/googleapis/java-asset/issues/987)) ([ea85100](https://www.github.com/googleapis/java-asset/commit/ea8510036db7990c47c7471f6d6ce899a83ec456))
17+
---
18+
19+
20+
This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).

test/util/pull-request-body.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,19 @@ describe('PullRequestBody', () => {
9595
expect(releaseData[0].version?.toString()).to.eql('3.2.7');
9696
expect(releaseData[0].notes).matches(/^### \[3\.2\.7\]/);
9797
});
98+
it('should parse standalone prerelease', () => {
99+
const body = readFileSync(
100+
resolve(fixturesPath, './single-prerelease.txt'),
101+
'utf8'
102+
);
103+
const pullRequestBody = PullRequestBody.parse(body);
104+
expect(pullRequestBody).to.not.be.undefined;
105+
const releaseData = pullRequestBody!.releaseData;
106+
expect(releaseData).lengthOf(1);
107+
expect(releaseData[0].component).to.be.undefined;
108+
expect(releaseData[0].version?.toString()).to.eql('3.2.7-pre.0');
109+
expect(releaseData[0].notes).matches(/^### \[3\.2\.7-pre\.0]/);
110+
});
98111
it('should parse legacy PHP body', () => {
99112
const body = readFileSync(
100113
resolve(fixturesPath, './legacy-php-yoshi.txt'),

0 commit comments

Comments
 (0)