Skip to content

Commit 190716b

Browse files
Extract JS scripts used in GitHub Actions in dedicated JS files
1 parent 48b1c93 commit 190716b

File tree

3 files changed

+55
-47
lines changed

3 files changed

+55
-47
lines changed
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
module.exports = async ({ github, context }) => {
2+
const releaseVersion = process.env.RELEASE_VERSION;
3+
const query = `
4+
query ($owner: String!, $repo: String!, $title: String!) {
5+
repository(owner: $owner, name: $repo) {
6+
milestones(first: 100, query: $title) {
7+
nodes {
8+
title
9+
number
10+
openIssueCount
11+
}
12+
}
13+
}
14+
}
15+
`;
16+
const {repository} = await github.graphql(query, {
17+
owner: context.repo.owner,
18+
repo: context.repo.repo,
19+
title: releaseVersion
20+
});
21+
const [milestone] = repository.milestones.nodes.filter(it => it.title === releaseVersion);
22+
if (!milestone) {
23+
throw new Error(`Milestone "${releaseVersion}" not found`);
24+
}
25+
if (milestone.openIssueCount > 0) {
26+
throw new Error(`Milestone "${releaseVersion}" has ${milestone.openIssueCount} open issue(s)`);
27+
}
28+
const requestBody = {
29+
owner: context.repo.owner,
30+
repo: context.repo.repo,
31+
milestone_number: milestone.number,
32+
state: 'closed',
33+
due_on: new Date().toISOString()
34+
};
35+
console.log(requestBody);
36+
await github.rest.issues.updateMilestone(requestBody);
37+
};
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
module.exports = async ({ github, context }) => {
2+
const releaseVersion = process.env.RELEASE_VERSION;
3+
const requestBody = {
4+
owner: context.repo.owner,
5+
repo: context.repo.repo,
6+
tag_name: `r${releaseVersion}`,
7+
name: `JUnit ${releaseVersion}`,
8+
generate_release_notes: true,
9+
body: `JUnit ${releaseVersion} = Platform ${releaseVersion} + Jupiter ${releaseVersion} + Vintage ${releaseVersion}\n\nSee [Release Notes](https://docs.junit.org/${releaseVersion}/release-notes/).`,
10+
prerelease: releaseVersion.includes("-"),
11+
};
12+
console.log(requestBody);
13+
await github.rest.repos.createRelease(requestBody);
14+
};

.github/workflows/release.yml

Lines changed: 4 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -124,41 +124,8 @@ jobs:
124124
with:
125125
result-encoding: string
126126
script: |
127-
const releaseVersion = process.env.RELEASE_VERSION;
128-
const query = `
129-
query ($owner: String!, $repo: String!, $title: String!) {
130-
repository(owner: $owner, name: $repo) {
131-
milestones(first: 100, query: $title) {
132-
nodes {
133-
title
134-
number
135-
openIssueCount
136-
}
137-
}
138-
}
139-
}
140-
`;
141-
const {repository} = await github.graphql(query, {
142-
owner: context.repo.owner,
143-
repo: context.repo.repo,
144-
title: releaseVersion
145-
});
146-
const [milestone] = repository.milestones.nodes.filter(it => it.title === releaseVersion)
147-
if (!milestone) {
148-
throw new Error(`Milestone "${releaseVersion}" not found`);
149-
}
150-
if (milestone.openIssueCount > 0) {
151-
throw new Error(`Milestone "${releaseVersion}" has ${milestone.openIssueCount} open issue(s)`);
152-
}
153-
const requestBody = {
154-
owner: context.repo.owner,
155-
repo: context.repo.repo,
156-
milestone_number: milestone.number,
157-
state: 'closed',
158-
due_on: new Date().toISOString()
159-
};
160-
console.log(requestBody);
161-
await github.rest.issues.updateMilestone(requestBody);
127+
const closeGithubMilestone = require('./.github/scripts/close-github-milestone.js');
128+
closeGithubMilestone({ github, context });
162129
163130
publish_deployment:
164131
name: Publish to Maven Central
@@ -295,15 +262,5 @@ jobs:
295262
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
296263
with:
297264
script: |
298-
const releaseVersion = process.env.RELEASE_VERSION;
299-
const requestBody = {
300-
owner: context.repo.owner,
301-
repo: context.repo.repo,
302-
tag_name: `r${releaseVersion}`,
303-
name: `JUnit ${releaseVersion}`,
304-
generate_release_notes: true,
305-
body: `JUnit ${releaseVersion} = Platform ${releaseVersion} + Jupiter ${releaseVersion} + Vintage ${releaseVersion}\n\nSee [Release Notes](https://docs.junit.org/${releaseVersion}/release-notes/).`,
306-
prerelease: releaseVersion.includes("-"),
307-
};
308-
console.log(requestBody);
309-
await github.rest.repos.createRelease(requestBody);
265+
const createGithubRelease = require('./.github/scripts/create-github-release.js');
266+
createGithubRelease({ github, context });

0 commit comments

Comments
 (0)