Skip to content

Propagate hash updates for project dependencies#2510

Merged
plajjan merged 2 commits into
mainfrom
dep-api-change
Nov 5, 2025
Merged

Propagate hash updates for project dependencies#2510
plajjan merged 2 commits into
mainfrom
dep-api-change

Conversation

@plajjan

@plajjan plajjan commented Nov 4, 2025

Copy link
Copy Markdown
Contributor

Properly read .ty headers from project dependencies in order to perform staleness analysis of files. Rather naively, the initial implementation only looked at project local files and crucially did not error out on not finding a hash, so a missing .ty header would be considered no change and thus failing to update on changes in dependencies. This is now addressed!

mzagozen and others added 2 commits November 4, 2025 12:06
This test verifies that the compiler correctly detects when a dependency
public API type signatures change (via hash changes) and triggers
recompilation of modules that use the dependency.
I made a crucial mistake in my implementation of reading iface hashes
from .ty header files of imports - if we couldn't find the .ty file,
we'd consider it "not changed" - how wreckless of me. If we cannot find
the .ty file, clearly that should be an error... and now we actually go
through the search path looking for the .ty file, like we do in other
places where we access .ty files.

I basically wrote the .ty freshness check based on projects without any
dependencies. Now we properly support project deps!
@plajjan plajjan merged commit d02a160 into main Nov 5, 2025
99 of 101 checks passed
@plajjan plajjan deleted the dep-api-change branch November 5, 2025 07:02
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