Bzomak / oolite-msys2

Builds oolite from scratch
0 stars 0 forks source link

A change to the workflow file won't update the caching of the build dependencies. #31

Closed Bzomak closed 5 months ago

Bzomak commented 5 months ago

The cache keys currently hash the dependency folders. If there is no update within them then the cache will not be rebuilt, even if we change the build methodology within the workflow.

The workflow file should probably be hashed as part of the cache key. This will have false positives during development as a change to one dependency's build process would cause all dependencies to be recompiled.

Reuseable workflows would be useful here as the workflow for each individual dependency could be cached. However, there are limitations on the number of reuseable workflows allowed within a workflow run, and tools-make, needed for both libs-base and Oolite, would be run twice simultaneously.

Bzomak commented 5 months ago

Given the ambition of the project (building all possible versions of Oolite on all platforms) and the limitations on the number of reuseable workflows, it would probably be best to take the hit on using the workflow as part of the cache key. Once the development process has stabilised, there should be limited changes to the workflow file, and potentially caches could expire between runs anyway - they are there as a speed-up boost, but not as a requirement for Oolite to be built!