Continuous integration
Resolve packages from the registry in CI — faster builds and no Git clones.
Register the registry
Add a step that points SwiftPM at the registry before resolving.
bashswift package-registry set https://registry.swiftregistry.ioAuthenticate for private packages
Read a registry token from a CI secret through stdin. It is stored in netrc (0600) and never printed — public packages skip this step.
bashprintf '%s' "$SWIFTREGISTRY_TOKEN" | swiftregistry login --token-stdinResolve
Resolve as usual. SwiftPM downloads cached, checksum-verified artifacts from the registry instead of cloning Git repositories.
bashswift package resolve
Pass the token through stdin (or SWIFTREGISTRY_TOKEN), never as a command argument, so it never appears in CI logs or the process list.