Added pullRequestNumber to the action's outputs (#167)

* feat: set pullRequesstNumber as action output

* chore: add changeset

* fix: feedback from pr review

* Update .changeset/long-mayflies-yell.md

Co-authored-by: Mateusz Burzyński <mateuszburzynski@gmail.com>

Co-authored-by: Mateusz Burzyński <mateuszburzynski@gmail.com>
This commit is contained in:
David Register
2022-04-07 19:10:26 +02:00
committed by GitHub
co-authored by Mateusz Burzyński
parent c7c59f0c6f
commit 993a0a090d
5 changed files with 40 additions and 4 deletions
+4 -1
View File
@@ -97,13 +97,16 @@ const getOptionalInput = (name: string) => core.getInput(name) || undefined;
return;
}
case hasChangesets:
await runVersion({
const { pullRequestNumber } = await runVersion({
script: getOptionalInput("version"),
githubToken,
prTitle: getOptionalInput("title"),
commitMessage: getOptionalInput("commit"),
hasPublishScript,
});
core.setOutput("pullRequestNumber", String(pullRequestNumber));
return;
}
})().catch((err) => {
+12
View File
@@ -57,6 +57,10 @@ describe("version", () => {
() => ({ data: { items: [] } })
);
mockedGithubMethods.pulls.create.mockImplementationOnce(
() => ({ data: { number: 123 } })
);
await writeChangesets(
[
{
@@ -92,6 +96,10 @@ describe("version", () => {
() => ({ data: { items: [] } })
);
mockedGithubMethods.pulls.create.mockImplementationOnce(
() => ({ data: { number: 123 } })
);
await writeChangesets(
[
{
@@ -123,6 +131,10 @@ describe("version", () => {
() => ({ data: { items: [] } })
);
mockedGithubMethods.pulls.create.mockImplementationOnce(
() => ({ data: { number: 123 } })
);
await writeChangesets(
[
{
+17 -3
View File
@@ -177,6 +177,10 @@ type VersionOptions = {
hasPublishScript?: boolean;
};
type RunVersionResult = {
pullRequestNumber: number;
};
export async function runVersion({
script,
githubToken,
@@ -184,7 +188,7 @@ export async function runVersion({
prTitle = "Version Packages",
commitMessage = "Version Packages",
hasPublishScript = false,
}: VersionOptions) {
}: VersionOptions): Promise<RunVersionResult> {
let repo = `${github.context.repo.owner}/${github.context.repo.repo}`;
let branch = github.context.ref.replace("refs/heads/", "");
let versionBranch = `changeset-release/${branch}`;
@@ -280,20 +284,30 @@ ${
console.log(JSON.stringify(searchResult.data, null, 2));
if (searchResult.data.items.length === 0) {
console.log("creating pull request");
await octokit.pulls.create({
const {
data: { number },
} = await octokit.pulls.create({
base: branch,
head: versionBranch,
title: finalPrTitle,
body: await prBodyPromise,
...github.context.repo,
});
return {
pullRequestNumber: number,
};
} else {
octokit.pulls.update({
await octokit.pulls.update({
pull_number: searchResult.data.items[0].number,
title: finalPrTitle,
body: await prBodyPromise,
...github.context.repo,
});
console.log("pull request found");
return {
pullRequestNumber: searchResult.data.items[0].number,
};
}
}