Skip to content

Commit b74e6ac

Browse files
committed
Update the Swift evolution process documentation to incorporate Swift Testing
1 parent f6efcfd commit b74e6ac

File tree

1 file changed

+41
-5
lines changed

1 file changed

+41
-5
lines changed

process.md

Lines changed: 41 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,15 @@ Swift is a powerful and intuitive programming language that is designed to make
55
## Scope
66

77
The Swift evolution process covers all design changes, no matter how small, to the Swift language, its standard library, and the core tools necessary to build Swift programs. This includes additions, removals, and changes to:
8+
89
- the features of the Swift language,
910
- the public interface of the Swift standard library,
10-
- the configuration of the Swift compiler, and
11-
- the core tools of the Swift package ecosystem, including the configuration of the [Swift package manager](https://www.swift.org/package-manager/) and the design of its manifest files.
11+
- the configuration of the Swift compiler,
12+
- the core tools of the Swift package ecosystem, including the configuration of
13+
the [Swift package manager](https://www.swift.org/package-manager/) and the
14+
design of its manifest files, and
15+
- the features and public interfaces of
16+
[Swift Testing](https://github.com/swiftlang/swift-testing).
1217

1318
The design of other tools, such as IDEs, debuggers, and documentation generators, is not covered by the evolution process. The Core Team may create workgroups to guide and make recommendations about the development of these tools, but the output of those workgroups is not reviewed.
1419

@@ -31,9 +36,11 @@ There is a natural tension between these two goals. Open evolution processes are
3136

3237
The [Core Team](https://www.swift.org/community/#core-team) is responsible for the strategic direction of Swift. The Core Team creates workgroups focused on specific parts of the project. When the Core Team gives a workgroup authority over part of the evolution of the project, that workgroup is called an evolution workgroup. Evolution workgroups manage the evolution process for proposals under their authority, working together with other workgroups as needed.
3338

34-
Currently, there is only one evolution workgroup:
39+
Currently, there are two evolution workgroups:
3540

3641
* The [Language Steering Group][language-steering-group] has authority over the evolution of the Swift language and its standard library.
42+
* The [Testing Workgroup][testing-workgroup] has authority over the evolution of
43+
the Swift Testing and Corelibs XCTest projects.
3744

3845
The Core Team manages (or delegates) the evolution process for proposals outside these areas. The Core Team also retains the power to override the evolution decisions of workgroups when necessary.
3946

@@ -93,8 +100,11 @@ Please state explicitly whether you believe that the proposal should be accepted
93100

94101
1. **Develop the proposal and implementation**
95102

96-
1. Expand the rough sketch into a formal proposal using the [proposal template](proposal-templates/0000-swift-template.md).
97-
1. In the [swift-evolution repository][swift-evolution-repo], open a [draft pull request][draft-pr] that adds your proposal to the [proposals directory](/proposals).
103+
1. Expand the rough sketch into a formal proposal using the
104+
[relevant proposal template](#proposal-templates).
105+
1. In the [swift-evolution repository][swift-evolution-repo], open a
106+
[draft pull request][draft-pr] that adds your proposal to the appropriate
107+
[proposal directory](#proposal-locations).
98108
1. Announce the pull request on the forums and edit the root post to link out to the pull request.
99109
1. Refine the formal proposal in the open as you receive further feedback on the forums or the pull request.
100110
A ripe proposal is expected to address commentary from present and past
@@ -128,6 +138,28 @@ Please state explicitly whether you believe that the proposal should be accepted
128138
129139
[draft-pr]: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests#draft-pull-requests
130140

141+
### Proposal templates
142+
143+
When writing a formal proposal document, start with the most relevant template
144+
given the primary subject of the proposal:
145+
146+
- Use the [Swift template][swift-template] for proposals concerning the Swift
147+
language, compiler, or standard library.
148+
- Use the [Swift Package Manager template][swiftpm-template] for proposals
149+
related to SwiftPM, including the design of its package manifest files and
150+
command-line tools.
151+
- Use the [Swift Testing template][swift-testing-template] for proposals focused
152+
on Swift Testing features or public interfaces.
153+
154+
### Proposal locations
155+
156+
When opening a pull request to add a new proposal to the
157+
[swift-evolution repository][swift-evolution-repo], place proposals which use
158+
the [Swift][swift-template] or [Swift Package Manager][swiftpm-template]
159+
templates in the top-level [proposals](/proposals) directory. Place proposals
160+
which use the newer [Swift Testing template][swift-testing-template] in the
161+
[proposals/testing](/proposals/testing) subdirectory.
162+
131163
## Review process
132164

133165
The review process for a particular proposal begins when a member of
@@ -211,6 +243,10 @@ A given proposal can be in one of several states:
211243
[status-page]: https://apple.github.io/swift-evolution/
212244
[preview-package]: https://github.com/apple/swift-standard-library-preview/
213245
[language-steering-group]: https://www.swift.org/language-steering-group
246+
[testing-workgroup]: https://www.swift.org/testing-workgroup "Testing Workgroup page on Swift.org"
247+
[swift-template]: proposal-templates/0000-swift-template.md "Swift proposal template"
248+
[swiftpm-template]: proposal-templates/0000-swiftpm-template.md "Swift Package Manager proposal template"
249+
[swift-testing-template]: proposal-templates/0000-swift-testing-template.md "Swift Testing proposal template"
214250

215251
## Review announcement
216252

0 commit comments

Comments
 (0)