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-29 15:25:14 -0400 |
commit | 2cf659189e65b36c6cea9625a3f9c848e3ed3e0d (patch) | |
tree | 14bf32c46089e4da880fd07508384e9cda4ae243 /.github/workflows/verify-release.yml | |
parent | 3b2330240c9941f8749b4162167b18de8f13ea38 (diff) | |
download | jquery-2cf659189e65b36c6cea9625a3f9c848e3ed3e0d.tar.gz jquery-2cf659189e65b36c6cea9625a3f9c848e3ed3e0d.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
*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
Diffstat (limited to '.github/workflows/verify-release.yml')
-rw-r--r-- | .github/workflows/verify-release.yml | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/.github/workflows/verify-release.yml b/.github/workflows/verify-release.yml new file mode 100644 index 000000000..1c1b191e4 --- /dev/null +++ b/.github/workflows/verify-release.yml @@ -0,0 +1,37 @@ +name: Reproducible Builds +on: + push: + # On tags + tags: + - '*' + # Or manually + workflow_dispatch: + inputs: + version: + description: 'Version to verify (>= 4.0.0-rc.1)' + required: false + + +jobs: + run: + name: Verify release + runs-on: ubuntu-latest + # skip on forks + if: ${{ github.repository == 'jquery/jquery' }} + env: + NODE_VERSION: 20.x + steps: + - name: Checkout + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + + - name: Use Node.js ${{ env.NODE_VERSION }} + uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 + with: + node-version: ${{ env.NODE_VERSION }} + + - name: Install dependencies + run: npm ci + + - run: npm run release:verify + env: + VERSION: ${{ github.event.inputs.version || github.ref_name }} |