Upon review, it appears that the original branching schedule was overly conservative and put the branch date significantly earlier than necessary for convergence. In order to reduce cherry-picking and branch maintenance, we are pushing our branch date for Swift 5.2 to December 9.
I am going to be branching soon, and wanted to see if platforms on Community-Hosted CI are in good shape to branch.
Currently, we are investigating the automerger failure from apple/stable/20190619 to swift/master for llvm-projects.
I'm trying to understand how the
apple/llvm-project was set up.
If I'm understanding the branches documentation correctly, the release branch should have been cut from
swift/master-next. The merge base of
swift/swift-5.2-branch is d1dfc9b50c76 though, which is from October 17th. Additionally, that merge base appears to derive from some merging between those two branches, but the merge base of
swift/swift-5.2-branch and upstream llvm-project's
master is c40449f3c580, which dates all the way back to September 4th.
It appears instead that the
swift/swift-5.2-branch was cut from
swift/master. Is that accurate? Also, if that's going to be the standard going forward, could the branches documentation be updated?
Also, do the
apple/stable/* branches come into play here at all? If not, how is the LLVM base commit for
Swift 5.2 for llvm-project was branched from
swift/master, this is going to be the standard going forward.
apple/stable/20190619 is getting used in our workflow:
apple/stable/20190619 -> swift/master -> swift/swift-5.2-branch
apple/stable/20190619 auto mergers into
swift/master gets auto merged into
swift/swift-5.2-branch. Changes cherry-picked into
apple/stable/20190619 will make it into
- swift: swift-5.2-branch
- llvm-project: swift/swift-5.2-branch
- swift: swift-5.2-branch
- cmark: swift-5.2-branch
- llbuild: swift-5.2-branch
- swift-tools-support-core: swift-5.2-branch
- swiftpm: swift-5.2-branch
- swift-syntax: swift-5.2-branch
- swift-stress-tester: swift-5.2-branch
- swift-corelibs-xctest: swift-5.2-branch
- swift-corelibs-foundation: swift-5.2-branch
- swift-corelibs-libdispatch: swift-5.2-branch
- swift-integration-tests: swift-5.2-branch
- swift-xcode-playground-support: swift-5.2-branch
- indexstore-db: swift-5.2-branch
- sourcekit-lsp: swift-5.2-branch
Also, pull request support added.
Hmm, but the merge base of
apple/stable/20190619 and llvm.org
master is c3ab38eaa976, which is from June 27th (and two months older than the merge base of
swift/master and llvm.org
swift/master merged from llvm.org
master more recently than
apple/stable/20190619 did. My question was, what's the schedule for merging llvm.org
swift/master? (I'm guessing the actual flow is that
swift/master-next merges into
swift/master, but the same question about the schedule for doing that applies.)
So now the Swift 5.2 branch has been cut which means it's essentially feature complete and only accepting bug fixes and NFC (non functional change) improvements (as documented here: https://swift.org/blog/5-2-release-process/), do we have a rough timeline for any fixes to be submitted by and an eventual release target? Or is this one of these figures that is secretive due to it having to coincide with apple platform releases?