Skip to content

Commit fe9f67f

Browse files
authored
Update process docs to reflect recent changes to release process (emscripten-core#14091)
Ask discussed the new plan is to have the version stored on `main` reflect the next upcoming, but unreleased, version of emscripten. This matches, for example, llvm where the git users see version N+. The hope is that this means that we can tag that exact commit that goes into an emsdk releases rather than the next commit, and it should avoid tree closures.
1 parent c74b9a2 commit fe9f67f

3 files changed

Lines changed: 37 additions & 37 deletions

File tree

ChangeLog.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,14 @@ to browse the changes between the tags.
1818

1919
See docs/process.md for more on how version tagging works.
2020

21-
Current Trunk
22-
-------------
21+
2.0.20
22+
------
23+
- This ChangeLog and the `emscripten-version.txt` file that is checked into
24+
the repository now reflect the next, upcoming, release once a release is
25+
made. Previously they would continue to reflect the old release until after
26+
we decide to cut the release. Switching to this method allow for a slightly
27+
simpler release process that also allows us to tag a version that contains
28+
the correct version information.
2329
- The version string reported by `-v`/`--version` now includes a `-git` suffix
2430
(e.g. `2.0.19-git`) when running from git checkout (to help distinguish
2531
unreleased git versions from official releases) (#14092).

docs/process.md

Lines changed: 28 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -44,42 +44,27 @@ When:
4444

4545
Requirements:
4646

47-
* [emscripten-releases build CI](https://ci.chromium.org/p/emscripten-releases/g/main/console)
48-
is green on all OSes for the desired hash (where the hash is the git hash in
49-
the
50-
[emscripten-releases](https://chromium.googlesource.com/emscripten-releases)
51-
repo, which then specifies through
52-
[DEPS](https://chromium.googlesource.com/emscripten-releases/+/refs/heads/master/DEPS)
53-
exactly which revisions to use in all other repos).
47+
* [emscripten-releases build CI][waterfall] is green on all OSes for the
48+
desired hash (where the hash is the git hash in the
49+
[emscripten-releases][releases_repo] repo, which then specifies through
50+
[DEPS][DEPS] exactly which revisions to use in all other repos).
5451
* [GitHub CI](https://github.com/emscripten-core/emscripten/branches) is green
55-
on the `master` branch.
52+
on the `main` branch.
5653

5754
How:
5855

59-
1. Open a PR for the emsdk to update
60-
[emscripten-releases-tags.txt](https://github.com/emscripten-core/emsdk/blob/main/emscripten-releases-tags.txt),
61-
adding the version and the hash. Updating the "latest" tag there to the new
62-
release is possible, but can also be deferred if you want to do more testing
63-
before users fetching "latest" get this release.
64-
2. Run [update_bazel_workspace.sh](https://github.com/emscripten-core/emsdk/blob/main/scripts/update_bazel_workspace.sh).
65-
This will update the bazel toolchain based on the new "latest" tag in emscripten-releases-tags.txt.
66-
3. Tag the emsdk repo as well, on the commit that does the update, after it
67-
lands on master.
68-
4. Update
69-
[emscripten-version.txt](https://github.com/emscripten-core/emscripten/blob/main/emscripten-version.txt)
70-
in the emscripten repo. This is a delayed update, in that the tag will refer
71-
to the actual release, but the update to emscripten-version.txt is a new
72-
commit to emscripten that happens later.
73-
* To minimize the difference, we should pick hashes for releases that are
74-
very recent, and try to avoid anything else landing in between - can ask
75-
on irc/chat for people to not land anything, or do this at a time of day
76-
when that's unlikely, etc.
77-
* There is no need to open a PR for this change, you can optionally just
78-
commit it directly.
79-
5. Tag the emscripten repo on the emscripten commit on which
80-
`emscripten-version.txt` was updated. (This could also be the commit from the
81-
DEPS file as well, but this way is less confusing when just working on the
82-
emscripten repo, and the difference should only be one commit anyhow.)
56+
1. Run [`./scripts/create_release.py`][create_release] in the emsdk repository.
57+
This script will update [emscripten-releases-tags.txt][emscripten_releases_tags],
58+
adding a new version. You can either specify the desired hash, or let the
59+
script pick the current tot build. The script will create a new git branch
60+
that can be uploaded as a PR.
61+
3. Tag the `emsdk` repo with the new version number, on the commit that does the
62+
update, after it lands on main.
63+
4. Tag the `emscripten` repo with the new version number, on the commit referred
64+
to in the [DEPS][DEPS] file above.
65+
5. Update [`emscripten-version.txt`][emscripten_version] and
66+
[`ChangeLog.md`][changelog] in the emscripten repo to refer the next,
67+
upcoming, version.
8368

8469
Major version update (1.X.Y to 1.(X+1).0)
8570
-----------------------------------------
@@ -110,15 +95,14 @@ Updating the `emscripten.org` Website
11095
--------------------------------------
11196

11297
The site is currently hosted in `gh-pages` branch of the separate [site
113-
repository](site_repo). To update the docs, rebuild them and copy them there,
98+
repository][site_repo]. To update the docs, rebuild them and copy them there,
11499
that is:
115100

116101
1. In your emscripten repo checkout, enter `site`.
117102
2. Run `make html`.
118103
3. Run `make install EMSCRIPTEN_SITE=\[path-to-a-checkout-of-the-site-repo\]`
119104
3. Go to the site repo, commit the changes, and push.
120105

121-
[site_repo]: https://github.com/kripken/emscripten-site
122106

123107

124108
Updating the `emcc.py` help text
@@ -132,3 +116,13 @@ updating `emcc.rst` in a PR, the following should be done:
132116
2. Run `make clean` (without this, it may not emit the right output).
133117
2. Run `make text`.
134118
3. Add the changes to your PR.
119+
120+
121+
[site_repo]: https://github.com/kripken/emscripten-site
122+
[releases_repo]: https://chromium.googlesource.com/emscripten-releases
123+
[waterfall]: https://ci.chromium.org/p/emscripten-releases/g/main/console
124+
[emscripten_version]: https://github.com/emscripten-core/emscripten/blob/main/emscripten-version.txt
125+
[changelog]: https://github.com/emscripten-core/emscripten/blob/main/ChangeLog.md
126+
[create_release]: https://github.com/emscripten-core/emsdk/blob/main/scripts/create_release.py
127+
[emscripten_releases_tags]: https://github.com/emscripten-core/emsdk/blob/main/emscripten-releases-tags.txt
128+
[DEPS]: https://chromium.googlesource.com/emscripten-releases/+/refs/heads/master/DEPS

emscripten-version.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
"2.0.19"
1+
"2.0.20"

0 commit comments

Comments
 (0)