lucimber / meta-openjdk-temurin

This is a software layer for Java VMs, for use with OpenEmbedded and Yocto Project build systems. The binaries are provided by the Eclipse Temurin Project.
GNU General Public License v2.0
9 stars 4 forks source link

Store sstate of Bitbake as artifact instead of cache #9

Closed sebveit closed 6 months ago

sebveit commented 11 months ago

Caches on GitHub have some limitations that is contraproductive for the many-branches-approach of OE/Yocto.

Taken from https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows#restrictions-for-accessing-a-cache:

Access restrictions provide cache isolation and security by creating a logical boundary between different branches or tags. Workflow runs can restore caches created in either the current branch or the default branch (usually main).

Using artifacts on GitHub seem to be a better approach to this situation. See https://docs.github.com/en/actions/using-workflows/storing-workflow-data-as-artifacts

Must be evaluated...

sebveit commented 6 months ago

@ future me: artifacts serves a different purpose

Comparing artifacts and dependency caching

Artifacts and caching are similar because they provide the ability to store files on GitHub, but each feature offers different use cases and cannot be used interchangeably.

  • Use caching when you want to reuse files that don't change often between jobs or workflow runs, such as build dependencies from a package management system.
  • Use artifacts when you want to save files produced by a job to view after a workflow run has ended, such as built binaries or build logs.