diff options
author | Timmy Willison <timmywil@users.noreply.github.com> | 2023-07-27 11:24:49 -0400 |
---|---|---|
committer | Timmy Willison <timmywil@users.noreply.github.com> | 2024-07-11 10:00:56 -0400 |
commit | 2646a8b07fcc2cf7cf384724f622eb0c27f9166c (patch) | |
tree | 3367ad18d492486a692bb4a7a23b216ba155451f /.release-it.cjs | |
parent | 3a98ef91dfa0b4897df7562f40bfd1715f5fc30e (diff) | |
download | jquery-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.cjs | 31 |
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 + } +}; |