Skip to content

Commit b21ca74

Browse files
authored
Only preversion packages before official release (Shopify#7220)
<!-- ☝️How to write a good PR title: - Prefix it with [ComponentName] (if applicable), for example: [Button] - Start with a verb, for example: Add, Delete, Improve, Fix… - Give as much context as necessary and as little as possible - Prefix it with [WIP] while it’s a work in progress --> ### WHY are these changes introduced? Running preversion on the `polaris-react` package when performing `/snapit` was causing an error when there wasn't a new version of `polaris-react` to be released. See this [GitHub Action error](https://github.com/Shopify/polaris/actions/runs/3078706202/jobs/4974432156#step:11:57). ### WHAT is this pull request doing? This PR filters the preversion pacakges to only those being released. This avoids running into the issue where the `polaris-react` preversion script was [failing on snapit](https://github.com/Shopify/polaris/actions/runs/3078706202/jobs/4974432156#step:11:57).
1 parent c099944 commit b21ca74

File tree

4 files changed

+55
-3
lines changed

4 files changed

+55
-3
lines changed

package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
"type-check": "tsc --build",
3838
"changeset": "changeset",
3939
"gen-assets": "turbo run gen-assets --filter=polaris.shopify.com",
40-
"preversion-packages": "turbo run preversion",
40+
"preversion-packages": "node scripts/preversion.js",
4141
"version-packages": "yarn preversion-packages && changeset version",
4242
"release": "turbo run build --filter='!polaris.shopify.com' && changeset publish",
4343
"preversion": "echo \"Error: use @changsets/cli to version packages\" && exit 1"
@@ -47,6 +47,7 @@
4747
"@babel/node": "^7.14.9",
4848
"@changesets/changelog-github": "^0.4.4",
4949
"@changesets/cli": "^2.23.0",
50+
"@changesets/get-release-plan": "^3.0.14",
5051
"@next/eslint-plugin-next": "^12.1.4",
5152
"@rollup/plugin-babel": "^5.3.1",
5253
"@rollup/plugin-commonjs": "^21.1.0",

polaris-react/scripts/readme-update-version.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,17 @@ const {writeFileSync, readFileSync} = require('fs');
66

77
const getReleasePlan = require('@changesets/get-release-plan').default;
88

9-
const {name: pkgName} = require('../package.json');
9+
const {name: pkgName, version} = require('../package.json');
1010
const {semverRegExp} = require('../scripts/utilities');
1111

1212
const root = resolve(__dirname, '..');
1313
const readmePath = resolve(root, 'README.md');
1414

1515
const run = async () => {
1616
const {releases} = await getReleasePlan(resolve(process.cwd(), '../'));
17-
const {newVersion} = releases.find((release) => release.name === pkgName);
17+
const {newVersion} = releases.find((release) => release.name === pkgName) || {
18+
newVersion: version,
19+
};
1820

1921
console.log(`🆕 Updating version in README.md...`);
2022

scripts/preversion.js

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
const {execSync} = require('child_process');
2+
3+
const getReleasePlan = require('@changesets/get-release-plan').default;
4+
5+
const run = async () => {
6+
const {releases} = await getReleasePlan(process.cwd());
7+
const packages = releases.map((release) => release.name);
8+
9+
const execOpts = {stdio: 'inherit'};
10+
execSync(
11+
`yarn turbo run preversion ${packages
12+
.map((pkg) => `--filter=${pkg}`)
13+
.join(' ')}`,
14+
execOpts,
15+
);
16+
};
17+
18+
try {
19+
run();
20+
} catch (err) {
21+
// eslint-disable-next-line no-console
22+
console.error(err);
23+
process.exit(1);
24+
}

yarn.lock

+25
Original file line numberDiff line numberDiff line change
@@ -1306,6 +1306,18 @@
13061306
"@manypkg/get-packages" "^1.1.3"
13071307
semver "^5.4.1"
13081308

1309+
"@changesets/assemble-release-plan@^5.2.1":
1310+
version "5.2.1"
1311+
resolved "https://registry.yarnpkg.com/@changesets/assemble-release-plan/-/assemble-release-plan-5.2.1.tgz#b66df8d4a5615d4d904b75f7b60faeb64eb1d506"
1312+
integrity sha512-d6ckasOWlKF9Mzs82jhl6TKSCgVvfLoUK1ERySrTg2TQJdrVUteZue6uEIYUTA7SgMu67UOSwol6R9yj1nTdjw==
1313+
dependencies:
1314+
"@babel/runtime" "^7.10.4"
1315+
"@changesets/errors" "^0.1.4"
1316+
"@changesets/get-dependents-graph" "^1.3.3"
1317+
"@changesets/types" "^5.1.0"
1318+
"@manypkg/get-packages" "^1.1.3"
1319+
semver "^5.4.1"
1320+
13091321
"@changesets/changelog-git@^0.1.11":
13101322
version "0.1.11"
13111323
resolved "https://registry.yarnpkg.com/@changesets/changelog-git/-/changelog-git-0.1.11.tgz#80eb45d3562aba2164f25ccc31ac97b9dcd1ded3"
@@ -1437,6 +1449,19 @@
14371449
"@changesets/types" "^5.1.0"
14381450
"@manypkg/get-packages" "^1.1.3"
14391451

1452+
"@changesets/get-release-plan@^3.0.14":
1453+
version "3.0.14"
1454+
resolved "https://registry.yarnpkg.com/@changesets/get-release-plan/-/get-release-plan-3.0.14.tgz#b4423028a90c63feec12e22c48078f106f8d01f4"
1455+
integrity sha512-xzSfeyIOvUnbqMuQXVKTYUizreWQfICwoQpvEHoePVbERLocc1tPo5lzR7dmVCFcaA/DcnbP6mxyioeq+JuzSg==
1456+
dependencies:
1457+
"@babel/runtime" "^7.10.4"
1458+
"@changesets/assemble-release-plan" "^5.2.1"
1459+
"@changesets/config" "^2.1.1"
1460+
"@changesets/pre" "^1.0.12"
1461+
"@changesets/read" "^0.5.7"
1462+
"@changesets/types" "^5.1.0"
1463+
"@manypkg/get-packages" "^1.1.3"
1464+
14401465
"@changesets/get-release-plan@^3.0.9":
14411466
version "3.0.9"
14421467
resolved "https://registry.yarnpkg.com/@changesets/get-release-plan/-/get-release-plan-3.0.9.tgz#d445660f3679cb65e05e02adfbca037a25b45943"

0 commit comments

Comments
 (0)