Hey @allevato, I'm starting this thread to discuss about what needs to be done to integrate swift-format
with the rest of the Swift CI machinery.
As a first step @mishal_shah already added the repo to the list of swift repos for cloning via utils/update-checkout
. The next step will be to add the capability for swift/utils/build-script
to be able to build swift-format
along with the rest of the repos.
I had a brief discussion with @blangmuir and we recommend to follow the example of the SourceKit-LSP
project for how to setup building via the build-script. On a high-level, swift-format's Package.swift
should declare the dependency to swift-syntax
differently depending on whether it is invoked by build-script or not. Normally it should have a dependency against a tag of swift-syntax, but if it is invoked via build-script it should setup a local dependency (find the swift-syntax repo next to the swift-format one). What we are going for is that the CI build will ensure that everything builds correctly against the master
branch of each repo.
swift-format
should also have a build-script helper script that will prepare things properly, for example it will de-gyb the source files from the local swift-syntax repo before starting the build for swift-format.
Hopefully there's enough info to get started, if you have any questions let us know!