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_CHECKLIST.md
+10-10Lines changed: 10 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,7 +18,6 @@ If you are releasing a beta or a release candidate, no official changelog is nee
18
18
1. Go through the closed PRs in the milestone. Each should have a changelog
19
19
label indicating if the change is documentation, feature, fix, or maintenance. If
20
20
there is a missing label, please add one. If it is a breaking change, also add a changelog - BREAKING label.
21
-
1. Choose an emoji for the release. Try to make it semi-related to something that's been included in the release.
22
21
1. Add this release to the `CHANGELOG.md`. Use the structure of previous
23
22
entries.
24
23
@@ -52,6 +51,7 @@ This part of the release process is handled by GitHub Actions, and our binaries
52
51
53
52
1. Have your PR merged to `main`.
54
53
1. Once merged, checkout `main` branch locally and pull latest changes.
54
+
1. Sync your local tags with the remote tags by running `git tag -d $(git tag) && git fetch --tags`
55
55
1. Tag the commit by running either `git tag -a v#.#.# -m "#.#.#"` (release), or `git tag -a v#.#.#-rc.# -m "#.#.#-rc.#"` (release candidate)
56
56
1. Run `git push --tags`.
57
57
1. Wait for CI to pass.
@@ -63,7 +63,7 @@ After CI builds the release binaries and they appear on the [releases page](http
63
63
#### If this is a stable release (not a release candidate)
64
64
65
65
1. Paste the current release notes from `CHANGELOG.md` into the release body.
66
-
1. Update the *title* of the release (not the tag itself) to include the emoji for the current release
66
+
1. Update the _title_ of the release (not the tag itself) to include the emoji for the current release
67
67
1. Be sure to add any missing link definitions to the release.
68
68
69
69
#### If this is a release candidate
@@ -96,7 +96,7 @@ We don't publish release candidates to crates.io because they don't (as of this
96
96
97
97
Full releases are tagged `latest`. Release candidates are tagged `beta`. If for some reason you mix up the commands below, follow the troubleshooting guide.
98
98
99
-
1. If this is a full release, `cd installers/npm && npm publish`.
99
+
1. If this is a full release, `cd installers/npm && npm publish`.
100
100
1. If it is a release candidate, `cd installers/npm && npm publish --tag beta`
101
101
102
102
## Troubleshooting a release
@@ -107,49 +107,49 @@ Mistakes happen. Most of these release steps are recoverable if you mess up.
107
107
108
108
Tags and releases can be removed in GitHub. First, [remove the remote tag](https://stackoverflow.com/questions/5480258/how-to-delete-a-remote-tag):
109
109
110
-
```console
110
+
```console
111
111
git push --delete origin vX.X.X
112
112
```
113
113
114
114
This will turn the release into a `draft` and you can delete it from the edit page.
115
115
116
116
Make sure you also delete the local tag:
117
117
118
-
```console
118
+
```console
119
119
git tag --delete vX.X.X
120
120
```
121
121
122
122
## I forgot to add the `beta` tag to my RC when I ran `npm publish`
123
123
124
124
Never fear! We can fix this by updating npm tags. First, add a beta tag for the version you just published:
125
125
126
-
```console
126
+
```console
127
127
npm dist-tag add @apollo/rover@x.x.x-rc.x beta
128
128
```
129
129
130
130
once you add the beta tag, you can list your tags
131
131
132
-
```console
132
+
```console
133
133
npm dist-tag ls @apollo/rover
134
134
```
135
135
136
136
You should now see two tags pointing to the version you just pushed; for example if you had tried to push v0.1.0-rc.0:
137
137
138
-
```console
138
+
```console
139
139
$ npm dist-tag ls @apollo/rover
140
140
beta: 0.1.0-rc.0
141
141
latest: 0.1.0-rc.0
142
142
```
143
143
144
144
Go back to the Changelog or GitHub releases, find the _actual_ latest version, and re-tag it as latest:
145
145
146
-
```console
146
+
```console
147
147
npm dist-tag add @apollo/rover@x.x.x latest
148
148
```
149
149
150
150
List tags again and you should see the latest restored, and your new release candidate as beta (e.g. 0.1.0-rc.0 is beta and 0.0.0 was last stable version)
0 commit comments