Skip to content

Commit 21626f6

Browse files
authored
Merge pull request #2729 from stmontgomery/testing-workgroup-process-updates
Update the Swift evolution process documentation to incorporate Swift Testing
2 parents 6ef8cf3 + bbcf82e commit 21626f6

File tree

1 file changed

+45
-6
lines changed

1 file changed

+45
-6
lines changed

process.md

Lines changed: 45 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,16 @@ 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 public interfaces of the following libraries:
16+
- [Swift Testing](https://github.com/swiftlang/swift-testing)
17+
- [XCTest](https://github.com/swiftlang/swift-corelibs-xctest)
1218

1319
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.
1420

@@ -31,9 +37,12 @@ There is a natural tension between these two goals. Open evolution processes are
3137

3238
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.
3339

34-
Currently, there is only one evolution workgroup:
40+
Currently, there are three evolution workgroups:
3541

36-
* The [Language Steering Group][language-steering-group] has authority over the evolution of the Swift language and its standard library.
42+
* The [Language Steering Group][language-steering-group] has authority over the evolution of the Swift language, its standard library, and any language configuration features of the Swift package manager.
43+
* The [Platform Steering Group][platform-steering-group] has authority over the evolution of all other features of the Swift package manager and its manifest files.
44+
* The [Testing Workgroup][testing-workgroup] has authority over the evolution of
45+
the Swift Testing and Corelibs XCTest projects.
3746

3847
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.
3948

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

94103
1. **Develop the proposal and implementation**
95104

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).
105+
1. Expand the rough sketch into a formal proposal using the
106+
[relevant proposal template](#proposal-templates).
107+
1. In the [swift-evolution repository][swift-evolution-repo], open a
108+
[draft pull request][draft-pr] that adds your proposal to the appropriate
109+
[proposal directory](#proposal-locations).
98110
1. Announce the pull request on the forums and edit the root post to link out to the pull request.
99111
1. Refine the formal proposal in the open as you receive further feedback on the forums or the pull request.
100112
A ripe proposal is expected to address commentary from present and past
@@ -128,6 +140,28 @@ Please state explicitly whether you believe that the proposal should be accepted
128140
129141
[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
130142

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

133167
The review process for a particular proposal begins when a member of
@@ -211,6 +245,11 @@ A given proposal can be in one of several states:
211245
[status-page]: https://www.swift.org/swift-evolution
212246
[preview-package]: https://github.com/apple/swift-standard-library-preview/
213247
[language-steering-group]: https://www.swift.org/language-steering-group
248+
[platform-steering-group]: https://www.swift.org/platform-steering-group
249+
[testing-workgroup]: https://www.swift.org/testing-workgroup "Testing Workgroup page on Swift.org"
250+
[swift-template]: proposal-templates/0000-swift-template.md "Swift proposal template"
251+
[swiftpm-template]: proposal-templates/0000-swiftpm-template.md "Swift Package Manager proposal template"
252+
[swift-testing-template]: proposal-templates/0000-swift-testing-template.md "Swift Testing proposal template"
214253

215254
## Review announcement
216255

0 commit comments

Comments
 (0)