Skip to content

Conversation

@zelosleone
Copy link
Collaborator

@zelosleone zelosleone commented Jun 14, 2025

as per CEP from https://gist.github.com/wolfv/1a160129eb7ba7ccaab51fdf25d7e89b

  • Build scripts are explicitly required in cache outputs.
  • We are using experimental flag for this feature.
  • I didn't delete the old top-level cache yet, i think that would break a lot of recipes. So I decided to support both approaches while allowing backwards compatibility.
  • Child outputs can override specific cache settings while inheriting others
  • There is a topological ordering for cache outputs to correctly resolve inheritance orders.
    Example:
A --> B
A --> C
B --> D
C --> D

So when D depends on both B and C (which both depend on A), we ensure A is processed first, then B and C, then lastly D.

  • We inherit run_exports by default, but can be disabled.
  • Requirements are not inherited by default, but can be enabled.
  • Build and about sections are merged.
  • Build scripts on the other hand are never inherited.
  • From the CEP, there is an optional path taking with Fast-path optimization check but I just implanted that too, because it's actually nice. if an output inherits from a cache and has no explicit build script, we will skip environment setup and script execution entirely.

@zelosleone zelosleone requested a review from wolfv June 14, 2025 00:45
@zelosleone zelosleone marked this pull request as draft October 17, 2025 21:27
@zelosleone zelosleone marked this pull request as ready for review October 19, 2025 22:39
@zelosleone zelosleone force-pushed the parsing branch 2 times, most recently from c56de56 to e46b099 Compare October 20, 2025 00:01
@zelosleone zelosleone changed the title feat: implement cache output parsing and validation for v1 recipes as per CEP specification feat: implement multiple cache outputs and path optimization Oct 20, 2025
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.

1 participant