Skip to content

Commit

Permalink
Align experimental releases with v7 approach
Browse files Browse the repository at this point in the history
  • Loading branch information
brophdawg11 committed Jul 16, 2024
1 parent f5608f0 commit bce8675
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 15 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/release-experimental.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ jobs:
SHORT_SHA=$(git rev-parse --short HEAD)
NEXT_VERSION=0.0.0-experimental-${SHORT_SHA}
git checkout -b experimental/${NEXT_VERSION}
pnpm run version:experimental
pnpm run version ${NEXT_VERSION}
git push origin --tags
- name: 🏗 Build
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ jobs:
id: changesets
uses: changesets/action@v1
with:
version: pnpm run version
version: pnpm run changeset:version
commit: "chore: Update version for release"
title: "chore: Update version for release"
publish: pnpm run release
Expand Down
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@
"test": "jest",
"test:inspect": "node --inspect-brk ./node_modules/.bin/jest",
"changeset": "changeset",
"version": "changeset version && node ./scripts/remove-prerelease-changelogs.mjs",
"changeset:version": "changeset version && node ./scripts/remove-prerelease-changelogs.mjs",
"publish": "node scripts/publish.js",
"version:experimental": "node ./scripts/version experimental",
"version": "node ./scripts/version",
"watch": "rollup -c -w"
},
"jest": {
Expand Down
27 changes: 16 additions & 11 deletions scripts/version.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,12 @@ const { EXAMPLES_DIR } = require("./constants");
* @param {string} [prereleaseId]
* @returns {string}
*/
function getNextVersion(currentVersion, givenVersion, prereleaseId) {
function getNextVersion(
currentVersion,
givenVersion,
prereleaseId,
isExperimental
) {
invariant(
givenVersion != null,
`Missing next version. Usage: node version.js [nextVersion]`
Expand All @@ -34,14 +39,9 @@ function getNextVersion(currentVersion, givenVersion, prereleaseId) {
);
}

let nextVersion;
if (givenVersion === "experimental") {
let hash = execSync(`git rev-parse --short HEAD`).toString().trim();
nextVersion = `0.0.0-experimental-${hash}`;
} else {
// @ts-ignore
nextVersion = semver.inc(currentVersion, givenVersion, prereleaseId);
}
let nextVersion = isExperimental
? givenVersion
: semver.inc(currentVersion, givenVersion, prereleaseId);

invariant(nextVersion != null, `Invalid version specifier: ${givenVersion}`);

Expand All @@ -53,7 +53,7 @@ async function run() {
let args = process.argv.slice(2);
let givenVersion = args[0];
let prereleaseId = args[1];
let isExperimental = givenVersion === "experimental";
let isExperimental = givenVersion.includes("0.0.0-experimental");

// 0. Make sure the working directory is clean
ensureCleanWorkingDirectory();
Expand All @@ -63,7 +63,12 @@ async function run() {
let currentVersion = await getPackageVersion("react-router");
let version = semver.valid(givenVersion);
if (version == null) {
version = getNextVersion(currentVersion, givenVersion, prereleaseId);
version = getNextVersion(
currentVersion,
givenVersion,
prereleaseId,
isExperimental
);
}

// We will only bump the router version if this is an experimental
Expand Down

0 comments on commit bce8675

Please sign in to comment.