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

docker: enable more caching #10974

Merged
merged 7 commits into from
Oct 10, 2024
Merged

docker: enable more caching #10974

merged 7 commits into from
Oct 10, 2024

Commits on Oct 9, 2024

  1. docker/util.sh: disable docker cache for releases

    Add --docker-cache/--no-docker-cache parameters
    to the script, and default to --no-docker-cache
    when building releases.
    
    Having the on/off option defaults to
    the safe choice, but when explicitly passed,
    it's possible to do local experimentation
    with building the release image and
    benefitting from the cache.
    pjonsson committed Oct 9, 2024
    Configuration menu
    Copy the full SHA
    f055d34 View commit details
    Browse the repository at this point in the history
  2. docker/util.sh: tweak help output

    Use a colon like the other lines.
    pjonsson committed Oct 9, 2024
    Configuration menu
    Copy the full SHA
    c0fd66f View commit details
    Browse the repository at this point in the history
  3. docker/util.sh: define one BUILD_ARGS

    The BUILD_ARGS array is mostly the same
    for both branches, so hoist the definition
    and append the unique parts inside each
    branch.
    pjonsson committed Oct 9, 2024
    Configuration menu
    Copy the full SHA
    f6de2d0 View commit details
    Browse the repository at this point in the history
  4. docker/util.sh: add --no-rsync-daemon

    Enable building without the rsync daemon.
    
    This is preparation for being able
    to use ccache and Docker caching
    without syncing with the home directory.
    As a bonus, no rsync daemon means
    the build can use the default network
    instead of host, so more encapsulation.
    pjonsson committed Oct 9, 2024
    Configuration menu
    Copy the full SHA
    dbc7971 View commit details
    Browse the repository at this point in the history
  5. docker: decouple rsync & ccache logic

    Permit building images with ccache
    and caching inside Docker, but
    without syncing the cache to the home
    directory.
    pjonsson committed Oct 9, 2024
    Configuration menu
    Copy the full SHA
    a9a0793 View commit details
    Browse the repository at this point in the history
  6. docker: install ccache+rsync early

    Hoist the installation of ccache and
    rsync into one of the early blocks
    in all images. This ensures that
    the ccache binary is available
    for everything built.
    pjonsson committed Oct 9, 2024
    Configuration menu
    Copy the full SHA
    dfef18d View commit details
    Browse the repository at this point in the history
  7. docker/ubuntu-*: cache deb lists+packages

    Use the docker cache for package lists
    and deb files. This avoids updating
    the same lists multiple times in
    the same build, and enables consecutive
    builds to install packages without
    downloading them from internet.
    pjonsson committed Oct 9, 2024
    Configuration menu
    Copy the full SHA
    7f11471 View commit details
    Browse the repository at this point in the history