Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve usage of ccache to speed up builds #396

Open
wants to merge 14 commits into
base: master
Choose a base branch
from

Commits on Oct 19, 2017

  1. build : Revise setupccache() and add provide_ccache()

    Improvements:
    * allow to mount a directory from worker's host OS as the /.ccache/ in the build root, so cache can be shared (including over NFS; tested for an ARM+AMD64 farm)
    * use a /.ccache-bin/ rather than /var/lib/build/ccache/bin (easier to clean out)
    * more reliably test for presence of compilers where absolute symlinks are used in build root (e.g. debian alternatives)
    * allow fallback use of a ccache binary provided by the worker's host OS
    * in case of cleanup, hit not only compiler basenames but also possible suffixes (arch, version, etc.)
    jimklimov committed Oct 19, 2017
    Configuration menu
    Copy the full SHA
    3ab32f4 View commit details
    Browse the repository at this point in the history
  2. build : help debug ccache usage in the common logfile

    If ccache was used in this build, optionally display its log in the end of build, so packagers know better if their recipes need to be tuned to take advantage of ccache (tune relative paths to source, etc.)
    This should be enabled either via command-line arguments to "build", or caller can also enforce this via envvars (e.g. /etc/sysconfig/obs-worker file) with `export DO_CCACHE_STATISTICS=1`
    jimklimov committed Oct 19, 2017
    Configuration menu
    Copy the full SHA
    9c816e1 View commit details
    Browse the repository at this point in the history
  3. build-recipe-preinstallimage build-recipe-simpleimage : do not includ…

    …e ccache artefacts into produced images
    jimklimov committed Oct 19, 2017
    Configuration menu
    Copy the full SHA
    ec60789 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    38db1cd View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    1a429a6 View commit details
    Browse the repository at this point in the history
  6. build : revert from NO_CCACHE_STATS inverse envvar to PROFILE_CCACHE_…

    …STATS that can be used to enable details while sourcing configs (e.g. via worker setup)
    jimklimov committed Oct 19, 2017
    Configuration menu
    Copy the full SHA
    477c72a View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    6bea0fb View commit details
    Browse the repository at this point in the history
  8. build : make ccache logging an optional feature - it has overheads; a…

    …lso pre-create the /.build.log.ccache and chown it to abuild user
    jimklimov committed Oct 19, 2017
    Configuration menu
    Copy the full SHA
    0ee7409 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    9d17f0d View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    85a1791 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    44f5fa7 View commit details
    Browse the repository at this point in the history

Commits on Nov 1, 2017

  1. Configuration menu
    Copy the full SHA
    c9c85f5 View commit details
    Browse the repository at this point in the history

Commits on Nov 6, 2017

  1. Configuration menu
    Copy the full SHA
    9268f20 View commit details
    Browse the repository at this point in the history

Commits on Apr 12, 2018

  1. Configuration menu
    Copy the full SHA
    50462df View commit details
    Browse the repository at this point in the history