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.
Hi Everyone!
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 swift/swift-5.2-branch
in 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/master-next
and 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/master
determined?
Swift 5.2 for llvm-project was branched from swift/master
, this is going to be the standard going forward.
The 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
and swift/master
gets auto merged into swift/swift-5.2-branch
. Changes cherry-picked into apple/stable/20190619
will make it into swift/master
and swift/swift-5.2-branch
.
Branches created:
- 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 master
), so 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 master
into 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?