Skip to content

Commit d10bd00

Browse files
authored
Fix changeset checker (#5100)
1 parent 977edee commit d10bd00

File tree

2 files changed

+11
-5
lines changed

2 files changed

+11
-5
lines changed

.github/workflows/check-changeset.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@ name: Check Changeset
22

33
on: pull_request
44

5+
env:
6+
GITHUB_PULL_REQUEST_HEAD_SHA: ${{ github.event.pull_request.head.sha }}
7+
GITHUB_PULL_REQUEST_BASE_SHA: ${{ github.event.pull_request.base.sha }}
8+
59
jobs:
610
check_changeset:
711
name: Check changeset vs changed files

scripts/check_changeset.ts

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@ import fs from 'mz/fs';
2525
const root = resolve(__dirname, '..');
2626
const git = simpleGit(root);
2727

28+
const baseRef = process.env.GITHUB_PULL_REQUEST_BASE_SHA || 'master';
29+
const headRef = process.env.GITHUB_PULL_REQUEST_HEAD_SHA || 'HEAD';
30+
2831
// Version bump text converted to rankable numbers.
2932
const bumpRank: Record<string, number> = {
3033
'patch': 0,
@@ -65,7 +68,7 @@ async function getDiffData(): Promise<{
6568
changedPackages: Set<string>;
6669
changesetFile: string;
6770
} | null> {
68-
const diff = await git.diff(['--name-only', 'origin/master...HEAD']);
71+
const diff = await git.diff(['--name-only', `${baseRef}...${headRef}`]);
6972
const changedFiles = diff.split('\n');
7073
let changesetFile = '';
7174
const changedPackages = new Set<string>();
@@ -120,7 +123,7 @@ async function parseChangesetFile(changesetFile: string) {
120123
async function main() {
121124
const errors = [];
122125
try {
123-
await exec('yarn changeset status');
126+
await exec(`yarn changeset status --since ${baseRef}`);
124127
console.log(`::set-output name=BLOCKING_FAILURE::false`);
125128
} catch (e) {
126129
if (e.message.match('No changesets present')) {
@@ -173,9 +176,8 @@ async function main() {
173176

174177
// Check for packages with a minor or major bump where 'firebase' hasn't been
175178
// bumped high enough or at all.
176-
const { highestBump, bumpText, bumpPackage } = getHighestBump(
177-
changesetPackages
178-
);
179+
const { highestBump, bumpText, bumpPackage } =
180+
getHighestBump(changesetPackages);
179181
if (highestBump > bumpRank.patch) {
180182
if (changesetPackages['firebase'] == null) {
181183
errors.push(

0 commit comments

Comments
 (0)