Skip to content

Commit

Permalink
build: update docs files when publishing prereleases (#17940)
Browse files Browse the repository at this point in the history
  • Loading branch information
mdjermanovic committed Jan 2, 2024
1 parent d191bdd commit c2bf27d
Showing 1 changed file with 7 additions and 43 deletions.
50 changes: 7 additions & 43 deletions Makefile.js
Expand Up @@ -274,15 +274,17 @@ function publishSite() {
/**
* Updates the changelog, bumps the version number in package.json, creates a local git commit and tag,
* and generates the site in an adjacent `website` folder.
* @param {string} [prereleaseId] The prerelease identifier (alpha, beta, etc.). If `undefined`, this is
* a regular release.
* @returns {void}
*/
function generateRelease() {
ReleaseOps.generateRelease();
function generateRelease(prereleaseId) {
ReleaseOps.generateRelease(prereleaseId);
const releaseInfo = JSON.parse(cat(".eslint-release-info.json"));

echo("Generating site");
target.gensite();
generateBlogPost(releaseInfo);
generateBlogPost(releaseInfo, prereleaseId ? semver.inc(releaseInfo.version, "major") : void 0);
commitSiteToGit(`v${releaseInfo.version}`);

echo("Updating version in docs package");
Expand All @@ -297,44 +299,6 @@ function generateRelease() {
exec(`git tag -a -f v${releaseInfo.version} -m ${releaseInfo.version}`);
}

/**
* Updates the changelog, bumps the version number in package.json, creates a local git commit and tag,
* and generates the site in an adjacent `website` folder.
* @param {string} prereleaseId The prerelease identifier (alpha, beta, etc.)
* @returns {void}
*/
function generatePrerelease(prereleaseId) {
ReleaseOps.generateRelease(prereleaseId);
const releaseInfo = JSON.parse(cat(".eslint-release-info.json"));
const nextMajor = semver.inc(releaseInfo.version, "major");

echo("Generating site");

// always write docs into the next major directory (so 2.0.0-alpha.0 writes to 2.0.0)
target.gensite(nextMajor);

/*
* Premajor release should have identical "next major version".
* Preminor and prepatch release will not.
* 5.0.0-alpha.0 --> next major = 5, current major = 5
* 4.4.0-alpha.0 --> next major = 5, current major = 4
* 4.0.1-alpha.0 --> next major = 5, current major = 4
*/
if (semver.major(releaseInfo.version) === semver.major(nextMajor)) {

/*
* This prerelease is for a major release (not preminor/prepatch).
* Blog post generation logic needs to be aware of this (as well as
* know what the next major version is actually supposed to be).
*/
generateBlogPost(releaseInfo, nextMajor);
} else {
generateBlogPost(releaseInfo);
}

commitSiteToGit(`v${releaseInfo.version}`);
}

/**
* Publishes a generated release to npm and GitHub, and pushes changes to the adjacent `website` repo
* to remote repo.
Expand Down Expand Up @@ -1105,6 +1069,6 @@ target.perf = function() {
});
};

target.generateRelease = generateRelease;
target.generatePrerelease = ([prereleaseType]) => generatePrerelease(prereleaseType);
target.generateRelease = () => generateRelease();
target.generatePrerelease = ([prereleaseType]) => generateRelease(prereleaseType);
target.publishRelease = publishRelease;

0 comments on commit c2bf27d

Please sign in to comment.