mirror of
https://github.com/jquery/jquery.git
synced 2024-11-23 02:54:22 +00:00
2cf659189e
*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 *verify* - use the last modified date of the commit before the tag - use versioned filenames when checking map files on the CDN - skip factory and package.json files when verifying CDN *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 - limit certain workflows to the main repo (not forks) - version has been set to the previously released version 3.7.1, as release-it expects - 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. - include post-release script to be run manually after a release, with further steps that should be verified manually Ref jquery/jquery-release#114 Closes gh-5522
61 lines
1.4 KiB
Bash
61 lines
1.4 KiB
Bash
#!/bin/sh
|
|
|
|
set -euo pipefail
|
|
|
|
# $1: Version
|
|
# $2: Blog URL
|
|
|
|
cdn=tmp/release/cdn
|
|
dist=tmp/release/dist
|
|
|
|
if [[ -z "$1" ]] then
|
|
echo "Version is not set (1st argument)"
|
|
exit 1
|
|
fi
|
|
|
|
if [[ -z "$2" ]] then
|
|
echo "Blog URL is not set (2nd argument)"
|
|
exit 1
|
|
fi
|
|
|
|
# Push files to cdn repo
|
|
npm run release:cdn $1
|
|
cd $cdn
|
|
git add -A
|
|
git commit -m "jquery: Add version $1"
|
|
|
|
# Wait for confirmation from user to push changes to cdn repo
|
|
read -p "Press enter to push changes to cdn repo"
|
|
git push
|
|
cd -
|
|
|
|
# Push files to dist repo
|
|
npm run release:dist $1 $2
|
|
cd $dist
|
|
git add -A
|
|
git commit -m "Release: $1"
|
|
# -s to sign and annotate tag (recommended for releases)
|
|
git tag -s $1 -m "Release: $1"
|
|
|
|
# Wait for confirmation from user to push changes to dist repo
|
|
read -p "Press enter to push changes to dist repo"
|
|
git push --follow-tags
|
|
cd -
|
|
|
|
# Restore AUTHORS URL
|
|
sed -i "s/$1\/AUTHORS.txt/main\/AUTHORS.txt/" package.json
|
|
git add package.json
|
|
|
|
# Remove built files from tracking.
|
|
# Leave the changelog.md committed.
|
|
# Leave the tmp folder as some files are needed
|
|
# after the release (such as for emailing archives).
|
|
npm run build:clean
|
|
git rm --cached -r dist/ dist-module/
|
|
git add dist/package.json dist/wrappers dist-module/package.json dist-module/wrappers
|
|
git commit -m "Release: remove dist files from main branch"
|
|
|
|
# Wait for confirmation from user to push changes
|
|
read -p "Press enter to push changes to main branch"
|
|
git push
|