SwiftPackageIndex-Server: Build Error - Does Not Contain Scheme that is Available Using the `--list` Option

Please describe the bug

Dear Swift Package Index team,

First of all: Thank you for building the Swift Package Index and maintaining the project!

We are currently encountering an error for our CardinalKit project: https://swiftpackageindex.com/builds/501AD011-0145-48C2-8D83-A286EF4D4683. The build error indicates that the CardinalKit-Package scheme is not present.

Running the “-list” option locally indicates that the CardinalKit-Package scheme is present. We can also reproduce that building the Swift Package build works successfully using our GitHub action: https://github.com/StanfordBDHG/CardinalKit/actions/runs/4172050105/jobs/7222685888. This also applies to the last pushes on the main branch as well as the 0.3.0 release and previous releases.

We observed that some builds on the main branch had been successul, and we could access the documentation at some point in the past, which looked awesome! An amazing feature that the Swift Package Index offers; thank you for that!

Nevertheless, it looks like the latest changes on the main branch did fail and resulted in a time-out: https://swiftpackageindex.com/StanfordBDHG/CardinalKit/builds

Please let me know if there is anything that I could do to further help you reproduce the error and get the documentation hosting up and running on the Swift Package Index. I am happy to further help reproduce the issue and help you there!

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Comments: 17 (10 by maintainers)

Most upvoted comments

Sounds good, thank you for your help @finestructure! 🚀

👍 I’ll go ahead and close this issue then in the meantime, ok? Feel free to re-open or add a new one if there are further issues!

I believe this is due to the project not having an xcodeproj file checked into the repo in combination with the way we’re listing the schemes.

If you run

git clone https://github.com/finestructure/CardinalKit.git
cd CardinalKit
xcrun xcodebuild -IDEClonedSourcePackagesDirPathOverride="$PWD/.derivedData" -list

you’ll notice that the first time you call -list here it returns

There are no schemes in workspace "CardinalKit".

If you run it again, it finds the schemes.

If instead you run

git clone https://github.com/finestructure/CardinalKit.git
cd CardinalKit
xcodebuild -list

it finds the schemes the first time around.

We need to use -IDEClonedSourcePackagesDirPathOverride="$PWD/.derivedData" so we don’t clog up the build machines and have builds interfere with each other. I’m not sure why/how it screws up scheme listing but it obviously does.

We should be able to run -list a second time if we find no schemes.

Thank you for the clarification @finestructure!

That sounds great, I will adjust the list of document targets that we want to build documentation for and will merge the proposed changes in our main branch. Thank you for your help! 🚀