Skip to content

Commit

Permalink
Now, main is used for development and automatically forwards to apple…
Browse files Browse the repository at this point in the history
…/swift/main
  • Loading branch information
milseman committed Sep 11, 2024
1 parent 2ac5bb5 commit 88ef7d5
Showing 1 changed file with 13 additions and 11 deletions.
24 changes: 13 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,31 +39,31 @@ Specifically, `_RegexParser` contains the parser for regular expression literals

### Branching scheme

#### Development branch

The `main` branch is the branch for day-to-day development. Generally, you should create PRs against this branch.

#### Swift integration branches

Branches whose name starts with `swift/` are Swift integration branches similar to those in [apple/llvm-project](https://github.com/apple/llvm-project). For each branch, dropping the `swift/` prefix is the corresponding branch in [apple/swift](https://github.com/apple/swift).

This package's `main` branch will automatically integrate with Swift's `main` branch.

| apple/swift branch | apple/swift-experimental-string-processing branch |
| ------------------- | ----------------------------------------------------- |
| main | swift/main |
| main | main |
| release/5.7 | swift/release/5.7 |
| ... | swift/... |

A pair of corresponding branches are expected to build successfully together and pass all tests.

### Integration workflow
### Running Package CI and full Swift CI

To integrate the latest changes in apple/swift-experimental-string-processing to apple/swift, carefully follow the workflow:

- Create pull requests.
- Create a branch from a commit on `main` that you would like to integrate into `swift/main`.
- Create a pull request in apple/swift-experimental-string-processing from that branch to `swift/main`, e.g. "[Integration] main (<commit>) -> swift/main".
- Run package CI
- In the pull request, trigger package CI using
```
@swift-ci please test
```
- Run full Swift CI for any changes to public or SPI interfaces or the `_RegexParser` module.
- If apple/swift needs to be modified to work with the latest `main` in apple/swift-experimental-string-processing, create a pull request in apple/swift. **Note:** Since CI in apple/swift-experimental-string-processing has not yet been set up to run full toolchain tests, you should create a PR in apple/swift regardless; if the integartion does not require changing apple/swift, create a dummy PR in apple/swift by changing the README and just not merge it in the end.
- Trigger CI.
- In the apple/swift-experimental-string-processing pull request, trigger CI using the following command (replacing `<PR NUMBER>` with the apple/swift pull request number, if any):
```
apple/swift#<PR NUMBER> # use this line only if there is an corresponding apple/swift PR
Expand All @@ -75,7 +75,9 @@ To integrate the latest changes in apple/swift-experimental-string-processing to
@swift-ci please test
```
- Merge when approved.
- Merge the pull request in apple/swift-experimental-string-processing as a **merge commit**.
- Merge the PR in apple/swift-experimental-string-processing:
- as a squash or rebase if against main (the development branch).
- as a merge commit if it's a merge from main to swift/release/x.y.
- Merge the pull request in apple/swift (if any).
### Development notes
Expand Down

0 comments on commit 88ef7d5

Please sign in to comment.