Summary
CocoaPods publishing is very brittle, in the sense that the process runs everything, and a test of the framework before actually publishing. There are multiple potential points of failure.
We've moved external executable calls to providers.exec to support Gradle configuration cache. However, when those calls fail, Gradle does not log the error, and there is no way to get access to it. This makes debugging issues extremely difficult.
Possible Fix
Gradle provides a more complex method to execute code safely in the context of configuration cache using a ValueSource. We should move pod calls to use a ValueSource if possible in our case.
https://docs.gradle.org/current/userguide/configuration_cache.html#config_cache:requirements:external_processes