From 88ef7d584bb962ace08124fc5e021f279fbd4910 Mon Sep 17 00:00:00 2001 From: Michael Ilseman Date: Fri, 16 Aug 2024 11:10:54 -0600 Subject: [PATCH] Now, main is used for development and automatically forwards to apple/swift/main --- README.md | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 67c708a75..c0265f5df 100644 --- a/README.md +++ b/README.md @@ -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 () -> 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 `` with the apple/swift pull request number, if any): ``` apple/swift# # use this line only if there is an corresponding apple/swift PR @@ -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