You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: RELEASE.md
+34-44Lines changed: 34 additions & 44 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,6 @@ This guide walks you through the QUnit release.
4
4
5
5
QUnit aims for its releases to be reproducible. Recent releases are automatically verified on a regular basis ([reproducible builds status](https://github.com/qunitjs/qunit/actions/workflows/reproducible.yaml)). Read more on [Wikipedia](https://en.wikipedia.org/wiki/Reproducible_builds), and [reproducible-builds.org](https://reproducible-builds.org/).
6
6
7
-
8
7
⚠️ **WARNING** ⚠️
9
8
10
9
> Before starting, make sure you have:
@@ -14,12 +13,14 @@ QUnit aims for its releases to be reproducible. Recent releases are automaticall
14
13
>
15
14
> System prerequisites:
16
15
>
17
-
> * Node.js 14, or later.
16
+
> * Node.js 18, or later.
18
17
> * Git 2.11, or later.
19
18
20
19
Ensure that all changes for this release have been merged into the main branch. For patch releases, try landing any other bug fixes; for minor releases, ensure new features have been documented and tested. Major releases likely have their own checklist.
21
20
22
-
1. Create a local `release` branch, and ensure it is up-to-date:
21
+
## Preparing the release
22
+
23
+
1. Create a local `release` branch, and ensure it is up-to-date:
23
24
Verify that the canonical repository is cloned (not a fork):
24
25
```
25
26
git remote -v
@@ -36,7 +37,7 @@ Ensure that all changes for this release have been merged into the main branch.
36
37
npm ci
37
38
```
38
39
39
-
3.Create the release preparation commit:
40
+
3.Prepare for the release commit:
40
41
```
41
42
node build/prep-release.js @VERSION
42
43
```
@@ -45,24 +46,6 @@ Ensure that all changes for this release have been merged into the main branch.
45
46
* In `AUTHORS.txt`, if you see duplicate entries, then use the `.mailmap` file to normalize them to a canonical name and e-mail address, and then re-run the above command.
46
47
* Edit `History.md` to remove changes not relevant to end-users (e.g. changes relating to tests, build, internal refactoring, doc fixes, etc.).
47
48
48
-
Commit your changes with the following message (replace `@VERSION` with the release version):
49
-
```
50
-
Build: Prepare @VERSION release
51
-
```
52
-
53
-
Push the `release` branch to GitHub.
54
-
Once CI is passing, push again, this time to the (protected) `main` branch.
55
-
56
-
## Performing the release
57
-
58
-
Verify that your local repo is at the release preparation commit:
59
-
60
-
```
61
-
git show
62
-
# Build: Prepare x.y.z release
63
-
# …
64
-
```
65
-
66
49
4. Build the release:
67
50
```
68
51
node build/build-release.js @VERSION
@@ -73,13 +56,38 @@ git show
73
56
```
74
57
node build/review-package.js @LAST_VERSION
75
58
76
-
# … reviews package.json, qunit.js, and qunit.css
59
+
# … review package.json, qunit.js, and qunit.css
60
+
```
61
+
62
+
Commit your changes with the following message (replace `@VERSION` with the release version):
77
63
```
64
+
Release @VERSION
65
+
```
66
+
67
+
Push a `release` branch to GitHub.
68
+
Once CI is passing, push again, this time to the (protected) `stable-2.x` branch.
69
+
70
+
## Publish the release
71
+
72
+
Verify that your local repo is on a clean checkout with HEAD at the release commit:
73
+
74
+
```
75
+
git show
76
+
# Release x.y.z
77
+
# …
78
+
```
79
+
80
+
And that you have release artefacts from the previous step in your working directory (i.e. same version, and not a "dev" version). If you don't have this, go back to step 4 "Build the release".
81
+
82
+
```
83
+
head qunit/qunit.js
84
+
# /*!
85
+
# * QUnit x.y.z
86
+
# …
87
+
```
78
88
79
-
5. Publish to GitHub.<br>⚠️ Do not push to the main branch!
89
+
5. Publish tag to GitHub.
80
90
```
81
-
git add -f package.json qunit/
82
-
git commit -m "Release @VERSION"
83
91
git tag -s "@VERSION" -m "Release @VERSION"
84
92
git push --tags
85
93
```
@@ -100,24 +108,6 @@ git show
100
108
```
101
109
Verify that the release is listed at <https://code.jquery.com/qunit/> and that you can open the JS/CSS files.
102
110
103
-
## Updating the website
104
-
105
-
After the release is published, we need to update the website.
106
-
107
-
Check out the main branch of the [qunitjs/qunit](https://github.com/qunitjs/qunit) repository, and ensure it is clean and up-to-date. Run the following script, which will update release links and demos to use the new version:
108
-
109
-
```
110
-
qunit$ node build/site-set-version.js VERSION
111
-
```
112
-
113
-
Stage the changes it made, and commit with the following message:
114
-
115
-
```
116
-
Docs: Update url and version to VERSION
117
-
```
118
-
119
-
Push the commit to a branch on origin, wait CI checks to complete, then re-push to the main branch. Check the website in a few minutes to verify the change ([deployment log](https://github.com/qunitjs/qunit/deployments/activity_log?environment=github-pages)).
120
-
121
111
## Final steps
122
112
123
113
You're almost there! Make sure you update [GitHub releases](https://github.com/qunitjs/qunit/releases) using the changelog from `History.md`.
0 commit comments