Skip to content

Commit 07c7a7b

Browse files
authored
Merge pull request #305 from SkyCryptWebsite:dev
Fix stable release merging through pull request
2 parents e541791 + 09cc847 commit 07c7a7b

2 files changed

Lines changed: 16 additions & 2 deletions

File tree

.github/workflows/release.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ jobs:
5252

5353
permissions:
5454
contents: write
55+
pull-requests: write
5556

5657
steps:
5758
- name: Git checkout

scripts/release-stable.mjs

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ function outputOptional(command) {
3131
run("git fetch origin prod dev");
3232
run('git config user.name "github-actions[bot]"');
3333
run('git config user.email "github-actions[bot]@users.noreply.github.com"');
34-
run("git checkout -B prod origin/prod");
34+
run("git checkout -B changeset-release/prod origin/prod");
3535

3636
const preStatePath = path.join(changesetDir, "pre.json");
3737

@@ -56,7 +56,20 @@ try {
5656
// There are changes to commit.
5757
run("git add -A");
5858
run('git commit -m "chore: version packages (stable) [skip ci]"');
59-
run("git push origin HEAD:prod");
59+
run("git push origin HEAD:changeset-release/prod --force");
60+
61+
let pullNumber = outputOptional("gh pr list --state open --head changeset-release/prod --base prod --json number --jq '.[0].number'");
62+
63+
if (!pullNumber) {
64+
pullNumber = output('gh pr create --title "Version Packages (Stable)" --body "Automatically promotes the current beta release line on prod to a stable release." --base prod --head changeset-release/prod --json number --jq \'.number\'');
65+
}
66+
67+
const mergeState = outputOptional(`gh pr view ${pullNumber} --json state,mergedAt --jq '.state + \"|\" + (.mergedAt // \"\")'`);
68+
69+
if (!mergeState.startsWith("MERGED|")) {
70+
run(`gh pr merge ${pullNumber} --merge --delete-branch`);
71+
}
72+
6073
run("git fetch origin prod");
6174
run("git checkout -B prod origin/prod");
6275
}

0 commit comments

Comments
 (0)