Skip to content

Commit 2263dc9

Browse files
[skip ci] Update release.md to add instructions for creating a new release scheme
1 parent 5416f16 commit 2263dc9

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

docs/release.md

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,22 +25,30 @@ We are usually doing the following steps:
2525
1. Create a new release scheme in [swiftwasm-build's `./schemes` directory](https://github.com/swiftwasm/swiftwasm-build/tree/main/schemes) by copying the patches from `main` scheme at the moment.
2626
```console
2727
$ cp -r schemes/main schemes/release-5.x
28-
$ vim schemes/release-5.x/manifest.json # Update the fields for the new release
2928
```
30-
2. Update CI configuration to build the new release scheme:
29+
2. Update `schemes/<release-scheme>/manifest.json`
30+
- `base-tag` field should be updated to the tag of the new release branch.
31+
- `update-checkout-scheme` field should be updated to the one passed to `--scheme` option of [`utils/update-checkout`](https://github.com/swiftlang/swift/blob/main/utils/update-checkout) script.
32+
- `swift-org-download-channel` field should be updated to the new release branch.
33+
e.g. If a download link of a new release snapshot is "https://download.swift.org/swift-6.1-branch/xcode/swift-6.1-DEVELOPMENT-SNAPSHOT-2024-11-19-a/swift-6.1-DEVELOPMENT-SNAPSHOT-2024-11-19-a-osx.pkg", the value should be "swift-6.1-branch".
34+
3. Update CI configuration to build the new release scheme:
3135
- [`.github/workflows/nightly-distribution.yml`](https://github.com/swiftwasm/swift/blob/0895044e2ba31ccd1aade8068088b1fd3137fffb/.github/workflows/nightly-distribution.yml#L8-L11)
3236

3337
Once the upstream publishes their official release, we are doing the following steps:
3438

35-
1. Quality assurance of our latest release candidate snapshot toolchain
39+
1. Update `schemes/<release-scheme>/manifest.json`
40+
- `base-tag` field should be updated to the tag of the official release.
41+
- `swift-org-download-channel` field should be updated to the new release branch.
42+
e.g. If a download link of a new release is `https://download.swift.org/swift-6.0.2-release/xcode/swift-6.0.2-RELEASE/swift-6.0.2-RELEASE-osx.pkg`, the value should be "swift-6.0.2-release".
43+
2. Quality assurance of our latest release candidate snapshot toolchain
3644
1. Check core libraries and tools we are maintaining work properly with the toolchain. List of the libraries and tools we are maintaining:
3745
- [JavaScriptKit](https://github.com/swiftwasm/JavaScriptKit): See [the past PR](https://github.com/swiftwasm/JavaScriptKit/pull/227)
3846
- [carton](https://github.com/swiftwasm/carton): See [the past PR](https://github.com/swiftwasm/carton/pull/398)
3947
- [switwasm-docker](https://github.com/swiftwasm/swiftwasm-docker): Add a new Docker image for the new release if it's major release. Update the existing Docker image if it's minor release.
4048
- [swiftwasm-action](https://github.com/swiftwasm/swiftwasm-action): Update the base carton image version.
4149
- [setup-swiftwasm](https://github.com/swiftwasm/setup-swiftwasm): Update the default toolchain version.
4250
2. Collect feedback from the community by asking them to try a release candidate snapshot.
43-
2. Once we are ready to release, trigger GitHub Actions workflow by running the following command:
51+
3. Once we are ready to release, trigger GitHub Actions workflow by running the following command:
4452

4553
```console
4654
$ gh workflow run manual-distribution.yml --repo swiftwasm/swift -f scheme=5.9 -f run-id=<replace-run-id> -f override-name=swift-wasm-5.9.0-RELEASE -f display_name="Swift for WebAssembly 5.9.0 Release $(date +'%Y-%m-%d')" -f display_name_short="Swift for WebAssembly 5.9.0 Release"

0 commit comments

Comments
 (0)