Skip to content

Commit dc5acec

Browse files
committed
docs/release: Document steps for "preview releases"
A couple of times I've forgotten the last step, post-release, of syncing the version and changelog to main. Hopefully documenting it in these instructions will help remind me.
1 parent 3f52e04 commit dc5acec

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

docs/release.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,38 @@ is an open TODO.
164164
"f123". This efficiently finds any threads that mentioned "#F123".
165165
166166
167+
## Preview releases
168+
169+
Sometimes we make a release that includes some experimental changes
170+
not yet merged to the `main` branch, i.e. a "preview release".
171+
172+
Steps specific to this type of release are:
173+
174+
* To prepare the tree, start from main and use commands like
175+
`git merge --no-ff pr/123456` to merge together the desired PRs.
176+
177+
The use of `--no-ff` ensures that each such step creates an actual
178+
merge commit. This is helpful because it means that a command like
179+
`git log --first-parent --oneline origin..`
180+
can print a list of exactly which PRs were included, by number.
181+
That record is useful for understanding the relationship between
182+
releases, and for re-creating a similar branch with updated versions
183+
of the same PRs.
184+
185+
* The changelog should distinguish, outside the "for users" section,
186+
between changes in main and changes not yet in main.
187+
See past examples; search for "experimental".
188+
189+
* After the new release is uploaded, the changelog and version number
190+
in main should be updated to match the new release.
191+
192+
Try `git checkout -p v12.34.567 docs/changelog.md pubspec.yaml`.
193+
Use the `-p` prompt to skip any other pubspec updates, such as
194+
dependencies. Then
195+
`git commit -am "version: Sync version and changelog from v12.34.567 release"`
196+
(with the correct version number), and push.
197+
198+
167199
## One-time or annual setup
168200
169201
* You'll need the Google Play upload key. The setup is similar to

0 commit comments

Comments
 (0)