I am not sure if it's right to automatically checkout submodules for the root package. In general, SwiftPM avoids performing git operations on the root package (there might not even be a git repository).
An alternative solution might involve using URL rewriting provided in Git. We use this on developer machines to rewrite all SSH connections to HTTPS for GitHub to deal with restrictive proxies.
.netrc support being discussed here also: SPM support basic auth for non-git binary dependency hosts.
This is such a great solution/suggestion/workaround. For the first time my private SwiftPM dependencies resolve in my CI. A quick
before_script step in my GitLab CI configuration to call
git config and it works .
swiftpm_build: stage: build before_script: - "git config --global url.$CI_SERVER_PROTOCOL://gitlab-ci-token:$CI_JOB_TOKEN@$CI_SERVER_HOST/.insteadOf git@$CI_SERVER_HOST:" - swift package resolve script: - swift build -c release tags: - swift-5.0
Then the dark times...
xcodebuild? Because that's how you run SwiftPM tests on iOS. I do not make the rules. I just work here.
xcodebuild: stage: build variables: DESTINATION: platform=iOS Simulator,name=iPad Pro (9.7 inch),OS=10.3.1 before_script: - "git config --global url.$CI_SERVER_PROTOCOL://gitlab-ci-token:$CI_JOB_TOKEN@$CI_SERVER_HOST/.insteadOf git@$CI_SERVER_HOST:" - xcodebuild -resolvePackageDependencies script: - xcodebuild -enableCodeCoverage YES -scheme "$XCODE_SCHEME" -destination "$DESTINATION" build-for-testing tags: - swift-5.0 - iOS-10.3.1
Resolve Package Graph Fetching email@example.com:group/dependency.git Resolved source packages: SwiftPMProject: /Users/buildbot/SwiftPMProject xcodebuild: error: Could not resolve package dependencies: The repository could not be found. Make sure a valid repository exists at the specified location and try again.
xcodebuild does its own package resolution outside of Git.
So close to nirvana.
Regardless, thanks @monocularvision
xcodebuild should work here. By default, Xcode uses its own SCM subsystem for fetching packages, but this option makes it use the one in libSwiftPM, so it should behave similar to
swift build at that point.
@NeoNacho thank you; that did work.
Though for any intrepid reader that makes there way here. The
-usePackageSupportBuiltinSCM did not work on Xcode/
xcodebuild 11.3.1. On 11.3.1 when the tests are run apparently the dependency is not on the
It may work on some other version but I just jumped to 11.5.0 and it worked there.