function publishRelease() {
	ReleaseOps.publishRelease();
	const releaseInfo = JSON.parse(cat(".eslint-release-info.json"));

	const docsSiteBranch =
		releaseInfo.packageTag === "maintenance"
			? `v${semver.major(releaseInfo.version)}.x`
			: releaseInfo.packageTag; // "latest" or "next"

	echo(`Updating docs site branch: ${docsSiteBranch}`);
	exec(`git push origin HEAD:${docsSiteBranch} -f`);

	publishSite();

	// Update changelog and list of versions on the main branch
	if (getCurrentGitBranch() !== MAIN_GIT_BRANCH) {
		echo(`Updating changelog and versions on branch: ${MAIN_GIT_BRANCH}`);

		exec(`git checkout ${MAIN_GIT_BRANCH} --force`);

		fs.writeFileSync(
			CHANGELOG_FILE,
			`${releaseInfo.markdownChangelog}${cat(CHANGELOG_FILE)}`,
		);

		const versions = JSON.parse(cat(VERSIONS_FILE));

		versions.items.find(({ branch }) => branch === docsSiteBranch).version =
			releaseInfo.version;
		fs.writeFileSync(
			VERSIONS_FILE,
			`${JSON.stringify(versions, null, 4)}\n`,
		);

		exec(`git add ${CHANGELOG_FILE} ${VERSIONS_FILE}`);
		exec(
			`git commit -m "chore: updates for v${releaseInfo.version} release"`,
		);
		exec("git push origin HEAD");
	}
}
Publishes a generated release to npm and GitHub, and pushes changes to the adjacent `website` repo
to remote repo.
@returns {void}