-
-
Notifications
You must be signed in to change notification settings - Fork 610
Tuist cache mismatch causing missing symbols #7555
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Some more notes and updates
|
I can confirm that this goes back to Tuist 4.34.3 (i.e. something between 4.33.0 and 4.34.3 caused this regression) |
Could this commit be the issue - link? |
It's definitively that commit. After that change, we use the information from the lockfile to determine the hash of a package target, but we forgot to include the hashes of its dependencies. In that particular fixture, |
What happened?
Working on a Tuist update we faced an issue building from cache.
It seems like there is an issue with caching mis-match transitive external dependencies.
This repo shows the issue, and state the steps and version to use to reproduce it.
I didn't pin point the exact version regression, but I can say that with Tuist 4.33.0 it is not reproducible.
I suspect some change between Tuist 4.34.0 - 4.39.1 caused it but it also could be later
How do we reproduce it?
Follow up on the README of this repo
But if you want all the steps here they are:
git clone https://github.com/danibachar/TuistCacheMismatch
cd TuistCacheMismatch
tuist clean
for a clean cached environmenttuist install
tuist generate
tuist cache
. This command should cache all the external dependencies of the project (Datadog, and DatadogProxy), locallytuist generate
. The generated app should link against the cached binaries, and not generate projects for the external dependencies (i.e. you should not see theDependencies
folder)tuist edit
Tuist/Package.swift
and change the Datadog SDK version to2.26.0
tuist install
tuist generate
Dependencies
folder)tuist cache
tuist generate
It seems like either Tuist has issue with the hashing of the cached binaries and it mixes cache. Or alternatively, it has a caching issue, and it caches the Proxy library with the wrong version of Datadog SDK.
Error log
Build error in Xcode
macOS version
15.4.1
Tuist version
4.48.2
Xcode version
16.1
The text was updated successfully, but these errors were encountered: