gitpod-io/leeway

Builds using local build cache do not recognize changed dependencies

Closed this issue · 0 comments

Bug description

We are building gitpod for arm64. We use leeway. Whenever we change things in dependency components (like gitpod-db:lib or gitpod-protocol:lib), leeway builds the changes in those dependency components, but then gives the depender components the old built version from the cache instead of the newly built version.

Steps to reproduce

Set LEEWAY_BUILD_DIR and LEEWAY_CACHE_DIR to local paths, and disable remote cache.
Using gitpod-io/gitpod repo:
leeway build component/server:app

This should build.
Now, go into components/gitpod-db and change the name of any function relied on by server. E.g. search and replace "findRunningInstance(" with "findRunningInstanceX(" in gitpod/components/gitpod-db/src/workspace-db.ts

Now run leeway build component/server:app again.
Leeway notes that gitpod-db needs to rebuild, and rebuilds it. However, when it builds server:app, it builds it with old version of gitpod-db

Expected behavior

No response

Example repository

No response

Anything else?

I don't think this is an arm issue. We get it on x86 builds too