aboutsummaryrefslogtreecommitdiffstats
path: root/.release-it.cjs
diff options
context:
space:
mode:
authorTimmy Willison <timmywil@users.noreply.github.com>2023-07-27 11:24:49 -0400
committerTimmy Willison <timmywil@users.noreply.github.com>2024-07-11 10:00:56 -0400
commit2646a8b07fcc2cf7cf384724f622eb0c27f9166c (patch)
tree3367ad18d492486a692bb4a7a23b216ba155451f /.release-it.cjs
parent3a98ef91dfa0b4897df7562f40bfd1715f5fc30e (diff)
downloadjquery-2646a8b07fcc2cf7cf384724f622eb0c27f9166c.tar.gz
jquery-2646a8b07fcc2cf7cf384724f622eb0c27f9166c.zip
Release: migrate release process to release-it
*Authors* - Checking and updating authors has been migrated to a custom script in the repo *Changelog* - changelogplease is no longer maintained - generate changelog in markdown for GitHub releases - generate changelog in HTML for blog posts - generate contributors list in HTML for blog posts *dist* - clone dist repo, copy files, and commit/push - commit tag with dist files on main branch; remove dist files from main branch after release *cdn* - clone cdn repo, copy files, and commit/push - create versioned and unversioned copies in cdn/ - generate md5 sums and archives for Google and MSFT *build* - implement reproducible builds and verify release builds * uses the last modified date for the latest commit * See https://reproducible-builds.org/ - the verify workflow also ensures all files were properly published to the CDN and npm *docs* - the new release workflow is documented at build/release/README.md *misc* - now that we don't need the jquery-release script and now that we no longer need to build on Node 10, we can use ESM in all files in the build folder - move dist wrappers to "wrappers" folders for easy removal of all built files - limit certain workflows to the main repo (not forks) - version in package.json has been set to beta.1 so that the next release will be beta.2 - release-it added the `preReleaseBase` option and we now always set it to `1` in the npm script. This is a noop for stable releases. Fixes jquery/jquery-release#114 Closes gh-5512
Diffstat (limited to '.release-it.cjs')
-rw-r--r--.release-it.cjs31
1 files changed, 31 insertions, 0 deletions
diff --git a/.release-it.cjs b/.release-it.cjs
new file mode 100644
index 000000000..5d9d9c22e
--- /dev/null
+++ b/.release-it.cjs
@@ -0,0 +1,31 @@
+"use strict";
+
+const blogURL = process.env.BLOG_URL;
+
+if ( !blogURL || !blogURL.startsWith( "https://blog.jquery.com/" ) ) {
+ throw new Error( "A valid BLOG_URL must be set in the environment" );
+}
+
+module.exports = {
+ hooks: {
+ "before:init": "./build/release/pre-release.sh",
+ "before:git:release": "git add -f dist/ dist-module/ changelog.md",
+ "after:version:bump":
+ "sed -i 's/main/AUTHORS.txt/${version}/AUTHORS.txt/' package.json",
+ "after:release": `./build/release/post-release.sh \${version} ${ blogURL }`
+ },
+ git: {
+ changelog: "npm run release:changelog -- ${from} ${to}",
+ commitMessage: "Release: ${version}",
+ getLatestTagFromAllRefs: true,
+ requireBranch: "main",
+ requireCleanWorkingDir: true
+ },
+ github: {
+ release: true,
+ tokenRef: "JQUERY_GITHUB_TOKEN"
+ },
+ npm: {
+ publish: true
+ }
+};