diff --git a/.changeset/three-needles-protect.md b/.changeset/three-needles-protect.md new file mode 100644 index 00000000..d13a259c --- /dev/null +++ b/.changeset/three-needles-protect.md @@ -0,0 +1,5 @@ +--- +"@changesets/action": patch +--- + +Skip creating a PR when all existing changesets are empty. diff --git a/src/index.ts b/src/index.ts index 087eccc5..11214453 100644 --- a/src/index.ts +++ b/src/index.ts @@ -37,6 +37,9 @@ const getOptionalInput = (name: string) => core.getInput(name) || undefined; let publishScript = core.getInput("publish"); let hasChangesets = changesets.length !== 0; + const hasNonEmptyChangesets = changesets.some( + (changeset) => changeset.releases.length > 0 + ); let hasPublishScript = !!publishScript; core.setOutput("published", "false"); @@ -96,6 +99,9 @@ const getOptionalInput = (name: string) => core.getInput(name) || undefined; } return; } + case hasChangesets && !hasNonEmptyChangesets: + console.log("All changesets are empty; not creating PR"); + return; case hasChangesets: const { pullRequestNumber } = await runVersion({ script: getOptionalInput("version"),