Swift 5.2 branching date re-scheduled for December 9th

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.

9 Likes

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.

3 Likes

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.

1 Like

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.

1 Like

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?

3 Likes