Skip to content

Conversation

@polac24
Copy link
Collaborator

@polac24 polac24 commented Apr 9, 2023

Add an extra feature (still in the experimental phase) to exclude XCRemoteCache in some SDKs.

e.g. to disable XCRemoteCache for watchOS, a developer can either

  • pass --sdks-exclude "watchos*, watchsimulator*" to the xcprepare integrate command or
  • set 'exclude_sdks_configurations' => ["watchos*", "watchsimulator*"] to the xcremotecache configuration in Podfile

Implementation

This PR includes:

  • Allows disabling remote cache in pre_build with build setting XCRC_DISABLED = YES. This ensures the rebuild script will not unnecessarily download an artifact (if a matching one exists on a remote server) which will not be used. Same for post_build (not not unnecessary upload artifacts) and marking (to not mark artifacts are available).
  • Introduces --sdks-exclude param to the CLI integration, which (in the project integration) overrides all XCRC-related params to "" for all SDK configurations listed in an argument
  • ^ the same for the cocoapods integration with exclude_sdks_configurations configuration.
  • To verify the cocoapods integration (it is the most commonly used scenario), an extra test scenario is added which 1) disables XCRC for "iPhone" SDK and expects 0 hits and 0 misses, 2) disables XCRC for the "WatchOS" SDK and expects 100% hit rate (keep in mind that we build an iPhone app in the test)

@polac24 polac24 changed the title Add support for exclude sdks Add support for excluded sdks Apr 9, 2023
@polac24 polac24 merged commit baea2de into spotify:master Apr 11, 2023
@polac24 polac24 deleted the exclude-sdks branch April 11, 2023 02:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants