Skip to content

Perform clear and official split into phases so caching is possible #40

Description

@ivucica

Some build steps can be cached.

Some preconfiguration of the host machine can be stored in a container image. (If I recall correctly, the GH Actions runner itself is a container: preinstalling packages on occasion, and saving the container image, can greatly speed up iteration on individual PRs).

Prerequisite for such caching of build results is to split things up into phases that can be run from the main script via an argument.

The phases need to be at minimum:

  • machine configuration (so we can archive the builder environment at that point: install of clang, cairo, ...)
  • artifact-cachable phases (so we don't necessarily start from scratch -- but only if we can guarantee reproducibility)

Then CI can invoke these as multiple steps, and on end-user machines, the script can default to running all phases in order.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions