Skip to content

Commit c777a5e

Browse files
authored
Merge branch 'matrix-org:main' into main
2 parents c7778d6 + 87fcb7c commit c777a5e

File tree

4 files changed

+45
-29
lines changed

4 files changed

+45
-29
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Clarify that `base_url` in client `well_known` may or may not include trailing slash.

config-circleci.toml

Lines changed: 0 additions & 5 deletions
This file was deleted.

content/client-server-api/_index.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -285,10 +285,10 @@ specify parameter values. The flow for this method is as follows:
285285
1. If the content cannot be parsed, then `FAIL_PROMPT`.
286286
4. Extract the `base_url` value from the `m.homeserver` property.
287287
This value is to be used as the base URL of the homeserver.
288-
1. If this value is not provided, then `FAIL_PROMPT`.
288+
1. If this value is not provided, then `FAIL_PROMPT`.
289289
5. Validate the homeserver base URL:
290-
1. Parse it as a URL. If it is not a URL, then `FAIL_ERROR`.
291-
2. Clients SHOULD validate that the URL points to a valid
290+
1. Parse it as a URL. If it is not a URL, then `FAIL_ERROR`.
291+
2. Clients SHOULD validate that the URL points to a valid
292292
homeserver before accepting it by connecting to the
293293
[`/_matrix/client/versions`](/client-server-api/#get_matrixclientversions) endpoint, ensuring that it does
294294
not return an error, and parsing and validating that the
@@ -297,6 +297,8 @@ specify parameter values. The flow for this method is as follows:
297297
done as a simple check against configuration errors, in
298298
order to ensure that the discovered address points to a
299299
valid homeserver.
300+
3. It is important to note that the `base_url` value might include
301+
a trailing `/`. Consumers should be prepared to handle both cases.
300302
6. If the `m.identity_server` property is present, extract the
301303
`base_url` value for use as the base URL of the identity server.
302304
Validation for this URL is done as in the step above, but using

meta/releasing.md

Lines changed: 39 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ to ensure a consistent and reliable specification.
1919
## The release
2020

2121
Assuming the preparation work is complete, all that remains is the actual specification
22-
release. This is done directly on `main`, though local branching for safety is also
23-
welcome.
22+
release.
2423

25-
1. Update the `params.version` section of `config.toml` to use the following template:
24+
1. Create a `release/v1.2` branch where `v1.2` is the version you're about to release.
25+
2. Update the `params.version` section of `config.toml` to use the following template:
2626
```toml
2727
[params.version]
2828
status = "stable"
@@ -36,32 +36,50 @@ welcome.
3636
# Today's date. Please use the format implied here for consistency.
3737
release_date = "October 01, 2021"
3838
```
39-
2. Commit the changes.
40-
3. Tag `main` with the spec release with a format of `v1.2` (if releasing Matrix 1.2).
41-
4. Push `main` and the tag.
42-
5. GitHub Actions will run its build steps. Wait until these are successful. If fixes
39+
3. Commit the changes.
40+
4. Tag the branch with the spec release with a format of `v1.2` (if releasing Matrix 1.2).
41+
5. Push the release branch and the tag.
42+
6. GitHub Actions will run its build steps. Wait until these are successful. If fixes
4343
need to be made to repair the pipeline or spec build, delete and re-tag the release.
44-
6. Generate the changelog. This is done *after* the tagging to ensure the rendered
44+
7. Check out `main`.
45+
8. Generate the changelog. This is done *after* the tagging to ensure the rendered
4546
changelog makes sense.
4647
1. Activate your python virtual environment.
4748
2. Run `./scripts/generate-changelog.sh v1.2 "October 01, 2021"` (using the correct
4849
version number and same `release_date` format from the hugo config).
4950
3. Commit the result.
50-
7. Create a new release on GitHub from the newly created tag.
51+
9. Create a new release on GitHub from the newly created tag.
5152
* The title should be just "v1.2" (for example).
5253
* The description should be a copy/paste of the changelog. The generated changelog
5354
will be at `content/partials/changelogs/v1.2.md` - copy/paste verbatim.
5455
* Upload the artifacts of the GitHub Actions build for the release to the GitHub
55-
release as artifacts themselves. This should be the tarball that got deployed
56+
release as artifacts themselves. This should be the tarball that will be deployed
5657
to spec.matrix.org.
57-
8. Commit a reversion to `params.version` of `config.toml` on `main`:
58-
```toml
59-
[params.version]
60-
status = "unstable"
61-
current_version_url = "https://spec.matrix.org/latest"
62-
# major = "1"
63-
# minor = "2"
64-
# release_date = "October 01, 2021"
65-
```
66-
9. Push pending commits and ensure the unstable spec updates accordingly from the
67-
GitHub Actions pipeline.
58+
10. Commit a reversion to `params.version` of `config.toml` on `main`:
59+
```toml
60+
[params.version]
61+
status = "unstable"
62+
current_version_url = "https://spec.matrix.org/latest"
63+
# major = "1"
64+
# minor = "2"
65+
# release_date = "October 01, 2021"
66+
```
67+
11. Push pending commits and ensure the unstable spec updates accordingly from the
68+
GitHub Actions pipeline.
69+
12. Deploy the release on the webserver. See internal wiki.
70+
71+
## Patching a release
72+
73+
From time to time we'll need to update a release in the wild. Examples include fixing typos,
74+
updating build machinery, etc. Typically it is not considered a good idea to patch a release
75+
more than 1 month after the original release date - this is because the administrative effort
76+
is typically best reserved for the next release cycle.
77+
78+
**Patch releases are not to be used for spec changes. Only typos and equivalent.**
79+
80+
1. Add the required changes to the release branch (`release/v1.2` for example).
81+
2. Fast forward the `v1.2` tag to the release branch head.
82+
3. Push both the release branch and fast-forwarded tag.
83+
4. Wait for the GitHub Actions build to complete on the tag.
84+
5. Update the assets on the GitHub release to those generated by the latest Actions build.
85+
6. Deploy the release on the webserver. See internal wiki.

0 commit comments

Comments
 (0)